Android输入系统简介
来源:互联网 发布:淘宝管理软件 编辑:程序博客网 时间:2024/05/18 13:12
1、当输入设备接入到android设备并且可用的时候,Linux内核会在/dev/input/下创建名为event0-n或者其他名称的输入节点,但输入设备不可用的时候,则会删除对应的节点。
2、在用户空间可以通过ioctl的方式从这些设备节点获取对应的输入设备的类型、厂商、描述等信息。
3、当用户对输入设备进行操作的时候,Linux内核会接收到相应的硬件中断,然后将中断加工成原始的输入事件写入到对应的输入节点中,在用户空间可以通过read()函数将事件数据读出。
Android输入系统的大致原理:
监控/event/input/下所有设备节点,当某个节点有数据可读时,将数据读出并进行一系列的翻译加工,然后在所有的窗口中寻找合适的事件接收者。
Android系统提供了getevent与setevent两个工具可以对某个设备节点读取输入事件或者写入输入事件。
getevent可以监听指定输入设备节点的内容,当输入事件写入到该设备节点的时候,getevent会将读出并打印到屏幕上。
adb shell getevent [-选项] [device_path]
其中,device_path为可选参数,表示指明需要监听设备的节点路径,如果省略了就是监听所有设备的节点事件。
输入设备节点不仅在用户空间可读,而且是可写的,因此,可以将原始事件写入到输入节点中,而且实现模拟用户输入的功能。
setevent <节点路径> <类型> <代码> <值>
更多可以参考文章:Android代码模拟物理、屏幕点击事件
实时记录用户输入操作的工具:
https://github.com/barzooka/robert
参考文章:
深入理解android 卷3
阅读全文
0 0
- Android输入系统简介
- Android触摸屏输入系统
- Android触摸屏输入系统
- Android 输入系统
- Android触摸屏输入系统
- Android触摸屏输入系统
- Android触摸屏输入系统
- Android 输入系统
- Android输入系统
- Android输入系统
- ANDROID输入系统
- android 输入系统
- android用户输入系统
- 【读书笔记】Android 输入系统
- Android:输入系统(InputChannel)
- Android输入系统(一)
- Android输入系统(二)
- Android输入系统
- 实用工具网址搜集
- 【java学习准备1】一些基本概念
- TCP协议三次握手协议
- Elasticsearch 2.0以上版本根据条件批量删除Java如何实现
- yuv420转h264
- Android输入系统简介
- 如何查看linux硬盘空间
- qt5.1+ vs2013+opencv2.4.8制作视频图片读取界面
- ubuntu下opencv3.1.0+caffe安装教程(CPU-only)
- mysql-主主搭建mm
- VSCode拓展插件推荐(HTML、Node、Vue、React开发均适用)
- ArcGIS for Android 地图控件 mapview 的常见操作
- 两台电脑用一根网线连接组成局域网共享传输文件
- ubuntu--vps--常用命令