getevent&sendevent 是android系统下的一个工具,可以模拟多种按键和触屏操作,产生的是raw event,raw event经过event hub处理产生最终的gesture事件。
=== getevent ===
getevent 监控当前的事件,鼠标事件,按键事件,拖动滑动等
dd device 1: /dev/input/event0
name: "qwerty2"
/dev/input/event0: 0001 001e 00000001
/dev/input/event0: 0001 001e 00000000
其中/dev/input/event0是device的名字 0001是type, 001e是键码, 最后一个根据type不同而不同
比如上面的倒数第二条就是按下a键的keydown,最后一个是按下a的keyup
具体的type,code,value的定义可以在源码/frameworks/base/core/java/android/view/KeyEvent.java中找到
=== sendevent ===
命令格式2:adb shell sendevent [device] [type] [code] [value]
发送时间,格式和上面的一样,需要注意的是在get中code显示的是十六进制,而send中需要用十进制,例如
# sendevent /dev/input/event0 1 5 1
这个命令就是发送数字4的keydown消息,所以在屏幕上就会一直打印出很多个4(因为没有发送keyup)
如: adb shell sendevent /dev/input/event0 1 229 1 代表按下按下menu键
adb shell sendevent /dev/input/event0 1 229 0 代表按下松开menu键
说明:上述的命令需组合使用
另外所知道的命令如下:
Key Name CODE
MENU 229
HOME 102
BACK (back button) 158
CALL (call button) 231
END (end call button) 107
2.发送鼠标事件(Touch):
命令格式:adb shell sendevent [device] [type] [code] [value]
情况1:在某坐标点上touch
如在屏幕的x坐标为40,y坐标为210的点上touch一下,命令如下
adb shell sendevent /dev/input/event0 3 0 40
adb shell sendevent /dev/input/event0 3 1 210
adb shell sendevent /dev/input/event0 1 330 1 //touch
adb shell sendevent /dev/input/event0 0 0 0 //it must have
adb shell sendevent /dev/input/event0 1 330 0 //untouch
adb shell sendevent /dev/input/event0 0 0 0 //it must have
注:以上六组命令必须配合使用,缺一不可
情况2:模拟滑动轨迹(可下载并采用aPaint软件进行试验)
如下例是在aPaint软件上画出一条开始于(100,200),止于(108,200)的水平直线
adb shell sendevent /dev/input/event0 3 0 100 //start from point (100,200)
adb shell sendevent /dev/input/event0 3 1 200
adb shell sendevent /dev/input/event0 1 330 1 //touch
adb shell sendevent /dev/input/event0 0 0 0
adb shell sendevent /dev/input/event0 3 0 101 //step to point (101,200)
adb shell sendevent /dev/input/event0 0 0 0
…………………… //must list each step, here just skip
adb shell sendevent /dev/input/event0 3 0 108 //end point(108,200)
adb shell sendevent /dev/input/event0 0 0 0
adb shell sendevent /dev/input/event0 1 330 0 //untouch
adb shell sendevent /dev/input/event0 0 0 0
参考:
http://topic.csdn.net/u/20100326/17/1f0fc5a1-3bd2-4294-aa35-1bcb73357aa3.html
http://www.51testing.com/html/65/n-215865-2.html
分享到:
相关推荐
Android getevent用法实例详解 最近在测试设备按键的常用命令,感觉这些命令都有的,但就是不知道怎么查找。 翻阅了几篇博文,才发现有一个getevent,就是指这样的命令. 首先需要说明的是getevent命令后面可以带上...
Android sendevent/getevent 用法 博客地址:http://blog.csdn.net/lowprofile_coding/article/details/48414289
简介: ... ...3、/dev/input/event3 这个...4、通过getEvent()事件 点击雷电模拟器后输出查看 5、这个sendevent 事件还可以实现滑动、和多指触屏如果有这样需求在研究。 6、sendevent 相对 input tap 响应的速度要快一些。
getevent移植Android工具getevent到Linux,相应的文件位于system/core/toolbox中。修改步骤如下:getevent.c引用的头文件'input.h-labels.h'是用脚本'generate-input.h-labels.py'自动生成的,参数是'bionic/libc/...
获取触摸屏触点测试程序,程序执行如下: ./GetEvent /dev/input/event1 点击触摸屏即可获取触点坐标值,方便调试使用。
用于录制android按键,录制后可以重放,可以帮助做一些重复的操作。 使用adb shell push evi /system/bin/evi 命令将该工具push到android手机 /system/bin/目录即可使用 用法很简单: 1 输入 adb shell evi ...
Linux Android下的getevent命令源码,使用对应的编译器编译即可。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
注意:从android工具箱移植,使用ubuntu x86和armhf系统进行测试。 建造: gcc getevent.c -o getevent 测试:sudo ./getevent 添加设备1:/ dev / input / event1 名称:“ Lite-On Technology Corp. HP基本USB键盘...
getevent源码,可用于测试Linux内核input事件
getevent 实现触屏事件的touch 坐标获取
自动把getevent转化为sendevent的工具,并且组装成可循环执行的shell,简易按键录制工具
主要介绍了 Android onKeyDown监听返回键无效的解决办法的相关资料,需要的朋友可以参考下
getevent souce code for linux and bin for ARM.
dumpsys input cat /sys/kernel/debug/usb/devices
单片机开发箱上所配的遥控器的键码表,编码协议是NEC6122
InputEventAnalyzer 分析adb shell getevevent [-lrtp]输出的文本职能自动检测多点触控协议A和B GetEvent文字指向播放积分轨道检测可能的错误开发环境Visual Studio 2010 Windows 7 64位
wenyuanbo@cm-System-Product-Name:/home/wwt/r58_bma250/android$ source build/envsetup.sh including device/softwinner/kylin-p1/vendorsetup.sh including device/softwinner/octopus-n1/vendorsetup.sh ...
Linux 测试输入设备时间的测试代码,用于测试触摸代码的实现,希望大家一起知道学习,linux触摸移植方面的资料
马老师cat练习代码,