Android getevent用法

getevent命令用法如下:

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

这里对于几个常用的命令选项做一些说明。

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

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

add device 1: /dev/input/event0name:     "cust_gpio_key"events:KEY (0001): 0043  0044  0057  0058 input props:<none>

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

  bus:      0000vendor    0000product   0000version   0000name:     "cust_gpio_key"location: ""id:       ""version:  1.0.1events:KEY (0001): 0043  0044  0057  0058 input props:<none>

对于-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按键。

监控设备的sendevent事件

getevent -r -q

格式

root@android:/# getevent 
/dev/input/event5 : 0005 0002 00000001 
/dev/input/event5 : 0000 0000 00000000

device的名字 事件类型(type) 键码类别(code) 具体的数值(value)
/dev/input/event5 0005 0002 00000001
/dev/input/event5 0000 0000 00000000

模拟按键

命令格式

sendevent [device] [type] [code] [value] 
特别注意:getevent 中 code 显示十六进制,而sendevent中需要用十进制

例子

sendevent /dev/input/event5 5 2 1 
sendevent /dev/input/event5 0 0 0 
sendevent /dev/input/event5 5 2 0 
sendevent /dev/input/event5 0 0 0 
完成一次持有和释放动作

模拟按键之input keyevent

命令 意义
input keyevent 3 Home键
input keyevent 4 Back键
input keyevent 19 Up键
input keyevent 20 Down键
input keyevent 21 Left键
input keyevent 22 Right键
input keyevent 23 Select/OK键
input keyevent 24 Volume+ 键
input keyevent 25 Menu键

android 系统(108)---Android getevent sendevent用法相关推荐

  1. Android系统架构-[Android取经之路]

    摘要:本节主要来讲解Android的系统架构 阅读本文大约需要花费10分钟. 文章首发微信公众号:IngresGe 专注于Android系统级源码分析,Android的平台设计,欢迎关注我,谢谢! 欢 ...

  2. android 服务端技术,移动应用服务器端开发(基于JSP技术)-2017 Android系统构架 Android系统构架.docx...

    Android系统构架 PAGE 1 目 录 TOC \o "1-3" \h \z \u 一.Android系统构架 1 二.Linux内核层 2 三.系统运行库层 3 (一)系统 ...

  3. 【android系统】android系统升级流程分析(二)---update升级包分析

    接下来我们将通过几篇文章来分析update.zip包在具体Android系统升级的过程,来理解Android系统中Recovery模式服务的工作原理.今天让我先来分析下升级包update.zip. 一 ...

  4. 【android系统】android系统升级流程分析(一)---recovery模式中进行update包升级流程分析

    今天我们直接来看下android中具体的升级过程是如何的. 升级流程概述 升级的流程图: 升级流程分析 第一步:升级包获取 升级获取可以通过远程下载,也可直接拷贝到指定目录即可. 第二步:准备升级 然 ...

  5. android log抓取方法,Android系统之Android抓取各种log的方法

    Android系统之Android抓取各种log的方法 2018年11月25日 | 萬仟网移动技术 | 我要评论 android之android抓取各种log的方法 1.logcat (四类log b ...

  6. Android 系统(11)---android 系统权限大全

    收集到的android权限都很实用的(permission)大全 1.android.permission.WRITE_USER_DICTIONARY 允许应用程序向用户词典中写入新词 2.andro ...

  7. android系统语音合成,android 语音合成报错

    发现了2个问题 第一个貌似是复制离线的资源出错了(已经核对过读写等权限): 12-19 19:54:49.739 32006-32159/com.zhanglf.youxuanz I/NonBlock ...

  8. Android 系统(71)---Android系统build.prop文件生成过程

    Android系统build.prop文件生成过程 Android系统build.prop生成过程 这个文件类似于windows的注册表文件,定义了系统初始的一些参数属性,功能的开放等,通过调整或增加 ...

  9. Android系统(62)-----Android 7.1 新特性之 Shortcuts 介绍

    Android 7.1 新特性之 Shortcuts 介绍 Android 7.1 允许 App 自定义 Shortcuts,类似 iOS 的 3D touch.通过在桌面长按 App 弹出 Shor ...

最新文章

  1. python教学上机实验报告怎么写_Python基础(下)
  2. 在docker中构建普通java程序_Docker入门-构建第一个Java程序
  3. python常用内置函数总结-Python学习教程之常用的内置函数大全
  4. go给Linux安装mysql_在Linux上安装Go语言开发包
  5. RabbitMQ使用简述
  6. 牛客练习赛52 | C | [烹饪] (DP,裴蜀定理,gcd)
  7. 达梦数据库卡慢简单分析
  8. 飞鸽传书要是懒惰就会长胖
  9. Python+django网页设计入门(11):在线考试与自动评分
  10. c++ mfc程序 屏幕只显示部分内容_Visual C++ MFC 简明教程
  11. 视觉+机械手-delta并联机械手
  12. 2021别再废掉了!学会这个用这个做PPT,高效神器保住你的发际线~
  13. →箭头符号大全复制_特殊符号大全,想要那个自己来复制
  14. android版本高低有啥好处与不好,WP跟安卓比流畅 但为什么就不好用呢?
  15. [观点]国难当头,为什么赵王还要杀掉李牧?因为人性最爱反噬没格局的人
  16. oracle 8002,ORACLE 8.1.7 数据库ORA-600 4194故障恢复
  17. 常用C++开发环境介绍
  18. latex 字母上面加符号
  19. 看似“冰山美人”的弦图竟如此平易近人!
  20. MBR与GPT(GUID)的区别及使用方式(偏实际操作)

热门文章

  1. 数据结构值图的最小生成树
  2. 数据结构之二叉树的定义和性质
  3. 计算机主机的奥秘,揭秘网吧电脑为何流畅的奥秘
  4. 计算机垃圾回收的过程,计算机体系 – 垃圾收集器
  5. oracle怎么删除存储,删除Oracle分区存储是一个怎样的过程?
  6. lammps计算聚合物例子_LAMMPS中的系综(NPT/NVT)命令
  7. 【LeetCode】剑指 Offer 56. 数组中数字出现的次数
  8. 【SpringBoot】自动装配原理
  9. python之堡垒机(第九天)
  10. NFS配置及开机自动挂载