お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2008-04-17 21:10:35

fool on the hill
新しいメンバ
登録日: 2008-04-17

X上での「\_ろ」キーの press/release イベント

長らく Debian を使っていますが、Ubuntu は今回初めてインストールしてみている新参者です。よろしくお願いします。
「日本語ローカライズ」が正しい投稿先か迷ったのですが、不適切だったらお知らせいただけますでしょうか。

X上でJP106キーボードの右シフトキー横の「\_ろ」キーを押した時に、キーを押しただけで放さなくても press イベントとrelease イベントの双方がすぐに生成されてしまうという問題で困っています。xev で調べたところ、他のキーは、押した時に press イベント、放した時に release イベントが出ていますが、「\_ろ」キー(keycode=211)とPause/Breakキー(keycode=110)だけが、そのように振る舞うようです。

・マシンは Let's Note Y7、Ubuntu は7.10日本語ローカライズ版、xorg.conf でのキーボード設定は
        Option          "XkbRules"      "xorg"
        Option          "XkbModel"      "jp106"
        Option          "XkbLayout"     "jp"
です。
・USB接続の外付けキーボードでも同じ症状が出ます。
・コンソール上で showkey を使って調べたところ、そのような症状は出ません。
・X上では twm でも同じ症状が出ますので、gnome 関係の設定が何かしているのではないと思います。
・色々Webをサーチして調べたところ、autorepeat の設定と release イベントには関連がありそうだとか、「\_ろ」キーは英語キーボードとJP106の間で一番の違いになるキーだとかいうことがわかったので、xkb でのJP106の autorepeat の設定が関係しているのではないかと予想し、以下のようなことをしてみましたが、変化なしでした。

1. xkbcomp -xkb :0.0 a.xkb で、現在の設定をファイルに書き出す。
2. a.xkb を編集して、
     <RTSH> = 62;

     <AB11> = 211;
の二行を
    <AB11> = 62;

    <RTSH> = 211;
に書き換える。
3. xkbcomp a.xkb :0.0 を実行。(Error と Warning が色々出ますが、62 と 211 の keysym の入れ替えは xev で見ると正しく行われているようです。)

xkb の他の部分の設定は、基本的に keysym に基づいて記述されていて、keycode と keysym のマッピングさえ入れ替えてしまえば、xkb上は完全に二つのキーの設定が入れ替わってくれるもの?と思ったのですが...
Xのことや xkb のことはあまりわかっておりませんで、上のことも Web で xkb について調べながら見よう見まねでやっているので、根本的に間違っているかもしれませんが...ちなみに、autorepeat 自体は、「\_ろ」キーも他のキーも動作しています。ただ、一回目の keyRelease イベントのタイミングが違うのです。

そもそも、なぜこれで困っているのかについても説明しておきますと、これまではずっと「\_ろ」キーを xmodmap でシフトキーにマップしていたのですが、今回は「\_ろ」キーを押しっぱなしにしてもすぐに keyRelease イベントが出されてしまうので、シフトキーとして機能してくれないのです。

色々とWeb上を検索してみたのですが、なかなか関係ありそうな情報が見つかりません。どなたか、何か解決策やヒントをご存じありませんでしょうか。

オフライン

 

Board footer

Powered by FluxBB