Hatena::ブログ(Diary)

黒糖々日記/kokutoto diary このページをアンテナに追加 RSSフィード

pv:272402 この日記のはてなブックマーク数

kokutotoが、趣味のプログラミングやLinuxの設定、メダカとエビの飼育について書いていきます。名前の由来は羅生門の一文「外には、ただ、黒洞々たる夜があるばかりである。」のもじりから。

2010-06-22

iBusの有効/無効に個別のホットキーを割り当てるseparate hotkey patchを作りました(ついでにvi協調機能付き)

f:id:kokutoto:20100622124647p:image

あらまし

最近mozcと共に使い始めたiBusですが、UIM + Anthy使いだった僕は以下の点を不満に感じました。

  • 日本語入力のオン/オフのホットキーはトグルしか設定できない、オン/オフにそれぞれ専用のホットキーを割り当てたい
  • いわゆるvi協調モードのような挙動(これはmozc側の機能?)は、自分の環境だとたまに取りこぼしがあり、不安定だった

そこでiBusのソースをチラ見したところ、案外簡単にいじれそうな作りだったため、次の変更を加えるいいかげんなパッチを作りました。

  • 日本語入力のオン/オフだけを個別に行う有効(Enable)/無効(Disable)ホットキーを追加
  • ESCやctrl+[といった任意のキーで日本語入力を確実に無効にするvi協調(Vi collaboration)ホットキーを追加
  • 日本語入力の有効/無効/vi協調ホットキーを設定できるようにibus-setupのUIを変更(エントリー冒頭の画像)

このパッチdebian squeezeのリポジトリにあるibus_1.2.0.20091215をベースに書いています。ubuntu 10.04もibus_1.2.0のようなので多分そのまま使えるでしょう。

本家で最近stableになったibus_1.3.5は、構造がちょっと変更されているのでそのままでは使えません。本質的な部分は変わっていないようだったので、とりあえず適用できるように書き換えたパッチも作りました(動作未確認)。

パッチ当てとインストール

debian squeezeの場合だと以下の手順でパッチ適用してインストールできます。ubuntuでもibusのバージョン表記が少し違う程度だと思います。

$ mkdir ibus
$ cd ibus
$ apt-get source ibus
# apt-get build-dep ibus
$ cd ibus-1.2.0.20091215
$ wget http://kokutoto.com/files/ibus/ibus-1.2.0.separate_hotkey.patch
$ patch -p1 < ibus-1.2.0.separate_hotkey.patch
$ dpkg-buildpackage
$ cd ..
# dpkg -i *.deb

起動と設定

既に起動しているibus-daemonを置き換えてついでにXIMも有効にするなら起動はこんな感じ。

$ ibus-daemon -d -x -r

設定はibus-setupを実行するかシステムトレイのアイコンから設定を起動。

$ ibus-setup

デフォルトではEnable/Disable/Vi Collaborationのどれもキーを割り当てない設定です。Vi CollaborationはEscape; Control+bracketleftを推奨します。キーコード指定時はESCキーを押すとダイアログが閉じるので、キーコードの欄にEscapeと書いて追加します。

設定でトグルや他のホットキーと重複するキーを割り当てた場合は、挙動がおかしくなると思います。あんまりいじめないでください。

おわりに

このパッチは長いものには巻かれろの精神でmozc + iBusを使いたい人向けです。そもそもiBusなんて使いたくないという方は、uim-mozcというすばらしい試みがあるので、そちらを使った方が良いかも知れません。

パッチダウンロード

(2010/10/14 gistへ移行)

後藤裕文さんがibus_1.3.9に対応したパッチを公開されています! ありがとうございました。紹介させていただきます。

http://gotto.jp/ibus/ibus-1.3.9.separete_hotkey.patch

(2011/07/13 後藤裕文さんのibus 1.3.9対応パッチへのリンクを追加)

SFKSFK 2011/04/08 15:49 パッチ使わせていただきました。ありがとうございます。
私もまったく同じ理由でibusに不満を抱いていましたが今はとても快適です。

後藤裕文後藤裕文 2011/06/02 15:31 パッチを利用させていただきました。ありがとうございます。
前のコメントの方と同じく、とても快適になりました。
Ubuntu 11.04のibus 1.3.9に合わせてパッチを少し書き換えましたので、自分のサイトに置いておきます。
gotto.jp/ibus/ibus-1.3.9.separete_hotkey.patch

kokutotokokutoto 2011/07/13 22:52 >SFKさん
お役にたったようでうれしいです。
いつか本家にUIM相当の機能が入るか、UIMでMozcが手軽に使えるようになれば良いのですが…。

>後藤裕文さん
反応が遅れてしまい申し訳ありません。
本文中でパッチへリンクさせていただきました。
ありがとうございました。

トラックバック - http://d.hatena.ne.jp/kokutoto/20100622/p1