getevent与sendevent工具

Android系统提供了getevent与sendevent两个工具供开发者从设备节点中直接读取输入事件或写入输入事件。

在这里,我们测试音量加和音量减按键

root@sabresd_6dq:/ # getevent
add device : /dev/input/event0
name: "ar1021 Touchscreen"
could not get driver version for /dev/input/mice, Not a typewriter
add device : /dev/input/event2
name: "gpio-keys"
add device : /dev/input/event1
name: "WM8962 Beep Generator"
//这个后面是音量加
/dev/input/event2: 00000001 //按下:注意这里的0073为十六进制数
/dev/input/event2: 00000000   //同步
/dev/input/event2: 00000000 //松开
/dev/input/event2: 00000000   //同步
//这个后面是音量减
/dev/input/event2:
/dev/input/event2:
/dev/input/event2:
/dev/input/event2:

注意:(2018.1.12更新:getevent -lt 更加直观;如下所示)

|root@sabresd_6dq:/ # getevent -lt /dev/input/event2
[ 2604.070121] EV_KEY KEY_VOLUMEUP DOWN
[ 2604.070121] EV_SYN SYN_REPORT
[ 2604.270183] EV_KEY KEY_VOLUMEUP UP
[ 2604.270183] EV_SYN SYN_REPORT [ 2606.510123] EV_KEY KEY_VOLUMEDOWN DOWN
[ 2606.510123] EV_SYN SYN_REPORT
[ 2606.620089] EV_KEY KEY_VOLUMEDOWN UP
[ 2606.620089] EV_SYN SYN_REPORT

然后我们根据上面的数据进行发送,查看是否音量增加和减少了:(注意:getevent显示的为十六进制,而sendevent发送的为十进制,所以要进行转换

|root@sabresd_6dq:/ # sendevent /dev/input/event2   00000001    //按下音量加
root@sabresd_6dq:/ # sendevent /dev/input/event2 00000000     //同步
root@sabresd_6dq:/ # sendevent /dev/input/event2 00000000   //松开音量加
root@sabresd_6dq:/ # sendevent /dev/input/event2 00000000     //同步
root@sabresd_6dq:/ #
root@sabresd_6dq:/ #
root@sabresd_6dq:/ #
root@sabresd_6dq:/ #
root@sabresd_6dq:/ # sendevent /dev/input/event2
root@sabresd_6dq:/ # sendevent /dev/input/event2
root@sabresd_6dq:/ # sendevent /dev/input/event2
root@sabresd_6dq:/ # sendevent /dev/input/event2
root@sabresd_6dq:/ #

可以发现确实发生了变化

i.mx6 Android6.0.1分析input子系统:测试的更多相关文章

  1. [IMX6]Android6.0移植和分析

    0. 知识点 中断(设备树) [IMX6]设备树分析--dts 1. 编译 Android6.0内核移植(1):分析编译日志 Android6.0内核移植(2):kernel编译内核 单独烧录kern ...

  2. linux input输入子系统分析《四》:input子系统整体流程全面分析

    1      input输入子系统整体流程 本节分析input子系统在内核中的实现,包括输入子系统(Input Core),事件处理层(Event Handler)和设备驱动层.由于上节代码讲解了设备 ...

  3. linux kernel input 子系统分析

    Linux 内核为了处理各种不同类型的的输入设备 , 比如说鼠标 , 键盘 , 操纵杆 , 触摸屏 , 设计并实现了一个对上层应用统一的试图的抽象层 , 即是Linux 输入子系统 . 输入子系统的层 ...

  4. input子系统分析

    ------------------------------------------ 本文系本站原创,欢迎转载! 转载请注明出处:http://ericxiao.cublog.cn/ -------- ...

  5. Linux input子系统分析

    输入输出是用户和产品交互的手段,因此输入驱动开发在Linux驱动开发中很常见.同时,input子系统的分层架构思想在Linux驱动设计中极具代表性和先进性,因此对Linux input子系统进行深入分 ...

  6. input子系统学习笔记六 按键驱动实例分析下【转】

    转自:http://blog.chinaunix.net/uid-20776117-id-3212095.html 本文接着input子系统学习笔记五 按键驱动实例分析上接续分析这个按键驱动实例! i ...

  7. Linux input子系统编程、分析与模板

    输入设备都有共性:中断驱动+字符IO,基于分层的思想,Linux内核将这些设备的公有的部分提取出来,基于cdev提供接口,设计了输入子系统,所有使用输入子系统构建的设备都使用主设备号13,同时输入子系 ...

  8. 【驱动】input子系统整体流程全面分析(触摸屏驱动为例)【转】

    转自:http://www.cnblogs.com/lcw/p/3294356.html input输入子系统整体流程 input子系统在内核中的实现,包括输入子系统(Input Core),事件处理 ...

  9. 【驱动】input子系统全面分析

    初识linux输入子系统 linux输入子系统(linux input subsystem)从上到下由三层实现,分别为:输入子系统事件处理层(EventHandler).输入子系统核心层(InputC ...

随机推荐

  1. Dockerfile文件参数详解

    参考: https://www.jianshu.com/p/e4b31ca37043 https://blog.csdn.net/u010246789/article/details/54139168 ...

  2. C++并发多线程(一)

    并发:两个或者更多的任务同时发生,一个程序同时执行多个独立的任务. 以往计算机 单核CPU 某一个时刻只能执行一个任务 由操作系统调度 每秒钟进行多次所谓的任务切换并发的假象(不是真正的并发),这种切 ...

  3. AndroidSDK下载

    C:\Windows\System32\drivers\etc\hosts74.125.237.1 dl-ssl.google.com

  4. 初识阿里开源诊断工具Arthas

    上个月,阿里开源了一个名为Arthas的监控工具.恰逢近期自己在写多线程处理业务,由此想到了一个问题. 如果在本机开发调试,IDE可以看到当前的活动线程,例如IntelliJ IDEA,线程是运行还是 ...

  5. mylyn提交到JIRA的日期格式错误

    HTTP Status 400 - Date value '27/Dec/11' for field 'due' is invalid. Valid formats include: 'yyyy/MM ...

  6. cnpm安装过程中提示optional install error: Package require os(darwin) not compatible with your platform(win32)解决方法

    运行cnpm install后,出现 虽然提示不适合Windows,但是问题好像是sass loader出问题的.所以只要执行下面命令即可: 方案一: cnpm rebuild node-sass # ...

  7. 记一次升级Ubuntu内核

      uname -a 查看当前使用内核版本 升级指定内核  apt-get install linux-image-4.4.0-131-generic dpkg --get-selections | ...

  8. jdk完全卸载(亲测jdk1.7.0_80在win7)

    1.从控制面板里删除java程序 2.删除注册表:HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\ 3.删除C:\Windows\System32 和 C:\Windows\ ...

  9. 图的最小生成树的理解和实现:Prim和Kruskal算法

    最小生成树 一个连通图的生成树是一个极小的连通子图,它含有图中所有的顶点,但只有足以构成一棵树的n-1条边.我们将构造连通网的最小代价生成树称为最小生成树(Minimum Cost Spanning ...

  10. python3的全局变量和局部变量

    局部变量 定义在函数体内部的变量称为局部变量 函数的形参也是局部变量 局部变量的作用范围只在声明该局部变量的函数体内 局部变量在函数调用时被创建,在函数调用完成后自动销毁 全局变量 定义在函数体外,模 ...