« 勝間式「利益の方程式」 ─商売は粉もの屋に学べ!─ 勝間 和代 | メイン | 例解UNIXプログラミング教室 - 冨永和人、権藤 克彦 »

2008年6月28日

キーマップの変更方法

?u?b?N?}?[?N???B???

Caps Lockキーって使ったことあります?使わないのに、非常にいい場所にありますよね。そのくせよく使うCtrlキーとかはちょっと遠い配置になってます。vimやemacsといったプログラマがよく使うエディタではこのCtrlキーを非常によく使います。

そのため、大抵のプログラマはキーは一をいじって、ここら辺のキーの入れ替えをしてます。今回は素の方法を簡単に紹介。

ちなみに、まわりを見る限り、CtrlとCaps Lockを入れ替えている人が多いような気がします。個人的には、さらにEscキーも入れ替えてしまって、
Ctrl -> Esc
Caps Lock -> Ctrl
Esc -> Caps Lock
にするのがおすすめデス。これは、viを使っていると非常によくEscキーを使うのですが、これが非常に遠くて使いにくいためです。

Windowsでの変更方法

Windowsでキーマップをいじるには、レジストリを直接いじる必要があります。ただ、よく知らないのに直接レジストリをいじるのはとても危険です。

幸いなことに、フリーソフトでキーマップを変更するようなソフトがいくつかあります。色々使い比べて見るのがいいんじゃないかと思います。なお、レジストリ変更系は、ソフトをアンインストールしただけでは元に戻らないのが普通なので、注意が必要です。

取り合えずこれあたりがいいんじゃないでしょうか?
KeySwap for XP(WindowsNT/2000/XP/Vista / ユーティリティ)

Linux (debian) での変更方法

Linux(debian)の場合はもう少し直接的にいじれるようになっています。GUI部分での変更とターミナル上での変更両方があります。

まずはGUIでの変更。GNOMEでは、「システム -> 設定 -> キーボード」のキーボードの設定中で、「[レイアウト]タブ -> レイアウトのオプション」から設定変更ができます。ここから、「CapsLock key behavior」と「Ctrl key position」辺りをいじっておけばいいかと思います。

次は、ターミナルでの変更です。これには「xmodmap」を使って変更することになります。そのためには、まずそれぞれのキーの「キーコード」を知る必要があります。

キーコードを調べるためには「xev」を使います。ターミナル上でxevを実行すると、何かが開くと思います。この状態で、変更したいキーを押します。すると、その押したキーの情報が表示されます。
KeyRelease event, serial 33, synthetic NO, window 0x2e00001,
root 0x75, subw 0x0, time 6918335, (166,-15), root:(170,35),
state 0x4, keycode 66 (keysym 0xffe3, Control_L), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
たくさん出てきますが、そのなかのkeycodeとkeysymの部分をメモしておいてください。 次に、xmodmapに読み込ませる設定を書きます。これは.Xmodmapに書きます。次のように、それぞれのキーコードと、各キーを押したときに発行されるコードを対応付けます。
keycode 9 = 0xff36
keycode 37 = 0xff1b
keycode 66 = 0xffe3
これであとはxmodmapにこの設定を読み込ませるだけです。
xmodmap .Xmodmap
これで反映されると思います。

  1. ValueDomainからさくらインターネットへのドメインの移管
  2. xreaからさくらインターネットへのMovableTypeの移転
  3. UbuntuでCPANがエラー
  4. ThinkpadにUbuntu導入
  5. willcomを解約



トラックバック

このエントリーのトラックバックURL:
http://mtadmin.wcrawl.com/mt-tb.cgi/516

コメントを投稿

(いままで、ここでコメントしたことがないときは、 コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。 承認されるまではコメントは表示されません。 そのときはしばらく待ってください。)