使用adb shell sendevent模拟发送事件方法和注意事项

使用adb shell sendevent模拟发送事件时,需要注意发送后还需发送同步事件才能生效,具体如下:

kernel中事件的type、code定义和一些附件信息按照格式定义在所加载的*.dtsi文件,其中compatible的值对应adb shell getevent打印出来的设备名称,即 event0~event9 节点对应的设备名称

以“音量减” 事件为例,在dtsi文件中查询到该事件对应的input type为1, input code 为114,设备名称为compatible = "simulate-keys",通过getevent查询到名为simulate-keys的节点为event7,则通过adb shell sendevent 模拟发送事件的命令如下

                                  设备节点   事件类型  事件码 事件值

adb shell sendevent /dev/input/event7   1   114  1              // Volume Down 事件类型为1,事件码为114, 按下为1,松开为0        

adb shell sendevent /dev/input/event7   0    0     0    // 同步事件

// 如果发送按下事件后延迟一段时间再发送松开事件,则为长按动作,在Framwork中会触发持续重复发送KeyEvent的动作

adb shell sendevent /dev/input/event7   1   114  0  // 松开

adb shell sendevent /dev/input/event7   0    0     0    // 同步事件

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值