Android 下收发input事件的工具 getevent 和 sendevent
来源:互联网 发布:淘宝学习平台 编辑:程序博客网 时间:2024/05/22 08:03
Android 自带了 getevent 和 sendevent,分别用于获取设备报送的事件和模拟产生事件,前者用于辅助设备驱动的验证,后者用于模拟事件进行上层应用的验证。
关于event设备的获取,在 /proc/bus/input/devices 下面:
Usage: 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
$ adb shell sendevent -h
use: sendevent device type code value
$ input keyevent ${KEYCODE_HOME}
或者:
先获取gpio-keys event的设备接口:
$ adb shell cat /proc/bus/input/devices | grep -A 5 gpio-keys | grep event
H: Handlers=event5
# Press power button(Don't release)
$ adb shell sendevent /dev/input/event5 1 $((0x74)) 1
$ adb shell sendevent /dev/input/event5 0 0 0
# Release power button
$ adb shell sendevent /dev/input/event5 1 $((0x74)) 0
$ adb shell sendevent /dev/input/event5 0 0 0
$ adb shell getevent /dev/input/event5
然后按下power键并观察输出:
按下时:
0001 0074 00000001
0000 0000 00000000
弹起来时:
0001 0074 00000000
0000 0000 00000000
可以看到更好跟我们上面模拟的一样,注,上面那些值是十六进制的,如果想要 更加直观地分析获取的上报事件可以参考 在 Android 通过 get_event 获得 input 设备 上报event
关于event设备的获取,在 /proc/bus/input/devices 下面:
$ adb shell cat /proc/bus/input/devices
0 getevent和sendevent用法:
$ 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
$ adb shell sendevent -h
use: sendevent device type code value
1、模拟发送一个Power键:
$ export KEYCODE_POWER=26$ input keyevent ${KEYCODE_HOME}
或者:
先获取gpio-keys event的设备接口:
$ adb shell cat /proc/bus/input/devices | grep -A 5 gpio-keys | grep event
H: Handlers=event5
# Press power button(Don't release)
$ adb shell sendevent /dev/input/event5 1 $((0x74)) 1
$ adb shell sendevent /dev/input/event5 0 0 0
# Release power button
$ adb shell sendevent /dev/input/event5 1 $((0x74)) 0
$ adb shell sendevent /dev/input/event5 0 0 0
2、模拟获取Power键的事件
先执行$ adb shell getevent /dev/input/event5
然后按下power键并观察输出:
按下时:
0001 0074 00000001
0000 0000 00000000
弹起来时:
0001 0074 00000000
0000 0000 00000000
可以看到更好跟我们上面模拟的一样,注,上面那些值是十六进制的,如果想要 更加直观地分析获取的上报事件可以参考 在 Android 通过 get_event 获得 input 设备 上报event
- Android 下收发input事件的工具 getevent 和 sendevent
- Android 下收发input事件的工具 getevent 和 sendevent
- Android 下收发input事件的工具 getevent 和 sendevent
- Android 下收发input事件的工具 getevent 和 sendevent
- [Android]getevent,sendevent,input命令的使用
- android之getevent/sendevent/input
- Android getevent,sendevent,input keyevent
- Android getevent/sendevent/input使用方法
- Android input输入设备getevent 和sendevent用法
- 【android学习】getevent和sendevent
- android getevent、sendevent、input keyevent 使用说明
- Android getevent / sendevent的用法
- Android getevent/sendevent的使用
- getevent 工具 和 Android 中input event的分析
- getevent 工具 和 Android 中input event的分析
- 安卓getevent和sendevent的使用
- [android] 调试linux input子系统驱动的用户空间命令 getevent/sendevent
- Android sendevent/getevent 用法
- JDK1.5新特性
- html表单提交事件
- POJ 1113 Wall (计算几何-凸包)
- 完整的拼图游戏的算法
- 【JEECG V3.0版本新架构基础】
- Android 下收发input事件的工具 getevent 和 sendevent
- 手把手教你把Vim改装成一个IDE编程环境(图文)
- 清除UITableView底部多余的分割线
- 强悍修改WIN7的文件夹背景(修改DLL)
- Oracle分析函数参考手册
- 字符串的hash算法
- Android Dalvik 虚拟机
- 关于WSAEWOULDBLOCK
- 有关Matlab 中的Simulink 自动生成DSP可运行的C代码 的问题