Debian用キーレイアウト変更.Xmodmapファイル

カーソル周り

このところ、ちょこちょことGemini PDAのLinux(Debian)をいじっています。Androidでは、キー変更を行っていたので、同じキーマップになるようにしました。

しました、とは言ってもlinuxではそれほど面倒なことではありません。xmodmapというキーマップ変更するためのプログラムがあるので、それを使います。

まずはデフォルトのキーマップを得るために

$ xmodmap -pke > hoge.txt

とします。これで、現在マッピングされている全てのキーコードが出力されました。次に、xevというプログラムで、変更する各キーのコードを調べます。今回は、マイナスとバックスラッシュの入れ替えと、カーソル周りなのでそれぞれ入れ替えるキーを調べました。先ほどの一覧から該当する箇所を抜き出して変更していきます。

まずは、マイナスとバックスラッシュから変更します。

keycode  32 = o O o O minus Oslash minus
keycode  48 = backslash bar backslash bar colon dead_acute colon

これのbackslashminusをそっくり入れ替えます。

keycode  32 = o O o O backslash Oslash backslash
keycode  48 = minus bar minus bar colon dead_acute colon

次に、カーソル周り。こちらはキーの入れ替えなのでkeycodeの後ろのコード番号自体を入れ替えれば問題ないはずです。

keycode  59 = comma slash comma slash XF86Option multiply XF86Option
keycode  60 = period question period question U263A dead_tilde U263A
keycode 111 = Up Up Up Up Prior Prior Prior
keycode 113 = Left Left Left Left Home Home Home
keycode 116 = Down Down Down Down Next Next Next

これを

keycode  60 = comma slash comma slash XF86Option multiply XF86Option
keycode 111 = period question period question U263A dead_tilde U263A
keycode 116 = Up Up Up Up Prior Prior Prior
keycode  59 = Left Left Left Left Home Home Home
keycode 113 = Down Down Down Down Next Next Next

このように変更します。2つを合わせて.Xmodmapという名前で保存します。できたファイルの中身は、下記になります。

! .Xmodmap for Gemini
! backslash to minus, and arrow 1 line
!
keycode  32 = o O o O backslash Oslash backslash
keycode  48 = minus bar minus bar colon dead_acute colon
keycode  60 = comma slash comma slash XF86Option multiply XF86Option
keycode 111 = period question period question U263A dead_tilde U263A
keycode 116 = Up Up Up Up Prior Prior Prior
keycode  59 = Left Left Left Left Home Home Home
keycode 113 = Down Down Down Down Next Next Next

使う方は、上のテキストをコピペして.Xmodmapとして保存すればOKです。で、これをホームディレクトリにでも置いて、読み込みます。

$ xmodmap ~/.Xmodmap

ディレクトリとかファイル名は適宜、読み替えてください。これで、マイナスとバックスラッシュの変更、およびカーソル周りが一列になった、トップ画像と同じキーレイアウトになったと思います。

実は、ここから先の日本語入力環境(fcitxなど)には、まだ手を付けていません。Ibusとかfcitxとかを入れると、キーレイアウトを横取りしちゃうようなのですよね。fcitxは、どっかのバージョンから.Xmodmapを参照するとかそういうのがあった記憶もあるのですが…時間なくて、今日はここまでです。なんか、トイレ行って、お尻拭かないでパンツ履いちゃった感もありますが、続きはまた書きます!(たぶん!)