Jun Mukai
mukai****@jmuk*****
2004年 12月 15日 (水) 23:10:39 JST
向井です。 At Wed, 15 Dec 2004 20:20:23 +0900, Yukiko Bando <yband****@k6*****> wrote: > Mandrakeにはlocaledrakeという設定ツールがあって、そこで選択した言語、ロケーション(国)、 > 入力メソッドにしたがって.i18nというファイルが生成されます。英語と日本とSCIMを選択すると > 次のようになります。 理解しました。 ただし、同じ環境変数を設定し、たとえば gedit 等で入力をしてみたのです が、↑キーでRが入力される症状は再現しませんでした。私のやり方がまずい のだと思いますが、ちょっとわかりません。後でまた試してみます。 > scim-anthyとscim-skkを使っている時にだけ起こるのが不思議です。 scim-skk は scim-anthy を雛形に作りました。とくにlocale関係のコードは そのまんま同じだったりしますから、同じ問題に遭遇したのかもしれません。 > また、新たに気付いたのですが、scim-anthy/skkがオンになっているとテンキーの > 8 と 2 が入力できません... こちらも私のマシンでは再現しませんでした。ノートPCなので話が違うのかも しれませんが。 # 考えたら、 key.code をそのまま char 扱いでいろいろやってますが、 # 基本的には get_ascii_code() を使うべきという気がしてきた……。 > 日本語のキーボードでフランス語その他の言語も簡単に入力できるようにカスタマイズした > xmodmapを使っています。以下はその一部です。 こちらもどうなっているかというところは理解しました。 ただ、anthyと違って SKK だとこの問題もちょっと厄介で、対処はちょっと時 間がかかってしまうと思います。単純に process_key_event が false を返せ ばいいということではないためです(すくなくとも再帰学習時には false を返 せないので)。 そういうわけで、今のところ、 Latin モードでも dead_* のコンテキストを 持ち、アクセント記号記号つき文字に変換するルールを、埋め込むなりテーブ ルとして持つなりすることで対処しようと考えています。 scim_event.h を見たら、キーコードの定義が字面的に割とわかりやすかった ので、この定義からルールの抽出ができるかもしれません。