Android getevent用法例の詳細

2873 ワード

Android getevent用法例の詳細
最近はテストデバイスのボタンによく使われています。これらのコマンドは全部あると思いますが、どうやって探したらいいのか分かりません。
いくつかの博文を読んで、やっと一つのgeteventがあることを発見しました。このような命令です。
まず説明したいのは、getevent命令の後に具体的なinput設備を持ち込んで、getevent/dev/iput/event 0のように、表示しないinputの設備をフィルタすることができます。
前に使っていますが、まだアイデアが見つからないです。一歩ずつ使っています。
まず-pオプションを見てください。-pオプションはinputデバイスに関するいくつかの情報を出力します。例えば、getevent-p/dev/input/event 0:

add device 1 : /dev/input/event0:

name: “radio_key”

events:

KEY (0001): 0043 0044 0057 0058

input props: 

では-iオプションは-pオプションと同じです。表示されている情報だけがより豊富で、getevent-i/dev/input/event 0:

add device 1: /dev/input/event0 
bus: 0000 
vendor 0000 
product 0000 
version 0000 
name: “radio_key” 
location: “” 
id: “” 
version: 1.0.1 
events: 
KEY (0001): 0043 0044 0057 0058 
input props: 
pまたは-iオプションについては、inputデバイスが登録されているかどうかを判断してくれます。
また-lオプションを見てみます。まず、getevent/dev/input/event 7コマンドを入力します。注event 7はタッチパネルのinputデバイスです。

0001 014a 00000001 
0003 0030 000000ff 
0003 0035 00000262 
0003 0036 00000546 
0003 0039 00000011 
0000 0002 00000000 
0000 0000 00000000 
0001 014a 00000000 
0000 0002 00000000 
0000 0000 00000000

見ましたか?得られたのはこのような情報のセットです。数字だけを見ても、具体的な意味が分かりません。-lオプションを加えると、getevent-l/dev/input/event 7:

EV_KEY BTN_TOUCH DOWN 
EV_ABS ABS_MT_TOUCH_MAJOR 000000ff 
EV_ABS ABS_MT_POSITION_X 00000262 
EV_ABS ABS_MT_POSITION_Y 00000546 
EV_ABS ABS_MT_TRACKING_ID 00000011 
EV_SYN SYN_MT_REPORT 00000000 
EV_SYN SYN_REPORT 00000000 
EV_KEY BTN_TOUCH UP 
EV_SYN SYN_MT_REPORT 00000000 
EV_SYN SYN_REPORT 00000000
このように見れば、多くのことが分かりやすくなります。フォーマットはイベントタイプ、イベントコード、イベントvalueです。これらの代表的な意味はinput設備関連のものを参照することができます。
-rオプションを見ると、-rオプションは、例えば、getevent-r/dev/input/event 7のような、入出力レポートのレートを出力することができます。

0000 0000 00000000 rate 83 
0003 0030 0000004d 
0003 0035 0000024e 
0003 0036 00000364 
0003 0039 00000000 
0000 0002 00000000 
0000 0000 00000000 rate 83 
0003 0030 0000004c 
0003 0035 0000024f 
0003 0036 00000364 
0003 0039 00000000 
0000 0002 00000000 
0000 0000 00000000 rate 83

このオプションを使うと、入力レポートのレートが私たちの要求を満たしているかどうかを検出することができます。例えば、tpポイントレートを検出することができます。
getevent命令のオプションについては、これらを概ね紹介しますが、他の用法は上記のgetevent命令の用法を参照することができます。また、これらの命令オプションは組み合わせて使用することができます。例えば、getevent-lr/dev/input/event 7です。
私はデバイスのボタンを検出した時、物理キーの命令が見つからないと思いました。やっとこれらのコマンドを発見しました。
geteventに対応するのはsendeventコマンドですが、sendeventコマンド入力はやや複雑で、他のコマンドinputを使って代替できます。例えば、input keyevent KEY CODE_を入力します。POWERは一回のパワーボタンを押すことを表しています。
 読んでくれてありがとうございます。みなさんのご協力をお願いします。ありがとうございます。