034androidプライマリ記事androidgetevent / sendeventコマンド



034android Primary Android Getevent Sendevent Command



Androidでは、getevent / sendeventコマンドを使用して、システム入力イベントを取得およびシミュレートできます。

GeteventはAndroidデバイスのイベント情報を取得できます。特定の使用法はヘルプを参照できます。

root@xxxxx:/ $ getevent -h Usage: getevent [-t] [-n] [-s switchmask] [-S] [-v [mask]] [-d] [-p] [-i] [-l] [-q] [-c count] [-r] [device] -t: show time stamps -n: don't print newlines -s: print switch states for given bits -S: print all switch states -v: verbosity mask (errs=1, dev=2, name=4, info=8, vers=16, pos. events=32, props=64) -d: show HID descriptor, if available -p: show possible events (errs, dev, name, pos. events) -i: show all device info and possible events -l: label event types and names in plain text -q: quiet (clear verbosity mask) -c: print given number of events then exit -r: print rate events are received

実際の使用例



root@xxxxx:/ $ getevent -l add device 1: /dev/input/event6 name: 'gpio-keys' add device 2: /dev/input/event5 name: 'mtk-tpd-kpd' add device 3: /dev/input/event4 name: 'mtk-tpd' add device 4: /dev/input/event3 name: 'LTR559_ps' add device 5: /dev/input/event2 name: 'LTR559_als' add device 6: /dev/input/event1 name: 'ACCDET' add device 7: /dev/input/event0 name: 'mtk-kpd' /dev/input/event0: EV_KEY KEY_POWER DOWN /dev/input/event0: EV_SYN SYN_REPORT 00000000 /dev/input/event0: EV_KEY KEY_POWER UP /dev/input/event0: EV_SYN SYN_REPORT 00000000 /dev/input/event0: EV_KEY KEY_POWER DOWN /dev/input/event0: EV_SYN SYN_REPORT 00000000 /dev/input/event0: EV_KEY KEY_POWER UP /dev/input/event0: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_TRACKING_ID 0000097b /dev/input/event4: EV_ABS ABS_PRESSURE 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 0000028d /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 00000664 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_PRESSURE 00000002 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 0000028e /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 0000065f /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 00000290 /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 00000655 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 00000295 /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 00000643 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 0000029b /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 0000062e /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002a2 /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 00000619 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002a8 /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 00000601 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002ad /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 000005e7 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002b0 /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 000005cb /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002b4 /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 000005ac /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002b8 /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 00000584 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002be /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 0000055a /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002c4 /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 0000052c /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002ca /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 000004fb /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002d0 /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 000004cc /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002d7 /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 00000497 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002da /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 00000460 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002de /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 00000428 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 000003ed /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002db /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 000003a8 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002d9 /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 00000360 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 0000031a /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002df /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 000002da /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002ee /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 00000294 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 000002fe /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 00000255 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 00000310 /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 0000021a /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 0000031d /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 000001f9 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_TRACKING_ID ffffffff /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_TRACKING_ID 0000097c /dev/input/event4: EV_ABS ABS_PRESSURE 00000000 /dev/input/event4: EV_ABS ABS_MT_POSITION_X 00000277 /dev/input/event4: EV_ABS ABS_MT_POSITION_Y 000004cb /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_PRESSURE 00000002 /dev/input/event4: EV_SYN SYN_REPORT 00000000 /dev/input/event4: EV_ABS ABS_MT_TRACKING_ID ffffffff /dev/input/event4: EV_SYN SYN_REPORT 00000000

上記により、結果のデータ形式を確認できます。

形式はデバイスです。タイプコード値、つまり、デバイス、入力デバイスタイプ、キースキャンコード、および追加コード。これらは、kernel / include / linux / input.h(Androidソースコード)で具体的に定義されています。



Type: Input device type, keyboard and keypad (kaypad) frequently used in mobile phone systems are key settings EV_KEY, the trackball belongs to the relative device EV_REL, and the touch screen belongs to the absolute device EV_ABS Code: Key scan code, which is different from ASCII code and key code of KeyEvent in SDK. Value: additional code, 1/0 down/up Line 1: It can be understood as the beginning of a touch Line 2: Can be understood as a click start Line 3: Touch point x coordinates Line 4: Touch point y coordinate Line 5: Can be understood as the touch point size Line 6: Event synchronization (click to end) Line 7: End of touch Line 8: Event synchronization (end of event) Touching this 8 lines at a time is a must. If it is a longTouch, on the basis of the touch, repeat the 2nd to 6th lines several times, that is, look

放送イベント

root@xxxxx:/ $ sendevent -h use: sendevent device type code value

geteventを使用して取得された値はすべて16進数であり、sendeventは10進数を使用しているため、変換する必要があることに注意してください。

  1. Androidモニターのネットワークステータス+ソースコード
  2. Android 5.0(バージョン5.0以下を含む)トップスタックアプリケーションパッケージ名を取得する