Android getevent/sendevent/input使用方法
来源:互联网 发布:java socket 聊天室 编辑:程序博客网 时间:2024/05/18 01:33
Android getevent/sendevent/input使用方法
- Android geteventsendeventinput使用方法
- getevent
- sendevent
- input
1.getevent
getevent旨在获取android设备的事件信息;
getevent源码alsp/system/core/toolbox/getevent.c,以及详细使用方法如下:
$adb shell getevent -hUsage: getevent [-t] [-n] [-s switchmask] [-S] [-v [mask]] [-d] [-p] [-i] [-l] [-q] [-c count] [-r] [device] -t: show time stamps -n: don't print newlines -s: print switch states for given bits -S: print all switch states -v: verbosity mask (errs=1, dev=2, name=4, info=8, vers=16, pos. events=32,props=64) -d: show HID descriptor, if available -p: show possible events (errs, dev, name, pos. events) -i: show all device info and possible events -l: label event types and names in plain text -q: quiet (clear verbosity mask) -c: print given number of events then exit -r: print rate events are received
获取event设备详细信息,硬件可能不同,信息可能不准确:
$adb shell cat /proc/bus/input/devices$adb shell getevent -i
显示格式为:device:type code value,即设备,事件类型,键值类别,具体数值;
具体定义可从kernel-3.18/include/linux/input.h中获得;
$adb shell getevent/dev/input/event6: 0002 0000 00000001/dev/input/event6: 0002 0006 00027506
举例获取power键值信息
$adb shell getevnet /dev/input/event20001 0074 00000001 //按下0000 0000 000000000001 0074 00000000 //抬起0000 0000 00000000$adb shell getevnet -l /dev/input/event2EV_KEY KEY_POWER DOWN //按下EV_SYN SYN_REPORT 00000000EV_KEY KEY_POWER UP //抬起EV_SYN SYN_REPORT 00000000
2.sendevent
sendevent可以向设备发送模拟事件,其中包括touch和keypress。
sendevent源码alsp/system/core/toolbox/sendevent.c,以及详细使用方法如下:
$adb shell sendevent -huse: sendevent device type code value
值得注意的是getevent获取的数值是16进制,sendevent使用的是10进制的,需要进行转换;
模拟power键,sendevent较复杂,很少使用;
$adb shell sendevent /dev/input/event2 0001 116 1$adb shell sendevent /dev/input/event2 0000 0 0$adb shell sendevent /dev/input/event2 0001 116 0$adb shell sendevent /dev/input/event2 0000 0 0
3.input
$adb shell inputUsage: input [<source>] <command> [<arg>...]The sources are: keyboard mouse joystick touchnavigation touchpad trackball dpad stylus gamepad touchscreenThe commands and default sources are: text <string> (Default: touchscreen) keyevent [--longpress] <key code number or name> ... (Default: keyboard) tap <x> <y> (Default: touchscreen) swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen) press (Default: trackball) roll <dx> <dy> (Default: trackball)
模拟power键,keycode键值可查看 alsp/frameworks/base/core/java/android/view/KeyEvent.java;
$adb shell input keyevent 26 //26是power键的键值;
点击屏幕
$adb shell input tap 100 800
滑动屏幕
$adb shell swipe 100 600 900 600 //Y轴不动,左右滑;$adb shell swipe 500 0 500 1000 //X轴不动,上下滑;
阅读全文
1 0
- Android getevent/sendevent/input使用方法
- android之getevent/sendevent/input
- Android getevent,sendevent,input keyevent
- android getevent、sendevent、input keyevent 使用说明
- [Android]getevent,sendevent,input命令的使用
- Android sendevent/getevent 用法
- Android sendevent/getevent 用法
- Android getevent/sendevent详解
- Android sendevent/getevent 用法
- Android sendevent/getevent 用法
- Android sendevent/getevent 用法
- Android sendevent/getevent 用法
- Android sendevent/getevent 用法
- Android sendevent/getevent 用法
- Android sendevent/getevent 用法
- Android sendevent/getevent 用法
- Android getevent/sendevent详解
- Android sendevent/getevent 用法
- Java第三天
- 伽利略解析
- telnet 模拟http请求
- vs2013配置opencv3.3.0
- 解构赋值的原理
- Android getevent/sendevent/input使用方法
- 浅谈C语言操作符
- 【Flashback】Flashback Database闪回数据库功能实践
- TensorFlow MNIST的CNN实现——源码和运行结果
- 2017年11月23日训练总结
- 浅谈多线程在java程序中的应用
- 求nextval数组值的简便算法
- SSH中公共Dao层、Dao接口
- Online Judge判题结果解析