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. SQL datediff()函数 时间差

    定义和用法 DATEDIFF() 函数返回两个日期之间的天数. 语法 DATEDIFF(datepart,startdate,enddate) startdate 和 enddate 参数是合法的日期 ...

  2. DotNet三层架构

    [项目结构]DAL 数据访问层.BLL 业务逻辑.UI 表现层 Model 数据.Common 常用工具[引用关系]DAL --> Model CommonCommon --> 谁都不引用 ...

  3. WP8.1StoreApp(WP8.1RT)---MessageBox与MessageDialog

    在WP7和WP8中,MessageBox是跟WinForm中一样常用的对话框,但是有一个显著的缺点,就是WP7/8中默认的MessageBox是阻塞线程的.也许是由于这个原因,WP8.1/Win8中采 ...

  4. Android学习之Adapter(数据适配器)

    1.定义     数据适配器是AdapterView视图(如ListView - 列表视图控件.Gallery - 缩略图浏览器控件.GridView - 网格控件.Spinner - 下拉列表控件. ...

  5. iOS出现 _OBJC_CLASS_$_ZSHomeServiceDataElementGroupLargeImage", referenced from:以及linker command failed with exit code 1 (use -v to see invocation)的错误分析

    先说第一个问题 出现这样的错误我总结的原因有两个,我碰到过的: 1.文件重命名,在你创建文件的时候重名了 2.如果你是在一个类中又创建了一个或者多个类,那么你可能没有实现你写的类,也就是你只是@int ...

  6. 学习笔记|JSP教程|菜鸟教程

    学习笔记|JSP教程|菜鸟教程 ------------------------------------------------------------------------------------ ...

  7. 5. STL编程五

    1. STL的六大组件: 容器(Container) 算法(Algorithm) 迭带器(Iterator) 仿函数(Function object) 适配器(Adaptor) 空间配置器(alloc ...

  8. 52.RocketMQ 事务

    今天的博客有点多,因为前几天一直用笔记录,今天都补上了.后面的博客先停一段时间,后面还有dubbo.storm.kafka.solor.nginx.keepalived.fastdfs等内容,只是因为 ...

  9. FlowPortal-BPM——离线审批(邮箱审批)配置

    一.将系统文件复制到安装目录下 二.以管理员身份运行bat安装程序 三.开启邮件离线审批服务 四.创建数据库表(JAVA数据库 或 .Net数据库) 五.配置config文件(发件箱.收件箱.错误问题 ...

  10. Springboot第五篇:结合myBatis进行SQL操作

    前提:和之前同样的,本篇会从前端和后台一起讲述关于SQL的select操作(其他操作原理大致类似,不多做解释了). 大致流程:前端通过AJAX将数据发送到后台的路由,后台路由会根据发送的数据进行SQL ...