Android getevent用法详解
getevent 指令用于获取 input 输入事件,比如获取按键上报信息、获取触摸屏上报信息等。
指令源码路径:/system/core/toolbox/getevent.c
getevent -h:查看 getevent 帮助信息
root@rk3288:/ # getevent -h
getevent -h
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=, dev=, name=, info=, vers=, pos. events=, props=)
-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
getevent:显示当前有那些输入设备,数量与 /dev/input 目录下相同
root@rk3288:/ # getevent
getevent
add device : /dev/input/event3
name: "ILITEK Multi-Touch-V3020"
add device : /dev/input/event2
name: "PC Camera"
add device : /dev/input/event1
name: "gsensor"
add device : /dev/input/event0
name: "rk29-keypad" root@rk3288:/ # ls /dev/input
ls /dev/input
event0
event1
event2
event3
查看默认上报数据
root@rk3288:/ # getevent /dev/input/event3
getevent /dev/input/event3 00001a9f
014a 00001a9f ffffffff
014a
-t:显示时间戳
// 读取 event3 数据(触摸屏)
root@rk3288:/ # getevent -t /dev/input/event3
getevent -t /dev/input/event3
[ 1141.248434] 0000000e
[ 1141.248434] 00002cd4
[ 1141.248434] 00001a09
[ 1141.248434] 014a
[ 1141.248434] 00002cd4
[ 1141.248434] 00001a09
[ 1141.248434]
[ 1141.322181] ffffffff
[ 1141.322181] 014a
[ 1141.322181]
-n:不换行打印
root@rk3288:/ # getevent -n /dev/input/event3
getevent -n /dev/input/event3
00002f000003 00001a4e0001 014a 00002f000003 00001a4e0000 ffffffff0001 014a 00002e880003 000019b80001 014a 00002e880003 000019b80000 ffffffff0001 014a 00002d700003 00001a000001 014a 00002d700003 00001a000000 ffffffff0001 014a 00002d080003 000019a50001 014a 00002d080003 000019a50000 ffffffff0001 014a
-s:显示指定位的开关状态
root@rk3288:/ # getevent -s5 /dev/input/event3
getevent -s5 /dev/input/event3
-S:显示所有位的开关状态
root@rk3288:/ # getevent -S /dev/input/event3
getevent -S /dev/input/event3
-v:根据 mask 值显示相关信息,执行后会一直显示上报数据
errs=1, dev=2, name=4, info=8, vers=16, pos. events=32, props=64
默认显示 dev| name| info| vers = 30;
root@rk3288:/ # getevent -v /dev/input/event3
getevent -v /dev/input/event3
add device : /dev/input/event3
bus:
vendor 222a
product 004d
version
name: "ILITEK Multi-Touch-V3020"
location: "usb-ff540000.usb-1.3/input0"
id: ""
version: 1.0. root@rk3288:/ # getevent -v30 /dev/input/event3
getevent -v30 /dev/input/event3
add device : /dev/input/event3
bus:
vendor 222a
product 004d
version
name: "ILITEK Multi-Touch-V3020"
location: "usb-ff540000.usb-1.3/input0"
id: ""
version: 1.0. root@rk3288:/ # getevent -v2 /dev/input/event3
getevent -v2 /dev/input/event3
add device : /dev/input/event3 root@rk3288:/ # getevent -v8 /dev/input/event3
getevent -v8 /dev/input/event3
bus:
vendor 222a
product 004d
version
location: "usb-ff540000.usb-1.3/input0"
id: "" root@rk3288:/ # getevent -v16 /dev/input/event3
getevent -v16 /dev/input/event3
version: 1.0. root@rk3288:/ # getevent -v32 /dev/input/event3
getevent -v32 /dev/input/event3
events:
KEY (): 014a
ABS (): : value , min , max , fuzz , flat , resolution
: value , min , max , fuzz , flat , resolution
002f : value , min , max , fuzz , flat , resolution
: value , min , max , fuzz , flat , resolution
: value , min , max , fuzz , flat , resolution
: value , min , max , fuzz , flat , resolution
-d:如果设备可用,显示设备隐藏的描述信息
-p:显示设备支持的事件类型和编码方式
root@rk3288:/ # getevent -p /dev/input/event3
getevent -p /dev/input/event3
add device : /dev/input/event3
name: "ILITEK Multi-Touch-V3020"
events:
KEY (): 014a
ABS (): : value , min , max , fuzz , flat , resolution
: value , min , max , fuzz , flat , resolution
002f : value , min , max , fuzz , flat , resolution
: value , min , max , fuzz , flat , resolution
: value , min , max , fuzz , flat , resolution
: value , min , max , fuzz , flat , resolution
input props:
INPUT_PROP_DIRECT
-i:显示设备的所有信息和支持的事件,比 -p 显示更多信息
root@rk3288:/ # getevent -i /dev/input/event3
-l:以文本形式输出事件类型和名称,比 -t 更清楚直观
// 读取 event3 数据(触摸屏)
root@rk3288:/ # getevent -l /dev/input/event3
getevent -l /dev/input/event3
// 事件类型 事件码 事件值
EV_ABS ABS_MT_TRACKING_ID 0000000f
EV_ABS ABS_MT_POSITION_X 00002bbc
EV_ABS ABS_MT_POSITION_Y 00001b6d
EV_KEY BTN_TOUCH DOWN
EV_ABS ABS_X 00002bbc
EV_ABS ABS_Y 00001b6d
EV_SYN SYN_REPORT
EV_ABS ABS_MT_TRACKING_ID ffffffff
EV_KEY BTN_TOUCH UP
EV_SYN SYN_REPORT
-q:暂时不会使用
-c:打印固定数量的事件并退出
root@rk3288:/ # getevent -c /dev/input/event3
getevent -c /dev/input/event3 000038a4
000008f5
014a
000038a4
000008f5 ffffffff
014a
-r:显示事件上报速率
// 检测触摸屏报点速率
root@rk3288:/ # getevent -r /dev/input/event3
getevent -r /dev/input/event3 000030d8 014a
000030d8 rate
ffffffff
014a
rate
参数可以组合使用,一次性查看需要的触摸屏信息
root@rk3288:/ # getevent -tlr /dev/input/event3
getevent -tlr /dev/input/event3
[ 2514.550104] EV_ABS ABS_MT_TRACKING_ID 0000001c
[ 2514.550104] EV_ABS ABS_MT_POSITION_X 00002dac
[ 2514.550104] EV_ABS ABS_MT_POSITION_Y 000018ca
[ 2514.550104] EV_KEY BTN_TOUCH DOWN
[ 2514.550104] EV_ABS ABS_X 00002dac
[ 2514.550104] EV_ABS ABS_Y 000018ca
[ 2514.550104] EV_SYN SYN_REPORT rate
[ 2514.638845] EV_ABS ABS_MT_TRACKING_ID ffffffff
[ 2514.638845] EV_KEY BTN_TOUCH UP
[ 2514.638845] EV_SYN SYN_REPORT rate
Android getevent用法详解的更多相关文章
- Android GLSurfaceView用法详解(二)
输入如何处理 若是开发一个交互型的应用(如游戏),通常需要子类化 GLSurfaceView,由此可以获取输入事件.下面有个例子: java代码: package eoe.ClearTes ...
- Android Fragment用法详解(2)--动态添加Fragment
在上一篇文章<Android Fragment用法详解(1)--静态使用Fragment>我们讲解了Fragment的最简单的用法.这次我们来说一说Fragment复杂一丢丢的用法.在代码 ...
- Android.mk用法详解
一.Android.mk介绍 Android.mk是Android提供的一种makefile文件,用来指定诸如编译生成so库名.引用的头文件目录.需要编译的.c/.cpp文件和.a静态库文件等.要掌握 ...
- Android Fragment用法详解(1)--静态使用Fragment
先说明一下,本例子是运行在Android Studio下面的.同样的代码复制粘贴到Eclipse运行却会报错.具体原因我也没有细查.知道的哥们,留言通知下呗. Fragment,也就是碎片,本意是为了 ...
- android: startActivityForResult用法详解
一.如果想在Activity中得到新打开Activity 关闭后返回的数据,需要使用系统提供的startActivityForResult(Intent intent, int requestCode ...
- Android之canvas详解
首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, y ...
- 【转】Android Canvas绘图详解(图文)
转自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1212/703.html Android Canvas绘图详解(图文) 泡 ...
- Android Studio 插件开发详解二:工具类
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78112856 本文出自[赵彦军的博客] 在插件开发过程中,我们按照开发一个正式的项 ...
- JMessage Android 端开发详解
目前越来越多的应用会需要集成即时通讯功能,这里就为大家详细讲一下如何通过集成 JMessage 来为你的 App 增加即时通讯功能. 首先,一个最基础的 IM 应用会需要有哪些功能? 用户注册 / 登 ...
随机推荐
- nyoj151——中国剩余定理
生理周期 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 142220 Accepted: 45744 Descripti ...
- Mac下新安装的MySQL无法登陆root用户解决方法
一 设置MySQL命令行搜索路径 0.苹果->系统偏好设置->最下边点mysql 在弹出页面中 启动mysql服务 1.打开终端,输入: sudo vi ~/.bash_profile ...
- compass框架的sprite雪碧图的用法简要
---恢复内容开始--- **简介** CSS SPRITE 即 CSS雪碧,即是将诸多图片合成一张图片,然后使用CSS 的background和background-position属性渲染. 这样 ...
- windows下的一些命令
dir 相当于linux下的ls clear 清屏 netstat 活动连接 | 管道命令 findstr 查询类似linux的grep tasklist 查看进程列表 taskkill 杀死进程 d ...
- procrdure存储过程
/* 存储过程 在一些语言中,有一个概念叫”过程“ procedure,和”函数“ function 过程:封装了若干条语句,调用时,这些封装体执行 函数:是一个有返回值的“过程” 过程:没有返回值的 ...
- 转:SQL Server服务器名称与默认实例名不一致的修复方法
--原因分析: --SERVERPROPERTY 函数的 ServerName 属性与@@SERVERNAME 返回相似的信息. --ServerName 属性提供Windows 服务器和实例名称,两 ...
- PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
出现这个错误的原因就是语法错误,肯定是PHP程序的书写不规范造成,PHP语句标识符错了,没有在php.ini中开启短标签!八成是这个原因,啊啊啊! 今天在写PHP程序的时候总是出现这样的错误:Pars ...
- React之组件
鉴于个人的开发习惯,我将react默认的文件结构作了如下修改: 我们的项目是写在src目录下的. 那么,接下来,继续看react的组件式如何编写的吧. 一.react的组件 不同于vue的每个组件都是 ...
- [AirFlow]AirFlow使用指南四 DAG Operator Task
1. DAG 在Airflow中,DAG或有向无环图是你运行所有任务的集合,以某种组织方式来反映所有任务之间的关系和依赖. 例如,一个简单的DAG可以包括三个任务:A,B和C.可以说A必须在B运行之前 ...
- Xcode 9 俩个你必须知道的新功能
Xcode 9 beta 版已经可以下载了,不知道大家伙对这个新版本开发工具看法如何,最近我费了一番周折终于体验了一把,升级系统,下载Xcode,验证安装扒拉扒拉什么的,几乎搞了我一天,我做开发使用的 ...