TOKUNAGA Hiroyuki
tkng****@xem*****
2004年 1月 24日 (土) 17:30:59 JST
On Sat, 24 Jan 2004 14:38:04 +0900 akira yamada <akira****@arika*****> wrote: > PRIME 0.7.4とdebパッケージを使っています。 > immoduleでもuim-prime-tcodeを使えるようになったのですが、 > 少し使ったところで問題を見付けました。 > prime-elでは出ない問題なのでuim側に原因があるように思うのですが、 > 両者の関係をよくわかっていないのでこちらに報告します。 > > 現象は入力を「l」で始めようとすると文字が入力できないというものです。 > たとえば「表示する」と入力しようとするとき > T-Codeでは「lnnp,f;a」とタイプします。 > このときimmoduleではlが無視されて「n」が表示されます。 > 他の一ストローク目に「l」を使う文字についても同じです。 これはuim-primeのキーバインドがSKK風になっているからです。lは直接入力 モードへの切替え、qはひらがな/カタカナモードのトグルに設定されてるので、 PRIME側に渡りません。 キーバインドを自由に切替えられる機能をそのうち実装するつもりですので、 もうしばらくお待ちください。待ちきれない場合は ~/.uim をカスタマイズする ことで、デフォルトのキーバインドを上書きできます。 (define prime-latin-key (lambda (key key-state) (generic-off-key key key-state))) (define prime-kana-toggle (lambda (key key-state) ())) 上のコードを ~/.uimに記述すると、lやqをそのままPRIME側に渡すようになると 思います。 > あと、入力中にローマ字が表示されるのが > 予想よりもはるかにストレスになりそうです。 > というのは、選択をするためにカーソル付近を > 注目することになるので、そこでローマ字が見えると > 混乱してしまうようなのです。 > > uimとのからみで難しい部分がありそうだ > とのことでしたが(実はよく分かってません ^_^;)、 > 将来的にはなんとかなるとうれしいなと思っています。 問題を要約すると、入力中にローマ字を表示しないで済むようにするためには uim側で入力されたキーのリストをそのまま保持しておく必要があるけれど、そ う変更すると今度はプリエディットの編集をどうやって実装すればいいのかわか らない、という事です。 例えば、|でキャレットの位置を表すとします。今、ユーザはkanjiと入力しました。 プリエディット uim内部に保持してるキーのリスト かんじ| kanji| ここで左カーソルがタイプされると、ユーザはプリエディットが "かん|じ" と 変更されることを期待するでしょう。これに対応するuim内部に保持してあるキ ーのリストは "kan|ji" ですが、このキーのリストを得るための手段がありませ ん。 と思ったのですが、今、新しい方法を思い付きました。プリエディットにアル ファベットが存在する場合は表示する際に*で置換する、というオプションを付 けるのは割に簡単なのですが、このオプションで用は足りますか? -- 徳永拓之