android组合按钮,android – 模拟ADB终端按键的组合

我想将“CTRL W”发送到Chrome for

Android以关闭活动标签.我尝试了很多东西,但从终端实现它并没有成功. (如果我用USB键连接USB键盘,我可以用CTRL W关闭标签)

首先,我不想为此编写应用程序,我只想要一个shell命令来从Tasker中使用它.

我在某处读到了这个(CTRL W按键),我必须模拟这样的按键:

按CTRL键

下来W

向上W

CTRL

而要从终端实现这一点,似乎我必须使用“sendevent”.

我可以使用“sendevent”模拟所有硬件按键,但不能用它来模拟普通键.

例如,向下和向上键到POWER键:

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等)

event1是gpio-keys,所以我正在使用它.所有其他输入事件都是传感器,其中一个是充电驱动器. (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:

add device 2: /dev/input/event6

name: "barometer_sensor"

events:

REL (0002): 0000 0001 0002

input props:

add device 3: /dev/input/event5

name: "light_sensor"

events:

REL (0002): 0000 0001 0002 0009

input props:

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:

add device 5: /dev/input/event3

name: "gyro_sensor"

events:

REL (0002): 0003 0004 0005

input props:

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:

add device 7: /dev/input/event1

name: "gpio-keys"

events:

KEY (0001): 0072 0073 0074 00ac

input props:

add device 8: /dev/input/event0

name: "max77693-muic"

events:

KEY (0001): 0072 0073 00a3 00a4 00a5

input props:

add device 9: /dev/input/event8

name: "sec_touchkey"

events:

KEY (0001): 008b 009e

LED (0011): 0008

input props:

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-keys布局文件“/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"

但关键事件是立即向上和向上,我不能用它来发送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”.

请帮助,谢谢你的帮助.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值