[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 メーリングリストの案内