其实,对android移植而言,触摸屏的驱动改动不是特别大。

这里只讲两个部分。

第一,就是BTN_TOUCH的添加。在普通的系统中,这个类型的event是可以不加的。意思就是,比如QT2.0,它并不依赖这个事件来判断是否有拖动的事件,记得qt2里好像没有拖动的概念。而android中系统是根据这个事件和后续的触摸屏的位置来判断是否发生了拖动。所以,在平常内核的基础上,要添加BTN_TOUCH事件。

第二,就是关于android的触摸屏校准和坐标映射了。公司的领导在某个时候,突然说,qt都有触摸屏校准,为什么android没有呢,不行,你必须给android加一个。我晕,经过调查,知道了方法。这里不讲具体的实现过程,只提一下驱动相关的东西。

在驱动里,关于input设备都有一个范围或者属性。比如,按键的键码。同样关于触摸屏,就有最小的x轴位置值,最大的x轴位置值,最小的y轴位置值,最大的y轴位置值,还有最大压力值。同样,这些在某些系统中,是没有用的。比如qt,它有自己的校准方法。而android本身没有校准的程序,他的校准就完全依赖于前面所说的4个,xy轴值。通过修改这4个值,就可以完成android的触摸屏校准。所以,在此提醒触摸屏不准的朋友,如果有问题,就去把驱动里的4个值重新调整一下吧。关于如何在文件系统中完成校准,涉及到公司的内容,不再深入描述了。

更多相关文章

  1. android-opengles3.0开发-2-绘制图形
  2. Android(安卓)API Guides---Location and Sensors APIs and Maps
  3. EditText的简单使用
  4. Android实现HID鼠标的指针自定义
  5. Android/Linux 系统添加对多点触摸屏的支持
  6. Android的自定义图片按钮ImageButton【第一篇】
  7. Android(安卓)自定义textview 部分文字字体颜色高亮
  8. 玩玩Flutter的拖拽——实现一款万能遥控器
  9. [开源]在iOS上实现Android风格的控件Toast

随机推荐

  1. keepalived for linux(HA 高可用集群)
  2. Cerebro 一个跨平台的桌面快捷使用工具
  3. Linux Mint 17下Sublime插件Emmet的安装
  4. Linux内核源代码情景分析读书笔记(5)-关于
  5. thinkphp连接mysql数据库查询数据显示
  6. Linux多线程实践(一)线程基本概念和理论
  7. 由看雪.Wifi万能钥匙 CTF 2017 第4题分析
  8. Linux操作系统三大应用领域
  9. Linux使用技巧11--Ubuntu离线安装openssh
  10. Linux下pwn从入门到放弃