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

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



谷口です。

At Sat, 16 Sep 2000 18:23:51 +0900,
SETAGAYA SLIM <suyama@xxxxxxxxxxxxx> 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

私は、
kterm -km euc -xim
でktermは立ち上げます。すると、Shift-Spaceでkinput2が起動
します。よって、kinput2起動はShift-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のソース見るの
> はちょっと避けたいので、回避方法わかる方いれば、教えてください。

/usr/lib/X11/app-defaults/Kinput2 
に下のような部分があります。

!!
!! conversion protocol dependent resources
!!
! KinputProtocol
*KinputProtocol.BackwardCompatible: true
*KinputProtocol.XlcConversionStartKey:	Shift<Key>space
					^^^^^^^^^^^^^^^ここ

! XimpProtocol
*XimpProtocol.ForceDefaultServer: true
! X Input Method Protocol
*IMProtocol.locales: ja_JP.SJIS, ja_JP.EUC, ja_JP, japanese, japan, ja
! common to XimpProtocol and IMProtocol
*defaultFontList: -misc-fixed-medium-r-normal--14-*-*-*-c-*
*ConversionStartKeys: \
	Shift<Key>space \n\
	^^^^^^^^^^^^^^^ここ
	Ctrl<Key>Kanji

両方ともStartKeyとなってますが、他にShift<Key>spaceとなっているようなと
ころはみあたりませんでした。このあたりをいじるとなんとかなりそうな気がし
ます。

> 環境はpotatoで、関連パッケージは以下。
> 
>    canna                3.5b2-25
>    libcanna1g           3.5b2-25
>    kinput2-common       3.0-9
>    kinput2-canna        3.0-9
>    kterm                6.2.0-19potato

まったく同じ環境です。


-----
Norio Taniguchi <a9230062@xxxxxxxxxxxxxxxx>