ADBコマンドで制御したいAndroid TVボックスがあります。特に、「タップ」イベントを送信したいです。これまでのところ、「adb shell input tap x、y」で実行していますが、これはうまく機能しますが、非常に遅いです。だから私は「adb shell sendevent ...」でそれをやろうとしています。これはより速いと思います。
これを行う方法についていくつかのチュートリアルに従いましたが、単純なシングル タップをデバイスに送信するためにイベント シーケンスを記録できないという問題に直面しています。
これは私がこれまで行ってきたことです。イベント シーケンスを取得するために、「getevent」コマンドで取得しようとしました。
q201:/ # getevent -l
add device 1: /dev/input/event4
name: "HID 04b3:310b"
could not get driver version for /dev/input/mouse1, Not a typewriter
add device 2: /dev/input/event3
name: "cec_input"
could not get driver version for /dev/input/mice, Not a typewriter
add device 3: /dev/input/event2
name: "gpio_keypad"
add device 4: /dev/input/event1
name: "adc_keypad"
could not get driver version for /dev/input/mouse0, Not a typewriter
add device 5: /dev/input/event0
name: "aml_keypad"
マウスの左ボタンをクリックすると、次のイベントが表示されます。
/dev/input/event4: EV_MSC MSC_SCAN 00090001
/dev/input/event4: EV_KEY BTN_MOUSE DOWN
/dev/input/event4: EV_SYN SYN_REPORT 00000000
/dev/input/event4: EV_MSC MSC_SCAN 00090001
/dev/input/event4: EV_KEY BTN_MOUSE UP
/dev/input/event4: EV_SYN SYN_REPORT 00000000
これ以上イベントは生成されません。マウスをクリックするたびに、同じイベントが生成されます。同じコード。同じ値。いつも同じ !
それで...私がクリックした座標はどこですか?? クリックしている位置に関するイベントが発生しないのはなぜですか? 実際、クリックはデバイス上で機能するので、イベントはどこにあるのでしょうか? イベントがないと、sendeventコマンドでクリックを再現できません。
ご協力ありがとうございました!グラム