Thinkpadのキーボード配列をHHKB風にしてみた(Fcitx)
初の英字キーボードにも関わらずHHKB無刻印モデルを買うという暴挙から2週間…今では手放せない存在と感じるまでになった、HHKB。となると当然ノートPCも慣れた配列で使いたいという欲が出てきますね。まあLinuxだし昔やったことあるし簡単に済むだろ…と思ったら案外ハマったので、備忘録として書いておこうと思います。
PFU Happy Hacking Keyboard Professional2 Type-S 白/無刻印(英語配列)
- 出版社/メーカー: PFU
- メディア: エレクトロニクス
- クリック: 21回
- この商品を含むブログ (3件) を見る
環境
Thinkpad X1 carbon
OS:Ubuntu14.04
キーボード:US配列
IM:ibus
IME:Mozc
以下のような配列。
HHKBに近づけるために変えたいと思ったのは
- CapsLockと左のCtrlキーを入れ替える
- 右のbackslashキーとBackspaceキーを入れ替える
の2点。HHKBはAキーの左にCtrlキー、Enterキーの上にBackspaceキーがあるのです。
まずはxmodmap
まあ定番というか、昔やったことある方法。~/.Xmodmapに以下を書き込む。
keycode 51 = BackSpace keycode 22 = backslash bar keycode 37 = Caps_Lock NoSymbol Caps_Lock keycode 66 = Control_L NoSymbol Control_L clear Lock add Control = Control_L
あとは~/.bashrcに以下を書き込んで再起動すれば、キー入れ替えが有効になっているはず。
xmodmap .Xmodmap
ハマった点
上記手順をやってみると…キー入れ替えが有効になってる!よかったよかった…と思いきや!ibus-mozcをONにしてOFFにするとキー入れ替えが元に戻ってる!な、なんで…(T^T)
調べてみると、どうやらibusのバージョンアップで挙動が大幅に変わってしまったらしい。詳細は以下などを参照。
長年お世話になっているibusを捨てたくない一心でいろいろ調べてみるも、やはり無理そうとの結論に達しました。(XKBを使うべきみたいな記事?を見つけたのでいろいろやってみたけどうまくいかなかった。技術力低い)
Ctrl+Spaceが押されたらxmodmap .Xmodmapを実行するデーモンを常駐させればいいんじゃね?とかちらっと思いましたがそんなのいろいろ調べたりしなきゃ作れない上にあんまりスマートじゃないのでやめました。
IMを変える!
とすると、もうibusは捨てて別なのに移行するしかないなと思ったので調べたところ、uimというのとFcitxというのがmozcを使えそうなIMとして見つかりました。
結論からいうと、Fcitx、いいです。昔のibus-mozcのように思ったとおりの挙動を大体してくれます。まあ僕のようなライトユーザは大したこと要求しないのですが(笑)
導入方法は、以下を参考にしたりして適当に。
Ubuntu Fcitx その51 - Ubuntu 14.04でインプットメソッドフレームワークをIBusからFcitxに変更する - Ubuntu kledgeb
これでdefaultのIMをibusからfcitxにきちんと変えれば、xmodmapでの変更がちゃんと反映され(続け)ます。よかったよかった。
まとめ
ibusでxmodmap使えなくなったからキー配列いじりたい場合はfcitx使うと楽チン!
終わりに
fcitxってなんて読むんや…と思ってググったらどうやら「ファイティクス」っぽい?発音記号自信ない…。(Fcitxとは - Weblio辞書)
今回はxmodmap使いたいがためにいろいろ苦労しましたが、将来的にxmodmapは使わない方針のようですね。古い技術にしがみついてないで次行きましょう次。(自分への戒め)