CTRLとCAPSの替え方

Windows PC で採用されているキーボードでは,左 CTRL キーが押しにくい位置に配置されており,emacs などの CTRL キーを多様するソフトウエアでは非常に操作がしにくいです.この記事では,左の CTRL と CAPS とを入れ替えて,左 CTRL を使いやすくする方法を説明します.

Windows の場合

以下のようにします.

  1. 以下のレジストリファイルをダウンロードし,ダブルクリックします.
  2. 「レジストリに追加しますか?」と聞かれるので,「はい」を選択します.
  3. ログオフして下さい.
  4. 左の CTRL と CAPS とが入れ替わります.

元に戻すには,以下のようにします.

  1. レジストリファイルをダウンロードし,ダブルクリックして下さい.
  2. 「レジストリに追加しますか?」と聞かれるので,「はい」を選択します.
  3. ログオフして下さい.
  4. CTRL および CAPS は元に戻ります.

X-Window の場合

以下のようにします.

  1. /etc/X11/XF86Config (もしくは,/etc/X11/{XF86Config-4|xorg.conf}) をエディタで開きます.
  2. 以下のようなセクションを探します.
    Section "Input Device"
      Identifier  "Keyboard0"
      Driver      "Keyboard"
      XkbLayout   "jp"
      XkbModel    "jp106"
    EndSection
  3. セクション内に,以下の例で示す行を追加します.
    Section "Input Device"
      Identifier  "Keyboard0"
      Driver      "Keyboard"
      XkbLayout   "jp"
      XkbModel    "jp106"
      XkbOptions  "ctrl:swapcaps"    # ←この行
    EndSection

Linux コンソールの場合

ディストリビューションにより,キーマップ定義ファイルの置き場所が異なります.
(Vine Linux の場合 /usr/lib/kbd/keymaps/i386/qwerty/ 以下に jp106_Ctrl_CAPS.kmap.gz などがあります。)

  • Turbolinux, Vine Linux の場合
    • 日本語キーボードの場合
      /usr/bin/loadkeys jp106_Ctrl_CAPS
    • 英語キーボードの場合
      /usr/bin/loadkeys us_Ctrl_CAPS

これらの設定は、再起動するともとに戻ってしまうため /etc/sysconfig/keyboard に

KEYTABLE="jp106_Ctrl_CAPS"

などと書いておきます。

Solaris (X-Window) の場合

研究室にある SunBlade150 には、Type 6 日本仕様 カントリーキット/USB 日本語キーボード(アルファベット+かな/JIS 配列)が繋がっているものがあります。 この日本語キーボードは一般的なPC用キーボードと同じく、"A" の隣は "Caps Lock"となっています。

/usr/X/share/etc/keytables/ 以下にある Japan6.kt.Z を変更することで、"Ctrl" と "Caps Lock"を入れ替えることができます。

作業ディレクトリに移動して、keytable ファイルをコピーします。

$ cd /tmp/
$ cp /usr/X/share/etc/keytables/Japan6.kt.Z .
$ uncompress Japan6.kt.Z

解凍してできた、Japan6.kt を以下のように変更します。

$ diff Japan6.kt.orig Japan6.kt
78,79c78,81
< lock  57                      # CapsLock
< control       224                     # Control
---
> # lock        57                      # CapsLock
> # control     224                     # Control
> lock  224                     # CapsLock
> control       57                      # Control
238c240
< 57    NP      XK_Caps_Lock
---
> 57    NN      XK_Control_L
294c296
< 224   NN      XK_Control_L
---
> 224   NP      XK_Caps_Lock

圧縮して

$ compress Japan6.kt

できたファイルがこれです。

元のファイルと入れ替える。

$ cd /usr/X/share/etc/keytables/
$ sudo mv Japan6.kt.Z Japan6.kt.Z.orig
$ sudo cp /tmp/Japan6.kt.Z  ./

いったんログアウトすると、反映されているハズ。

なお、コンソールの場合には /usr/share/lib/keytables/ 以下をいじればいいらしい。

x86版 Solarisでは

を使います。


添付ファイル: fileJapan_x86.kt.Z 949件 [詳細]
fileJapan6.kt.Z 841件 [詳細]
fileunset_ctrlswapcaps.reg 4096件 [詳細]
filectrlswapcaps.reg 8029件 [詳細]

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: Thu, 19 May 2005 13:27:30 JST (1727d)