「半角/全角」→「Esc」に、「Caps Lock」→「左Ctrl」にキーマップを変更する方法@(Ubuntu|Windows)
投稿者 おおかゆか
年代がバレそうだが、私が最初に触ったパソコンはPC-8801シリーズで、だから脳内のキーボードレイアウトもそれが元体験としての基準になっている。
仕事をしていたときにも、つい「そこでリターンキーを押して」とか口走ってしまい、「え、リターンキーって何ですか?」とか聞き返されて最近の子はリターンキーも知らんのかとつい愚痴りたくなったりもする。
まあ呼称とかはどうでもいいのだが、問題なのはキー配置。
PC/AT互換機の標準的なキーボードである「109日本語キーボード」では、PC98/88では「Esc」キーがあった場所が「半角/全角」になっていて「Esc」キーはそのはるか上方、「Ctrl」キーがあった場所にはデカデカと「Caps Lock」が居座り「Ctrl」キーはありえないほど遠方の左下に飛ばされてしまっている。
これはどうにもこうにも許しがたい。
「Esc」キーと「Ctrl」キーの配置については、Happy Hacking Keyboardが理想だと思う。
ならHHK使ってろよと言われるかもしれない。だがちょっと待ってほしい。
「Delete」キーが「Fn」キーを使わないと入力できないとかってアリなんだろうか。それほど頻繁に使うキーではないが、「Home」、「End」、ファンクションキーにしても同様。
さらにカーソルキーが変なところに押し込められてしまっている。
よって私としては、HHKに移行するには抵抗が大きい。
だから私はハードについては東プレのRealForce 89(※PS/2インターフェースでテンキーレス、さらにWindowsキーとAplicationキーもないタイプ。とっくの昔に販売停止)を使い、EscキーとCtrlキーについてはソフト的に配置を変更することにしている。
さらに言わせてもらえば、「109日本語キーボード」で上記の2つのポジションを奪ってしまっている「半角/全角」キーと「Caps Lock」キーであるが、これらの存在意義が果たしてあるのだろうか。
「半角/全角」キーについては、「Alt」キーとの同時押しがWindowsではIMEのOn/Off機能を持たされているが、自分はその機能を「変換キー」一発押しに置き換えているので普段「半角/全角」キーを押す機会が全くない。
そして「Caps Lock」キーについても、大文字だけで長い文章を書くというシチュエーションがここ十数年全くないので、これも使う機会がない。昔、BASIC(断じてVisualBasicではナイ。N88-日本語BASICという国産の由緒正しいBASIC)のプログラミングをしていたころは使っていたが、今となってはそれもない。
よって、この2つのキーは私にとって必要ないものなので、なくても一向に差し支えない。
ゆえに私がやりたいのは、キーの「入れ替え」ではなくキーの「上書き」である。結果、「Esc」キーと「左Ctrl」キーがそれぞれ2つずつ存在することになる。無駄に思われるかもしれないが、これはこれで便利なのだ。
キーの入れ替えについては説明してあるページも多いが、上書きについてはなかなかない。
ここではUbuntuとWindows XPの場合について、その方法を記しておく。
1. Ubuntuの場合
「Caps Lock」キーに「左Ctrl」の機能を持たせるだけなら、「メニュー」→「システム」→「設定」→「キーボード」→「レイアウト」→「Other Options…」で「キーボード・レイアウトのオプション」を開き、「Ctrlキーの位置」で「CapsLockをもう一つのCtrlにする」を選択すればいい。
しかしこの方法では、「Esc」キーについては設定ができないので、別の方法を採ることにする。
–
remove Lock = Caps_Lock
remove Control = Control_L
keysym Caps_Lock = Control_L
add Lock = Caps_Lock
add Control = Control_L
keycode 49 = Escape
–
を作成。
すぐに反映させたいなら、
を実行する。次回ログイン時に、

というダイアログウィンドウが表示されるので、「次回からこのメッセージを表示しない」がチェックされていることを確認して「+読み込む」「OK」で、それ以降は自動的にキーマップが変更されるようになる。
2. Windows XPの場合
「スタート」→「ファイル名を指定して実行」で「regedit」と入力してレジストリエディタを立ち上げる。
「\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\KeyBoard Layout」を開き、「Scancode Map」という新規のバイナリデータを作成して、その値を「00 00 00 00 00 00 00 00 03 00 00 00 01 00 29 00 1d 00 3a 00 00 00 00 00」にする。
(※値の意味はここを参照)

この後再起動すれば、「半角/全角キー」が「Escキー」に、「Caps Lockキー」が「左Ctrl」キーになる。
おまけ. Mac OS Xについて
MacではWindowsやLinuxで言う「Ctrl」キーは「コマンド」キーのことであり、「Ctrl」キーは別に存在する。
「Caps Lock」「Control」「Option」「コマンド」の4つのキーについては配置をカスタマイズできるが、「Esc」キーの配置を変更する方法は寡聞にして知らない。
ここでは、「Caps Lock」を「コマンド」キーに置き換える方法を記しておく。
「システム環境設定」→「ハードウェア」「キーボードとマウス」→「キーボード」→「修飾キー…」で、以下の画像のように設定する。

以上。
「Esc」キーの配置をカスタマイズする方法については、今後も調査を続行予定。



















Macだと定番はこれですかね。
ご参考まで。
http://pqrs.org/macosx/keyremap4macbook/index.html.ja