Как нарисовать шаблон с помощью сенсорного экрана ввода ввода adb? - PullRequest
0 голосов
/ 19 декабря 2018

"Сенсорный экран ввода adb shell 500 500 1000 1000" рисует только прямую линию

Есть ли способ нарисовать линию, например, 'L' или 'N', сразу?

Спасибо

1 Ответ

0 голосов
/ 21 декабря 2018

Проведя некоторое исследование в Google, я получил одно решение с использованием команд getevent и sendevent .

getevent
Использование getКоманда события, вы должны записать события для вашего шаблона прокрутки.Это можно сделать с помощью приведенной ниже команды.

adb shell getevent | find "event1"

Запустите указанную выше команду и проведите пальцем по телефону.Приведенная выше команда сгенерирует некоторый набор событий.Вам лучше записать эти данные в файл, потому что выдает от 300 до 500 строк.

После завершения записи файл будет выглядеть следующим образом:

/dev/input/event1: 0003 0039 00000099
/dev/input/event1: 0001 014a 00000001
/dev/input/event1: 0001 0145 00000001
/dev/input/event1: 0003 0035 000001a0
/dev/input/event1: 0003 0036 00000655
/dev/input/event1: 0003 0030 00000005
/dev/input/event1: 0003 0031 00000005
/dev/input/event1: 0000 0000 00000000
/dev/input/event1: 0003 0035 000001a1
/dev/input/event1: 0003 0030 00000006
-------------------------------------
-------------------------------------

В приведенном выше файле последние 2 столбца представлены в шестнадцатеричном формате.Вам необходимо преобразовать их в десятичный формат.Вы можете написать некоторые утилиты для преобразования их в десятичный формат.Теперь, когда вы преобразовали их в десятичный формат, вы должны использовать команду sendevent

sendevent Теперь создайте команды ниже, используя sendevent.

adb shell sendevent /dev/input/event1 0003 57 153
adb shell sendevent /dev/input/event1 0001 330 1
adb shell sendevent /dev/input/event1 0001 325 1
adb shell sendevent /dev/input/event1 0003 53 416
adb shell sendevent /dev/input/event1 0003 54 1621
adb shell sendevent /dev/input/event1 0003 48 5
adb shell sendevent /dev/input/event1 0003 49 5
adb shell sendevent /dev/input/event1 0000 0 0
adb shell sendevent /dev/input/event1 0003 53 417
adb shell sendevent /dev/input/event1 0003 48 6
-----------------------------------------------
-----------------------------------------------

Если вы видите последние 3 столбца,первый столбец совпадает с столбцом getevet, а последние два являются десятичным эквивалентом последних 2 столбцов getevent.

Теперь, если вы запустите команды выше в пакетном файле, записанный шаблон будет отображен на экране.

...