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

[plamo:18850] Redirect() crashes XFree86-4.3.0



最近の ThinkPad には、カーソルキーの両肩に「ブラウズキー」なる2つのキー
が付いてまして、Windows では、それぞれ、ブラウザの「戻る」と「進む」を
呼び出せます。

で、これが、X 的には、キーコードの 234, 233 を発生させますので、
/usr/X11R6/lib/X11/xkb/symbols 以下の適当なファイル (イチからでっち上
げてもいいし、標準の jp の jp(106) なエントリでもいいけど) に、

    // Browser-back-key
    key  <I6A> {
        actions[Group1]=[ Redirect(key=<LEFT>,mods=Mod1) ]
    };
    // Browser-forw-key
    key  <I69> {
        actions[Group1]=[ Redirect(key=<RGHT>,mods=Mod1) ]
    };

と追加すると、これらのキーに Alt+←→ を吐かせることができます。

# I69 と I6A のキーコード名は、xkb/keycodes/xfree86 で定義されてる

このマシン、Fn キーもコード(227 = <I63>) を吐くので、うまく設定すると
なんか面白いことができそうです。

ちなみに、/usr/src/linux/drivers/char/pc_keyb.c の e0_keys[0x69/0x6a]
のエントリに適当なキーコードを突っ込んでやると、カーネルでも認識できま
す。

で、Plamo-2.2.6 の XFree86-4.2.0 では大丈夫だったのですが、
Plamo-3.1RC1 の XFree86-4.3.0 では、この設定を行なうと、問題のキーを押
した瞬間に Xサーバが SEGV で落ちてしまいました。

他にも、

    key <HZTG> {
        type="PC_SYSRQ",
        actions[Group1]=[
            Redirect(key=<I7D>),
            Redirect(key=<AE13>,clearmods=Mod1,mods=Control)
        ]
    };
    // Never generated; just for redirection...
    key  <I7D> { [ Zenkaku_Hankaku              ]       };

のようにして、Alt+半角全角 で、Ctrl+\ を吐かせてみても、同様の結果に陥
りますので、これは XF86-4.3.0 の xkb まわりのバグ(actions にRedirect()
を書くと飛ぶ?)なのかなぁ、と思ってみたりもしたのですが、どなたか心当た
りはありません?

# って、ほぼ狙い撃ちのような気が :-)
_______________________________
田原 俊一   jado@flowernet.gr.jp, shunichi_tahara@zenrin.co.jp
                                  http://flowernet.gr.jp/jado/
FingerPrint:  16 9E 70 3B 05 86 5D 08  B8 4C 47 3A E7 E9 8E D9
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

Follow-Ups
[plamo:18856] Re: Redirect() crashes XFree86-4.3.0, Chisato Yamauchi

[検索ページ] [メール一覧]
Plamo ML 公開システム