ウィンドウのイベント
マウスのクリックやキーボードのキー入力などウィンドウで発生したイベントを調査することができます。キーボードのキーコード取得にも利用できますし、複数のボタンがあるマウスのチェックやマルチメディアキーボードのキー調査にも利用できます。
もしマウスのボタンやキーを押しても何も反応がない場合は、それらのキーは利用できないという事になります。
インストール
標準でインストールされますが、インストールされていない場合はUbuntuソフトウェアセンターからインストールします。「x11-utils」で検索します。
基本的な使い方
基本的な使い方です。1.xevの実行
端末を起動し「xev」コマンドを実行します。以下のようなウィンドウが表示されます
2.イベントを起こす
ウィンドウ上でカーソルを移動したりまウンスのボタンをクリックします。またキーボードの任意のキーを押します。
3.イベントの表示
ウィンドウ内で発生したイベントが端末内に表示されていきます。終了したい時は表示されたウィンドウを閉じればOKです。
マウスイベント
マウスのクリックイベントを見てみます。ButtonPress
マウスのボタンを押した時に発生するイベントです。赤字の箇所がボタンの番号です。
ButtonPress event, serial 36, synthetic NO, window 0x5600001,
root 0x138, subw 0x0, time 32394534, (137,68), root:(304,603),
state 0x10, button 1, same_screen YES
ButtonRelease event
マウスのボタンを放した時に発生するイベントです。赤字の箇所がボタンの番号です。
ButtonRelease event, serial 36, synthetic NO, window 0x5600001,
root 0x138, subw 0x0, time 32394635, (137,68), root:(304,603),
state 0x110, button 1, same_screen YES
キーボードイベント
zキーを押した時のイベントを見てみます。KeyPress event
キーを押した時に発生するイベントです。赤字の箇所がキーコードです。
KeyPress event, serial 36, synthetic NO, window 0x5600001,
root 0x138, subw 0x0, time 32541168, (101,51), root:(268,586),
state 0x10, keycode 52 (keysym 0x7a, z), same_screen YES,
XLookupString gives 1 bytes: (7a) "z"
XmbLookupString gives 1 bytes: (7a) "z"
XFilterEvent returns: False
KeyRelease event
キーを放した時に発生するイベントです。赤字の箇所がキーコードです。
KeyRelease event, serial 36, synthetic NO, window 0x5600001,
root 0x138, subw 0x0, time 32541227, (101,51), root:(268,586),
state 0x10, keycode 52 (keysym 0x7a, z), same_screen YES,
XLookupString gives 1 bytes: (7a) "z"
XFilterEvent returns: False
既存のウィンドウのイベントを見る
アプリが表示するウィンドウのイベントを見たい場合、id オプションでウィンドウのIDを指定すればOKです。例としてgeditのウィンドウのイベントを表示してみます。
1.ウィンドウIDを調べる
xwininfoコマンドでウィンドウIDを調べます。2.xevの実行
端末から以下のコマンドを実行します。xev -id ウィンドウID
3.イベントの表示
以下のようにウィンドウのイベントが端末に表示されます。終了したい時は端末で「Ctrl + C」キーを押せばOKです。