2011年9月8日木曜日

Ubuntuでキーカスタマイズ

私のPCのキーボードはいくつかのキーが反応しなくなったために、キーを入れ替える必要がある。「Ubuntu キーボード 変更」で検索するとCtrlとかWindowsキーの入れ替えについてはたくさんドキュメントが出てくるのだが、肝心の個別のキー入れ替えについてはあまり出てこなかった。しばらく探してようやく見つけたLento ma non troppo  Ubuntu キーカスタマイズを参考にキーボードを入れ替えた。その備忘録。

keycodeの取得


GNOME端末を起動し
[bash]
$ xev
[/bash]
を実行。すると小さなウィンドウが出てくる。変更したいキーを押すと
[text]
KeyRelease event, serial 36, synthetic NO, window 0x4600001,
root 0xb2, subw 0x0, time 5490328, (-486,266), root:(158,319),
state 0x0, keycode 111 (keysym 0xff52, Up), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
[/text]
のような結果が出力されるのでこのkeycodeをメモしておこう。

keyeventの取得


[bash]
$ xmodmap -pke | grep 111
keycode 111 = Up NoSymbol Up
$ xmodmap -pke | grep 113
keycode 113 = Left NoSymbol Left
[/bash]
この Up NoSymbol Up などがkeyeventだ。

.xmodmap ファイルの作成


ホームディレクトリに .xmodmap ファイルを作成する
[bash]
$ vi ~/.xmodmap
[/bash]
そのファイルに[keycode] = [keyevent]という形で記述し保存すれば良い。例えばUpキーとDownキーを入れ替えるには
[text]
keycode 111 = Down NoSymbol Down
keycode 114 = Up NoSymbol Up
[/text]
と記述する。

設定を反映


[bash]
$ xmodmap ~/.xmodmap
[/bash]
これでUpキーとDownキーが入れ替わった。

ログイン時の自動キー設定読み込み


ホームディレクトリに .xinitrc ファイルを作成し
[bash]
$ vi ~/.xinitrc
[/bash]
以下のように記述する。
[text]
xmodmap $HOME/.xinitrc
[/text]

0 件のコメント:

コメントを投稿