1.概述
在14.0系统设备rom定制化开发中,一般产品有好几个usb口,用来可以连接外设,所以USB鼠标通过usb口来控制设备也是常见的问题,
在window系统中,鼠标右键是返回键的功能,可是android原生的系统 鼠标右键不是返回键根据产品开发需要鼠标修改成右键就需要跟代码,
2.USB鼠标右键改成返回键的功能实现的核心类
frameworks/native/services/inputflinger/reader/InputReader.cpp
frameworks/native/services/inputflinger/reader/mapper/accumulator/CursorButtonAccumulator.cpp
device\sprd\sharkle\sl8541e_1h10\system.prop
3.USB鼠标右键改成返回键的功能实现的核心功能分析和实现
功能分析:
在 IMS 启动并准备就绪后,输入系统就可以从设备节点源源不断的抽取输入事件,并交给事件处理者进行加工处理,即输入子系统 InputReader,
Android 设备可以同时连接多个输入设备,如:触摸屏、键盘以及鼠标等,用户在任何一个设备上的
输入都会对应产生一个中断,经由 Linux 内核的中断处理以及设备驱动转换成一个事件 Event,
并传递给用户空间的应用程序进行处理。通过上篇文章的分析我们知道 InputReader
只有一个承载其运行的线程 InputThreadImpl,而每个输入设备都有自己配套的驱动程序,
其数据接口也不尽相同
通过 Linux 内核的 input system 获取用户输入的流程简述如下