ibus-modeでIBusのON/OFFを任意のキーに設定する方法
IBusのトグルを任意のキーに設定する
EmacsではC-SPCはマークをセットするのに使いたい人が多いと思います。READMEにもありますが、~/.emacsに
;; Use C-SPC for Set Mark command (ibus-define-common-key ?\C-\s nil)
と書けばOKです。ただしこのままでは、全角/半角キーがないキーボードではIBusが使えなくなってしまいます。
ibus.elにはIBusをトグルするためのコマンドibus-toggleが用意されていますので、これを使って例えば
;; Toggle input status by alt + henkan (global-set-key [M-henkan] 'ibus-toggle)
とすると、alt+変換キーでIBusのON/OFFができるようになります。
追記(2010/06/07): ibus-anthy 1.3では、上記の設定だけではIBusにキーイベントを横取りされてしまうため、IBusのOFFが出来ません。alt+変換をプリエディット中にだけIBusに渡すように、次の設定を追加する必要があります。
;; Enable alt + henkan key only for preediting (ibus-define-common-key 'A-henkan nil) (ibus-define-preedit-key 'A-henkan t)
IBusのON/OFFを別々のキーで行う
ibus.elにはIBusのONまたはOFFのためのコマンドibus-enableとibus-disableがそれぞれ用意されています。例えば、変換キーでON、無変換キーでOFFにしたい場合は
;; Use henkan key to enable IBus (global-set-key [henkan] 'ibus-enable) ;; Use muhenkan key to disable IBus (global-set-key [muhenkan] 'ibus-disable) ;; Enable muhenkan key only for preediting (ibus-define-common-key 'muhenkan nil) (ibus-define-preedit-key 'muhenkan t)
とすればよいです。最後の2行は、プリエディット中にだけ無変換キーのイベントをIBus側に渡すようにするためのおまじないです。
エンジンを指定してIBusをONにする
ibus-enableは、引数にエンジン名の文字列を与えることによって、任意のエンジンでIBusをONにできます。例えば
;; Start IBus with pinyin engine (global-set-key [(super henkan)] (lambda () (interactive) (ibus-enable "pinyin")))
とすると、super+変換キーでピンイン入力の状態になります。エンジン名は、モードラインに表示されている、[]の中の文字列です。例えば、ピンインの場合はモードラインで"IBus[pinyin]"となっているので、エンジン名は"pinyin"であるとわかります。