Я хочу отправить «CTRL + W» в Chrome для Android, чтобы закрыть активную вкладку. Я пробовал много вещей, но добиться успеха у терминала не получилось. (Если я подключаю USB-клавиатуру с OTG, я могу закрыть вкладку с помощью CTRL + W)Имитация комбинации нажатий клавиш с терминала ADB
Во-первых, я не хочу писать приложение для этого, я хочу, чтобы команда оболочки использовала его из Tasker.
Я где-то читал, что для достижения этого (CTRL + W нажатие клавиши), я должен имитировать нажатия клавиш, как это:
вниз CTRL
вниз W
Up W
Up CTRL
И для достижения этого из терминала мне кажется, что я должен использовать «sendevent».
Я могу имитировать все аппаратные клавиши с «sendevent», но не могу имитировать нормальные ключи.
Например, вниз и до ключа МОЩНОСТИ:
sendevent /dev/input/event1 1 116 1
sendevent /dev/input/event1 0 0 0
sendevent /dev/input/event1 1 116 0
sendevent /dev/input/event1 0 0 0
я использовать эти команды, но я не могу использовать эти команды для отправки нормальных ключей. (например, a, b, c и т. д.)
Событие1 - это клавиши gpio, поэтому я использую его. И все другие входные события - это датчики, а один - драйвер зарядки. (Max77693-muic)
Выход из "GetEvent -p" говорит, что:
add device 1: /dev/input/event9
name: "compass_sensor"
events:
REL (0002): 0000 0001 0002 0003 0004 0005 0006 0007
0008 0009
input props:
<none>
add device 2: /dev/input/event6
name: "barometer_sensor"
events:
REL (0002): 0000 0001 0002
input props:
<none>
add device 3: /dev/input/event5
name: "light_sensor"
events:
REL (0002): 0000 0001 0002 0009
input props:
<none>
add device 4: /dev/input/event4
name: "proximity_sensor"
events:
ABS (0003): 0019 : value 1, min 0, max 1, fuzz 0, flat 0, resolution 0
input props:
<none>
add device 5: /dev/input/event3
name: "gyro_sensor"
events:
REL (0002): 0003 0004 0005
input props:
<none>
could not get driver version for /dev/input/mice, Not a typewriter
add device 6: /dev/input/event7
name: "Midas_WM1811 Midas Jack"
events:
KEY (0001): 0072 0073 00e2
SW (0005): 0002 0004
input props:
<none>
add device 7: /dev/input/event1
name: "gpio-keys"
events:
KEY (0001): 0072 0073 0074 00ac
input props:
<none>
add device 8: /dev/input/event0
name: "max77693-muic"
events:
KEY (0001): 0072 0073 00a3 00a4 00a5
input props:
<none>
add device 9: /dev/input/event8
name: "sec_touchkey"
events:
KEY (0001): 008b 009e
LED (0011): 0008
input props:
<none>
add device 10: /dev/input/event2
name: "sec_touchscreen"
events:
ABS (0003): 002f : value 0, min 0, max 9, fuzz 0, flat 0, resolution 0
0030 : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
0031 : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0
0032 : value 0, min 0, max 30, fuzz 0, flat 0, resolution 0
0035 : value 0, min 0, max 719, fuzz 0, flat 0, resolution 0
0036 : value 0, min 0, max 1279, fuzz 0, flat 0, resolution 0
0039 : value 0, min 0, max 65535, fuzz 0, flat 0, resolution 0
003c : value 0, min -90, max 90, fuzz 0, flat 0, resolution 0
003d : value 0, min 0, max 1, fuzz 0, flat 0, resolution 0
input props:
INPUT_PROP_DIRECT
Кроме того, мой GPIO-ключи файл макета "/system/usr/keylayout/gpio-keys.kl", как это:
key 115 VOLUME_UP WAKE
key 114 VOLUME_DOWN WAKE
key 116 POWER WAKE
key 172 HOME WAKE
Я могу послать все нормальные keyevents с:
"input keyevent KEYCODE_X"
и отправить более один:
"input keyevent KEYCODE_X KEYCODE_Y"
Вы должны думать, что может как это работает:
"input keyevent KEYCODE_CTRL_LEFT KEYCODE W"
но KeyEvent вниз и вверх немедленно, и я не могу использовать его для отправки комбинации CTRL + W.
Я знаю, ответ должен быть с «sendevent». Но я не могу найти.
Я также попытался добавить некоторые поддельные ключи в ключевой файл макета, как это:
key 115 VOLUME_UP WAKE
key 114 VOLUME_DOWN WAKE
key 116 POWER WAKE
key 172 HOME WAKE
key 19 Q
я перезагрузил телефон, а затем попробовал:
sendevent /dev/input/event1 1 19 1
sendevent /dev/input/event1 0 0 0
sendevent /dev/input/event1 1 19 0
sendevent /dev/input/event1 0 0 0
Но он никогда не пишет «Q» в любое текстовое поле.
Пожалуйста, помогите, спасибо за помощь.
Решение появилось после двух лет, спасибо вам. Я пробовал, и он отлично работает. – Yusuf