Linux Input getevent事件解析器Analyzer

Input Event Analyzer用于解析adb shell getevent 命令产生的.input设备event序列. 

使用VS2010开发环境, MFC C++语言编写.

主要实现以下功能:

(1)    input设备属性的解析

(2)    TP的touch/key的事件解析

(3)    touch事件模拟

 

1.      获取用于解析的event.txt

 


2.      导入event.txt

 

3.     功能

3.1   input设备属性的解析

会先解析getevent –p的样例, 对name以及所有支持的属性进行解析.

主要是对ABS和KEY事件的解析, 根据ABS事件来推导出TP使用的是Multi-Touch的A协议还是B协议.

 

3.2  TP的touch/key的事件解析

(1)      input设备下拉框

选择input设备,默认为tp的设备,如果是Multi-Touch协议B会加有[B]

 

(2)      Label 复选框

选中态: 将input event显示为字符串形式

中间态: 将input event显示为十六进制形式

未选中态: 不显示input event信息

                 

(3)      Points复选框 

选中态:显示触点和按键信息

未选中态: 不显示触点和按键信息

        

(4)      Event事件列表

(a)    单击某一次事件,查看事件详情,

(b)    按钮选中当前项的上一次事件,选中下一次事件

(c)     选中前面的复选框查看多次事件的event详情

(d)    选中,则会选中所有事件,否则未选中所有事件

 

3.3  Touch事件的模拟

(1)     选中,选中所需要的演示的事件,默认为第一次事件,点击即将进行演示,按钮将变为Stop,选择一个为静止,选择多个将会循环动态模拟。

演示区域的”[1]”序号与Event事件列表中的序号是对应的。


 

(2)     选中,即模拟Android里面的Pointer Location,会展示历史轨迹.

 


(3)    演示区域右键菜单

Pause/Play: 暂停和继续播放

Play Checked Items: 播放选中的事件



VS2010 Project Download:  CSDN资源

最新版Github: GitHub链接

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`getevent` 是一个用于在 Linux 系统上监视和显示输入设备事件的命令行工具。它可以用于调试和分析触摸屏、按键等输入设备的事件流。 `getevent` 命令的用法如下: ```bash getevent [选项] ``` 常用的选项包括: - `-t`:在输出中包含时间戳信息。 - `-l`:以长格式显示事件信息。 - `-c <COUNT>`:指定要显示的事件数量。 - `-p`:以可读的形式显示事件参数(十六进制值转换为人类可读的格式)。 默认情况下,`getevent` 命令会监听系统上的所有输入设备事件。当有事件发生时,它会以十六进制格式显示事件的详细信息,包括设备文件路径、事件类型、事件代码和事件值等。 以下是一个示例输出: ``` /dev/input/event0: EV_SYN SYN_REPORT 00000000 /dev/input/event0: EV_KEY BTN_TOUCH DOWN /dev/input/event0: EV_ABS ABS_MT_POSITION_X 000001ae /dev/input/event0: EV_ABS ABS_MT_POSITION_Y 000002f3 /dev/input/event0: EV_SYN SYN_REPORT 00000000 /dev/input/event0: EV_ABS ABS_MT_POSITION_X 000001b2 /dev/input/event0: EV_ABS ABS_MT_POSITION_Y 000002f4 /dev/input/event0: EV_SYN SYN_REPORT 00000000 ... ``` 这个输出表示设备文件为 `/dev/input/event0`,事件类型为 `EV_SYN`、`EV_KEY`、`EV_ABS` 等,事件代码为 `SYN_REPORT`、`BTN_TOUCH`、`ABS_MT_POSITION_X` 等,事件值以十六进制表示。 你可以使用 Ctrl + C 来停止 `getevent` 命令的执行。 需要注意的是,`getevent` 命令需要在 root 权限下运行,或者将当前用户添加到 `input` 组中。 希望以上信息对你有帮助!如有更多问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值