Android getevent用法实例详解

所属分类: 软件编程 / Android 阅读数: 43
收藏 0 赞 0 分享

 Android getevent用法实例详解

最近在测试设备按键的常用命令,感觉这些命令都有的,但就是不知道怎么查找。

翻阅了几篇博文,才发现有一个getevent,就是指这样的命令.

首先需要说明的是getevent命令后面可以带上具体的input设备,列如getevent /dev/iput/event0,这样可以过滤掉一些不用显示的input的设备.

我在之前的使用中,还是有些找不到点子,也是一步一步使用起来的。

首先看-p 选项, -p选项用于输出input设备相关的一些信息,列如, getevent -p /dev/input/event0:

add device 1 : /dev/input/event0:

name: “radio_key”

events:

KEY (0001): 0043 0044 0057 0058

input props: 

那么-i 选项,同-p 选项差不多,只是显示的信息更丰富,getevent -i /dev/input/event0:

add device 1: /dev/input/event0 
bus: 0000 
vendor 0000 
product 0000 
version 0000 
name: “radio_key” 
location: “” 
id: “” 
version: 1.0.1 
events: 
KEY (0001): 0043 0044 0057 0058 
input props: 

对于-p或-i选项呢,可以帮助我们判断input设备是否已经注册成功.

再来看-l选项,我们首先不加-l选项来看看,输入getevent /dev/input/event7命令,注event7是触摸屏的input设备:

0001 014a 00000001 
0003 0030 000000ff 
0003 0035 00000262 
0003 0036 00000546 
0003 0039 00000011 
0000 0002 00000000 
0000 0000 00000000 
0001 014a 00000000 
0000 0002 00000000 
0000 0000 00000000

看到了吗,得到的是这样一组信息,只看数字的话,也不知道具体的含义,那么如果加上-l选项呢,getevent -l /dev/input/event7:

EV_KEY BTN_TOUCH DOWN 
EV_ABS ABS_MT_TOUCH_MAJOR 000000ff 
EV_ABS ABS_MT_POSITION_X 00000262 
EV_ABS ABS_MT_POSITION_Y 00000546 
EV_ABS ABS_MT_TRACKING_ID 00000011 
EV_SYN SYN_MT_REPORT 00000000 
EV_SYN SYN_REPORT 00000000 
EV_KEY BTN_TOUCH UP 
EV_SYN SYN_MT_REPORT 00000000 
EV_SYN SYN_REPORT 00000000

我们看,这样就容易明白多了,格式是event type、event code、event value,至于这些所代表的含义可以参考input设备相关的东西。

来看-r选项,-r选项可以输出输入报告的速率,例如getevent -r /dev/input/event7:

0000 0000 00000000 rate 83 
0003 0030 0000004d 
0003 0035 0000024e 
0003 0036 00000364 
0003 0039 00000000 
0000 0002 00000000 
0000 0000 00000000 rate 83 
0003 0030 0000004c 
0003 0035 0000024f 
0003 0036 00000364 
0003 0039 00000000 
0000 0002 00000000 
0000 0000 00000000 rate 83

使用这个选项可以帮助我们检测输入报告的速率是否满足我们的要求,例如检测tp报点速率。

关于getevent命令选项大概就介绍这几个,其他的用法可以参考上面的getevent命令用法,另外,这些命令选项都是可以组合使用的,例如getevent -lr /dev/input/event7。

我是在检测设备按键时,觉得物理键指令无法找到,才发现这些命令。

与getevent相对应的是sendevent命令,但是sendevent命令输入稍显复杂,可以使用另外一个命令input来代替。例如,输入input keyevent KEYCODE_POWER表示按下一次power按键。

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

更多精彩内容其他人还在看

Android网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多