Android 增加鼠标支持
2012-05-15 10:55
381 查看
转载:http://blog.sina.com.cn/s/blog_6e15a6010100mafz.html
Android默认是没有鼠标支持的,但在Android系统会应用到许多其他的地方,如平板电脑、电视中,许多时候就需要鼠标的支持。
支持原理:Android中有原生的Touch事件,鼠标的各种事件都可以转换为各种Touch事件,将鼠标事件走与Touch事件相关的路径就可以实现。需要注意的是,在屏幕旋转后,鼠标的坐标等信息需要程序处理才能正确。
修改文件概览:
C++文件:
frameworks\base\include\ui\EventHub.h
frameworks\base\libs\ui\EventHub.cpp
java文件:
frameworks\base\core\java\android\view\RawInputEvent.java
frameworks\base\services\java\com\android\server\InputDevice.java
frameworks\base\services\java\com\android\server\KeyInputQueue.java
frameworks\base\services\java\com\android\server\WindowManagerService.java
文件功能描述
EventHub.h 增加鼠标设备的定义
EventHub.cpp 函数open_device(const char *deviceName)中增加鼠标类型
RawInputEvent.java 增加鼠标设备
InputDevice.java 增加鼠标连接状态标志
MotionState中增加方法 generateMouseMotion()将原始鼠标时间转化为
MotionEvent事件
KeyInputQueue.java 在事件RawInputEvent.EV_DEVICE_ADDED中判断鼠标设备,动态增加
在事件RawInputEvent.EV_DEVICE_REMOVED中,动态判断鼠标删除
在ev.type == RawInputEvent.EV_KEY中增加鼠标左中右键处理
在ev.type == RawInputEvent.EV_REL中增加鼠标坐标变动和滚轮的处理
recycleEvent()中增加鼠标相关的清理工作
WindowManagerService.java 实现在界面上的画鼠标及移动鼠标的工作。
Android默认是没有鼠标支持的,但在Android系统会应用到许多其他的地方,如平板电脑、电视中,许多时候就需要鼠标的支持。
支持原理:Android中有原生的Touch事件,鼠标的各种事件都可以转换为各种Touch事件,将鼠标事件走与Touch事件相关的路径就可以实现。需要注意的是,在屏幕旋转后,鼠标的坐标等信息需要程序处理才能正确。
修改文件概览:
C++文件:
frameworks\base\include\ui\EventHub.h
frameworks\base\libs\ui\EventHub.cpp
java文件:
frameworks\base\core\java\android\view\RawInputEvent.java
frameworks\base\services\java\com\android\server\InputDevice.java
frameworks\base\services\java\com\android\server\KeyInputQueue.java
frameworks\base\services\java\com\android\server\WindowManagerService.java
文件功能描述
EventHub.h 增加鼠标设备的定义
EventHub.cpp 函数open_device(const char *deviceName)中增加鼠标类型
RawInputEvent.java 增加鼠标设备
InputDevice.java 增加鼠标连接状态标志
MotionState中增加方法 generateMouseMotion()将原始鼠标时间转化为
MotionEvent事件
KeyInputQueue.java 在事件RawInputEvent.EV_DEVICE_ADDED中判断鼠标设备,动态增加
在事件RawInputEvent.EV_DEVICE_REMOVED中,动态判断鼠标删除
在ev.type == RawInputEvent.EV_KEY中增加鼠标左中右键处理
在ev.type == RawInputEvent.EV_REL中增加鼠标坐标变动和滚轮的处理
recycleEvent()中增加鼠标相关的清理工作
WindowManagerService.java 实现在界面上的画鼠标及移动鼠标的工作。
相关文章推荐
- Android 增加鼠标支持
- Android 增加对鼠标的支持
- Android 增加鼠标支持
- cocos2d-x编译到android平台后,增加返回键和菜单键的支持
- 菜鸟给 S5pv210 android 增加VGA800*600 VGA1024*768 支持
- Windows Azure Mobile Services增加了对 Android的支持并扩展其适用范围至东亚地区
- [置顶] vs2008 编译adb 支持4.2 android 系统(增加push 命令的进度)
- cocos2d-x编译到android平台后,增加返回键和菜单键支持
- 为Android虚拟设备(AVD)增加物理键盘支持
- Android ijkplayer 编译的 bilibili 开源编译版本上,去掉失败的依赖,增加对 https 支持
- android 增加 在build.prop 中的ro.sf.hwrotation角度支持
- Android增加Happy Touch触摸屏支持
- android 增加Add-on属性支持的方法
- Android4.2 MediaScanner增加其他格式的支持
- AndroidInject项目使用动态代理增加对网络请求的支持
- Android,ijkplayer增加https协议支持,编译运行ijkplayer
- Android平台Stagefright中增加flv/f4v支持及相关原理介绍
- Android Volley增加Https支持,允许SSL
- Android Volley增加Https支持,允许SSL
- 让S5pv210 android2.3 系统支持USB鼠标的方法(作者:gooogleman)