概要
Debian 上の Emacs でAltキーで日本語入力のオンオフをするために xcape というツールを導入して、右Alt 空打ちを「変換」、左Alt空打ちを「無変換」キーとなるようにした。
やりたかったこと
ノートパソコンを新しくするときになんとなく英語キーボードを選んでしまった。日本語キーボードのときは「変換」キーと「無変換」キーで日本語入力をオンオフしていた。Windows だとalt-ime-ahk という素晴らしいソフトで Alt キー空打ちで日本語入力を切り替えることができた。これを Linux とかでも実現したい。
やったこと
Fcitx
Fcitx だと、「設定」ー「全体の設定」で「拡張オプションの表示」のチェックボックスをチェックすると入力メソッドのオンとオフにそれぞれ右Alt と左Altを設定できる(ついでに入力メソッドのオンオフも Alt-` に変更しておくのがすすめ)。Fcitx を使う場面では、これでOK。かんたん。
FireFox を使うなら Alt キーでメニューが出ないようにすると使いやすい。こことか参照。
Emacsのために
でも、Emacs はFcitx は使わないから(だってインライン入力できないんだもん)、このままではダメ。
そこで google 先生に聞いたところ、xcape なるツールをつかうとできそうなことがわかった。
修飾キーの空打ちを別のキーにしてくれるツールらしい。
xcape導入
Debian とか Ubuntu だとパッケージがある。
$ apt-get install xcape
さくっとインストールした。キーコードがわからないと設定できないので、
$ xmodmap -pke |grep Alt
などとして右Altや左Altのキーコードをしらべておく。そして xcape の設定。
$ xcape -e '#64=Muhenkan;#108=Henkan_Mode'
左Altがキーコード64、右Altがキーコード108、「無変換」は「Muhenkan」、「変換」は「Henkan_Mode」(なぜが Mode がつく)だった。
これを実行すると常駐してキーを監視してくれる。これで Alt キーの空打ちは「変換」「無変換」、何かのキーと一緒に押せばちゃんと修飾キーとしてき働く(M-xとか)。すばらしい。
Emacs の設定
mozc.elを使う。何もしないと何も起きないっぽいので、こちらからありがたくコードを頂戴して init.el にコピペ。
めでたく、右Alt と 左Alt で日本入力をオンオフできるようになりました。
あとがき
Debian とか楽ちんですね。
あ、xcape はログイン時に自動的に動かしたいですね。そこはうまいこと設定してください。