SVX日記
2008-06-03(Tue) Fedora9、キーボードチューン
その前に、ちょっと失敗だったのは、昨晩、アップデートを開始してから寝なかったこと。リリースされたばかりのFedora9だが、山のようにアップデートが出ている。何も考えず、GUI環境から「開始」を押せばアップデートできるのだが、これまたコンパクトフラッシュ環境では1〜2時間が必要なのだ。基本的に大量のライトアクセスが発生している状況下では、マトモに操作できなくなる、と考えておいた方がいい。フロッピーディスクを使っているつもりになっておく必要があるだろう。ガコガコとはいわないけれど。
さて、まずはキーボードの配列。X40で、しかも、英語キーボードだから、イジるところがないかといえばさにあらず。CapsLockの位置へのCtrlの配置は当然ながら、遙か彼方のエスケープキーもどうにかせねばならない。オイラは普段FKB8579を愛用しており、いわゆるHHKの「ちょっと変態な英語配列」が好みなので、右上周辺も少しイジる必要がある。
こーゆーのはxmodmapあたりでどうにかするのが一般的だろうが、オイラはもっと根本から変更する。「/usr/share/X11/xkb/keycodes/xfree86」を書き換えるのだ。変更点は以下の通り。
raven.itline.jp:/usr/share/X11/xkb/keycodes # diff xfree86.org xfree86
14c14
< <BKSL> = 51;
---
> <BKSL> = 22;
23c23
< <TLDE> = 49;
---
> <TLDE> = 67;
37c37
< <BKSP> = 22;
---
> <BKSP> = 51;
54c54
< <CAPS> = 66;
---
> <CAPS> = 109;
83c83
< <RCTL> = 109;
---
> <RCTL> = 66;
90,91c90,91
< <ESC> = 9;
< <FK01> = 67;
---
> <ESC> = 49;
> <FK01> = 9;
しっかし、ThinkPadは「7列フルサイズ・キーボード」や「心地よいクリック感」などとエバっているけど、オイラはそれほど評価しないなぁ。今まで使っていたLavieAのキーボードの出来に非常に満足しており、その柔らかめのキーに慣れてしまっているからかもしれないが、それはさておいても「7列」は、正直うっとおしいわ。そんな遠くのキーなんて一生押しゃしねぇだろうから、あるだけ邪魔だし。
ThinkPadでは、左上から「Esc」「F1」「~`」という配列だが、上記の設定では、これを「F1」「~`」「Esc」という配列に変更している。見た目的にF1の位置がかなり異常になるが、使用頻度からしてそうせざるをえない。やはり、無理に「7列」なんかにしないで「Esc」「F1」「F2」……と並べるのが自然だと思うけどね、オイラは。「Esc」キーは、パンピーだってよく押すでしょ。
以上はX上での設定。使用頻度は低いがコンソール上の方も変更しておこう。こっちは全然違うファイルへの設定が必要。「/lib/kbd/keymaps/i386/qwerty/us.map.gz」だ(英語キーボードの場合)。gzip圧縮がかかっているので、一度gunzipして、以下のように修正して、gzipで再圧縮する。
raven.itline.jp:/lib/kbd/keymaps/i386/qwerty # diff us.map.org us.map
10c10
< keycode 1 = Escape
---
> keycode 41 = Escape
26c26
< keycode 14 = Delete
---
> keycode 43 = Delete
37,38c37,38
< keycode 41 = grave asciitilde
< control keycode 41 = nul
---
> keycode 59 = grave asciitilde
> control keycode 59 = nul
40,41c40,41
< keycode 43 = backslash bar
< control keycode 43 = Control_backslash
---
> keycode 14 = backslash bar
> control keycode 14 = Control_backslash
51c51
< keycode 58 = Caps_Lock
---
> keycode 97 = Caps_Lock
53c53
< keycode 97 = Control
---
> keycode 58 = Control
F1キーは、別途includeされる「/lib/kbd/keymaps/i386/include/linux-keys-bare.inc」で定義されているので、こっちも変更が必要。なぜかこっちはgzip圧縮されてないので、そのまま書き換えればいい。一応、バックアップをとってからのがいいぞ。
raven.itline.jp:/lib/kbd/keymaps/i386/include # diff linux-keys-bare.inc.org linux-keys-bare.inc
21c21
< plain keycode 59 = F1
---
> plain keycode 1 = F1
33c33
< shift keycode 59 = F13
---
> shift keycode 1 = F13
45c45
< control keycode 59 = F25
---
> control keycode 1 = F25
66c66
< alt keycode 59 = Console_1
---
> alt keycode 1 = Console_1
78c78
< control alt keycode 59 = Console_1
---
> control alt keycode 1 = Console_1