[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:24066] Re: C-o で XIM(kinput2) を起動しないようにするには



すやまと申します。

At Fri, 15 Sep 2000 13:55:00 +0900,
Norio Taniguchi <a9230062@xxxxxxxxxxxxxxxx> wrote:
> 
> はい、ちょっと調べてまさにこのとおりにしました。
> #kinput2の方ばかり調べていたのでこっちには目がいってませんでした。
> 

canna + kinput2 の組合せだと、XのクライアントがXIMを起動するんですが、
Xのクライアントはリソースで指定されたキーイベントが発生すると初回時の
み、kinput2に変換開始キーを問い合わせます。

kinput2は起動時に~/.cannaを見てるんで、
(global-unbind-key-function 'japanese-mode)
の設定がないと、XのクライアントにC-oが起動キーだと教えちゃいます。
(エラソーに解説しちゃったけど、あってるかな(笑)。)

で、ここから便乗質問なんですが、変換終了キーで困ってます。
ktermをクライアントにして、C-spaceのみを起動+終了キーにしたいんですが、
お手上げです。~/.Xresoucesで以下のような設定をしています。

KTerm*VT100.Translations: #override \
  Ctrl<Key>space:       begin-conversion(JAPANESE_CONVERSION)
Kinput2*KinputProtocol.XlcConversionStartKey:  Ctrl<Key>space
Kinput2*ConversionStartKeys: Ctrl<Key>space

これと、上記のglobal-unbind-...の設定で、C-spaceのみで起動するようにな
りました。が、C-oでも終了できるのにふと気が付いてしまって、これは調べ
た結果、~/.cannaに(global-unbind-key-function 'alpha-mode)
を追加することで抑制できるようになりました。これで一安心。

しかしさらに(笑)、shift-spaceでも終了できるのに気付いてしまいました。
しかも、C-spaceとshift-spaceで動きが違う。shift-spaceだと、変換途中の
いつでも(ハイライト中、変換候補表示中のいずれも)終了できます。C-space
のほうは、変換が確定した状態でしか終了できません。why?
canna+kinput2だと、変換起動はXのクライアントの仕事ですが、変換終了は
kinput2の仕事のはずなんで、犯人はkinput2なのは確実だと思うんですが、
Xのリソース以外で設定してるということでしょうか。kinput2のソース見るの
はちょっと避けたいので、回避方法わかる方いれば、教えてください。

環境はpotatoで、関連パッケージは以下。

   canna                3.5b2-25
   libcanna1g           3.5b2-25
   kinput2-common       3.0-9
   kinput2-canna        3.0-9
   kterm                6.2.0-19potato