[Armadillo:09101] Re: Armadillo USBキーボード 取得出来ないキーがある。

中室 純 email@hidden
2013年 8月 2日 (金) 11:21:21 JST


お世話になっております。

後藤様
齋藤様
ありがとうございます!!

xmodmap xev 共に見ることが出来ました。
Xのツールだから、Xが起動していないと動かないんですね。。。
失礼しました・・・^^;。

現状のArmadilloの環境ではウィンドウマネージャが入っておらず、
ツールをそのまま使用することが出来ないので、startx でXを起動した時に
xmodmap では xmodmap >> /debug/mapfile を実行するようにして、
xev では xev >> /debug/evtfile を実行するようにして、
どちらも、実行結果をファイルに吐き出すようにして確認しました。

取得出来ないキーの内”上 矢印キー”の場合
xmodmap では、「keycode  98 = Up」「keycode 198 = 」でした。
xev では、
    KeyRelease event, serial 27, synthetic NO, window 0x800001,
    root 0x40, subw 0x0, time 2747575, (135,27), root:(137,29),
    state 0x0, keycode 198 (keysym 0x0, NoSymbol), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False
でした。

結果的に、キーマップ?に割り当てられているキーコード[98]ではなく、
割り当てのないキーコード[198]で取られているみたいです。

開発環境として使っているPCでも、キーマップはほぼ同じ割り当てに
なっているのに、なぜPCとArmadilloでは、キーの取れ方が違うのだろう。


とりあえず、キーコードを取得する方法を調べてキーコードで見るように
するか、KeySymの割り当てを変更する方法を調べてみます。







> 
> X イベントをダンプする xev というツールがあるのですが、押されたキーの
> キーコードや KeySym の情報を確認できます (下記に矢印キーを押した際の
> 情報を記載します)。
> 
>    KeyRelease event, serial 33, synthetic NO, window 0x2600001,
>    root 0x41, subw 0x0, time 2559976, (60,317), root:(64,366),
>    state 0x0, keycode 100 (keysym 0xff51, Left), same_screen YES,
>    XLookupString gives 0 bytes:
>    XFilterEvent returns: False
> 
> このツールでも keysym が 0 と報告されますか?
> 
> 尚、xev は x11-utils というパッケージに含まれています。
> 
>>      xmodmap: unable to open display ''
>> と言うエラー?が出て、一覧が表示されません。
> 
> コンソール上から X のプログラムを実行するには、以下のようにする必要があ
> ります。
> 
> # export DISPLAY=:0.0
> # xmodmap
> 
> xev を実行する際も同様です。
> 
> 以上です。
> 




armadillo メーリングリストの案内