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

Yuichiro Goto email@hidden
2013年 8月 2日 (金) 09:10:49 JST


後藤です。

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 を実行する際も同様です。

以上です。

(2013/08/01 19:32), 中室 純 wrote:
> お世話になります。
> 
> 返信ありがとうございます!
> 
> 早速 XLookupKeysym() で試してみましたが、取れる KeySym の値はゼロの
> ままでした。
> ただ、KeySymの値だけ取得するのであれば、こちらを使った方が、処理が軽そう
> なので、これからはこちらを使用することにします^^
> 
> 
> 
> まだ、未解決の状態で、返信を下さった方、ならびに皆様に再度質問させて頂き
> ます。
> 
> 
> 
> Linuxでは xmodmap コマンドで、KeyCode KeySym の割り当てが見られるのです
> が、Armadilloでこのコマンドを実行すると
>     xmodmap: unable to open display ''
> と言うエラー?が出て、一覧が表示されません。
> ネットで調べてみると、DISPLAY=":0.0"とする解決方が多く載っており、
> 試してみましたが、変わりませんでした。
> 私の理解力不足で、DISPLAY が何を示しているのかも良く分かっていません。
> 
> すみませんが、この解決方と、キーの割り当てをしている設定ファイルが
> どこかにありましたら、教えて頂けますでしょうか。
> 
> 
> 宜しくお願い致します。
> 
> 
> 
>>
>>> X上で取得出来ないキーの原因や、キーを取得する方法をご存知の方、ご教授を
>>> お願い致します。
>>
>> XLookupString() が動作しない原因はわかりませんが、XLookupKeysym() という
>> 関数を使用してみては如何でしょうか?
>>
>> 使用例)
>>
>>     ksym = XLookupKeysym((XKeyEvent*)&evt, 0);
>>     if (ksym == XK_Up) {
>>       /* 矢印キー上が押された */
>>     } else if (ksm == XK_Down) {
>>       /* 矢印キー下が押された */
>>     } else if (ksym == XK_Left) {
>>       /* 矢印キー左が押された */
>>     } else if (ksym == XK_Right) {
>>       /* 矢印キー右が押された */
>>     }
>>
>> 尚、XK_Up 等 の KeySym の定義を使用するには以下のヘッダーファイルが必要
>> です。
>>
>>     #incluce <X11/keysym.h>
>>
>> 以上です。
>>
> 
> _______________________________________________
> armadillo mailing list
> email@hidden
> http://lists.atmark-techno.com/cgi-bin/mailman/listinfo/armadillo
> 




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