当前位置: 首页 > news >正文

Android 系统下 getevent 工具

Android 系统下 getevent 工具

  • 1、getevent
  • 2、InputEvent 事件
    • 2.1 触摸事件
    • 2.2 音量按键

/system/bin/getevent
/system/bin/toolbox
/system/bin/toybox

IMS添加实体按键流程 - Android14

1、getevent

getevent 是一个在 Android 系统Linux 嵌入式设备 中常用的调试命令,用于实时查看内核输入事件(input events),这里主要查看Android系统。

system/core/toolbox/getevent.c

lrwxr-xr-x 1 root shell u:object_r:system_file:s0  7 2009-01-01 08:00 system/bin/getevent -> toolbox

命令|说明

getevent列出所有输入设备
getevent -l以可读格式列出设备(推荐)
getevent /dev/input/event0监听指定设备事件
getevent -l /dev/input/event0以可读格式监听事件
getevent -p /dev/input/event0查看设备能力

2、InputEvent 事件

/dev/input/eventX: type code value
字段含义
eventX输入设备节点(如触摸屏、按键)
type事件类型(如按键EV_KEY、绝对坐标EV_ABS)
code事件代码(具体键码或坐标轴)
value事件值(1=按下,0=释放,2=重复)

frameworks/native/services/inputflinger/reader/InputReader.cpp
frameworks/native/services/inputflinger/reader/EventHub.cpp

/** A raw event as retrieved from the EventHub.*/
struct RawEvent {// Time when the event happenednsecs_t when;// Time when the event was read by EventHub. Only populated for input events.// For other events (device added/removed/etc), this value is undefined and should not be read.nsecs_t readTime;int32_t deviceId;int32_t type;int32_t code;int32_t value;
};

2.1 触摸事件

/dev/input/event2: 0001 014a 00000001
/dev/input/event2: 0003 0039 0000007c
/dev/input/event2: 0003 0035 000000d7
/dev/input/event2: 0003 0036 0000049a
/dev/input/event2: 0001 0145 00000001
/dev/input/event2: 0000 0000 00000000
/dev/input/event2: 0003 0039 ffffffff
/dev/input/event2: 0001 014a 00000000
/dev/input/event2: 0001 0145 00000000
/dev/input/event2: 0000 0000 00000000
事件(type code value)含义
10001 014a 00000001按下触摸屏(BTN_TOUCH)
20003 0039 0000007c多点触控槽 ID = 124(0x7c)
30003 0035 000000d7X 坐标 = 215(0xd7)
40003 0036 0000049aY 坐标 = 1178(0x49a)
50001 0145 00000001按下触控笔/触控点 2(BTN_TOOL_FINGER)
60000 0000 00000000同步事件(SYNC_REPORT),表示一帧结束
70003 0039 ffffffff多点触控槽 ID = -1(无效,表示释放)
80001 014a 00000000抬起触摸屏(BTN_TOUCH = 0)
90001 0145 00000000抬起触控笔/触控点 2
100000 0000 00000000同步事件,表示抬起帧结束

getevent -l /dev/input/event1

EV_KEY       BTN_TOUCH            DOWN                
EV_ABS       ABS_MT_TRACKING_ID   0000003e            
EV_ABS       ABS_MT_POSITION_X    00000105            
EV_ABS       ABS_MT_POSITION_Y    00000363            
EV_KEY       BTN_TOOL_FINGER      DOWN                
EV_SYN       SYN_REPORT           00000000            
EV_ABS       ABS_MT_TRACKING_ID   ffffffff            
EV_KEY       BTN_TOUCH            UP                  
EV_KEY       BTN_TOOL_FINGER      UP                  
EV_SYN       SYN_REPORT           00000000

2.2 音量按键

/dev/input/event1: 0001 0072 00000001
/dev/input/event1: 0000 0000 00000000
/dev/input/event1: 0001 0072 00000000
/dev/input/event1: 0000 0000 00000000
事件(type code value)含义
10001 0072 00000001音量下键 (ScanCode=0x72, KeyCode=25)按下(0x1)
20000 0000 00000000同步事件
30001 0072 00000000音量下键 (ScanCode=0x72, KeyCode=25)释放(0x0)
40000 0000 00000000同步事件

底层键值ScanCode对应文件: frameworks/base/data/keyboards/Generic.kl
ScanCode转化:#define DEFINE_KEYCODE(key) { #key, AKEYCODE_##key }

getevent -l /dev/input/event1

EV_KEY       KEY_VOLUMEDOWN       DOWN                
EV_SYN       SYN_REPORT           00000000            
EV_KEY       KEY_VOLUMEDOWN       UP                  
EV_SYN       SYN_REPORT           00000000 
http://www.dtcms.com/a/446401.html

相关文章:

  • 学院网站建设方案软件开发自学入门教程
  • Deflate在线解压工具(支持无zlib头)
  • win7下winlogon.exe调试记录
  • 网站 做 app开发wordpress插件开发
  • 昆明做网站哪家便宜怎么让付费网站免费
  • 《C++进阶之C++11》【智能指针】(下)
  • 桐城网站定制软件开发的学校有哪些
  • 海南省工程建设定额网站简单网站首页
  • K230基础-特征检测
  • 宁波网站建设内容深圳网站开发建设服务公司
  • CTFHub 信息泄露通关笔记11:HG泄露(4种方法)
  • 网站采用什么方法建设wordpress获取文章信息
  • 上海网站建设公司招聘wordpress用手机写博客
  • 网站为什么要更新wordpress保护插件
  • Maixcam学习笔记-寻址色块和直线
  • 您正在 GUI 下运行 Fcitx,但是 fcitx-config-qt 未被找到。该软件包名称通常为 fcitx5-configtool。现在将打开配置目录
  • 速通web全栈开发
  • 网站建设虚拟服务器赣州新闻最新消息
  • 33.搜索旋转排序数组;153.寻找旋转排序数组中的最小值 4. 寻找两个正序数组的中位数
  • 4准则下,2可加模糊测度满足单调性和有界性约束。假设没有任何其他先验信息,基于Marichal熵最大的目标,求解莫比乌斯参数。
  • 果洛州wap网站建设公司wordpress用哪个国外空间
  • 【IMX6ULL驱动学习】INPUT子系统
  • 上海做网站建设公司代理注册公司流程和费用
  • spring6学习笔记
  • 资料代做网站网站建设维护合同
  • 【Linux】 开启关闭MediaMTX服务
  • 网站qq启动链接怎么做宁波seo网络推广定制多少钱
  • 下载站用什么cms公众号微网站建设
  • 南阳做网站 汉狮公司wordpress游客
  • 网站建设比较好的律所无锡专业网站营销