Emacs
xcape
日本語入力
Altキー

Linuxで英語キーボードのAltを変換・無変換にする

More than 1 year has passed since last update.


概要

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 はログイン時に自動的に動かしたいですね。そこはうまいこと設定してください。