買ってきたキーボードに合わせて、メインマシンのキー配列を色々変更した。環境はDebian sarge。
ログイン時や非X環境では日本語は使わないからそのへんは気にしない。ただ、今はJIS配列なのを最低限US配列ではあってほしいのと、それからCapsLockはControl_Lにしたい。この時点でのキー配列は/etc/init.d/keymaps.shで設定されてて、中を見てみるとloadkeysが使ってるデータを直せばいいらしい。
まずは、kbdconfigで楽をする。
# kbdconfig Warning: kbdconfig is now a wrapper for 'dpkg-reconfigure console-data'
これで、メニューにしたがって設定してUSキーボードにあわせた設定の/etc/console/boottime.kmap.gzを作る。
それから、作られたファイルを展開して、CapsLockのところをControlに置き換えた。
KDEキーボードツールの設定で、
にしてしまった。「コマンド」欄を見ると、これでこういうことになるらしい。
$ setxkbmap -model pc104 -layout us -variant basic
その上で、
$ xmodmap -pke して出力したマップファイルを編集して好みに仕上げていく。
CapsLockをControl_Lは既になってる。それから、このキーボードだとHome, PgUp, PgDn, Endがメインのキー部分にひっ付いてて邪魔。特に、Backspaceの横にHomeがあるので偶に指が滑ってHomeも押してしまう嫌だ。そういうわけでこれらのキーのコードには割り当てを解除。
あと、このキーボードだと、Spaceの左、Altの横にもう一つのbackslashキーが付いてる。キーコードは94で、 二段目の一番左に付いてるやつの51とは違うらしい。ここでbackslashを入力はしないだろうし、後述のことを考えてHyper_Lにしてみた。
そういうわけで、これを適当なところに保存して、.xsessionsの中からxmodmapするようにした。
あとはなー。Shift_Rってどうせ使わないんだよね。これEnterにしちゃおうかな。shellやWikiでセミコロンは結構使うから、これをEnterにする勇気はない。
入力にはuim + anthyを使ってる。まず、MacBookでCommand + Spaceによる日本語入力On/Offに慣れてしまったので、さっきSpaceの左のbackslashをHyper_Lにしておいたのを利用する。uimのページを参考にして、generic-on-key, generic-off-keyに"<Hyper> "を設定した。
それから、/usr/share/uim/japanese-kana.scmから~/.uimへ仮名の割り振りをコピーしてきて、多少変更を加えた。かな入力ですが、それが何か? 私の世代だと完全にローマ字入力が普通だから驚かれることも多いけれど、古い日本語ワープロ専用機でタイプを覚えたから、ローマ字入力もできるけれどかな入力の方が速いのだ。
US配列のせいで記号類がJISと異なるので、それらをUS配列に合わせてマップしなおして、それからいくつか。それで、こんな感じになった。
Debian sidでX上でanthyでASCII配列のキーボードでOSXライクな仮名入力
http://ujihisa.nowa.jp/entry/58eed73003
(nowaからはtrackbackを送れないのでコメントにて失礼します)