/*****************************************************************************
* I.MX6 linux Qt 同时支持Touch、mouse
* 声明:
* 在Qt上,有时候当没有Touch的时候,我们会希望鼠标还是能够使用的,于是乎
* 这又变成了一个看上去必须的需求了,所以这也就变成了一个需要解决的问题,当然
* 这又解决Touch存在还是不存在的问题,以及如何跟mouse共存的问题。
*
* 2016-1-13 深圳 南山平山村 曾剑锋
****************************************************************************/ 一、参考文档:
. Qt移植对USB鼠标键盘、触摸屏的支持
http://blog.csdn.net/sno_guo/article/details/16897577
. QT 同时支持鼠标和触摸屏
http://www.cnblogs.com/leaven/archive/2010/11/24/1886774.html 二、/etc/profile修改:
......
# 计数值的上限,仅仅是为了方便修改,不用到代码里去修改这个值
limitForWaitTime=
# 循环计数
waitTimeCount=
while [ -z $touchEvent ]
do
inputCheckLine=`cat /proc/bus/input/devices | grep -n "Vendor=0eef" | grep "Product=0020 Version=0001"| awk -F: '{print $1}'`
touchEvent=`sed -n "$((${inputCheckLine}+5))p" /proc/bus/input/devices | grep -o "event."`
echo "please hang up USB TOUCH !"
waitTimeCount=$((waitTimeCount+))
if [ $waitTimeCount -gt $limitForWaitTime ]; then
break
fi
usleep
done ...... export TSLIB_ROOT=/usr/local/tslib-instal
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export PATH=/usr/local/tslib-instal:$PATH
export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.8.-arm/lib
export QT_QWS_FONTDIR=/usr/local/Trolltech/QtEmbedded-4.8.-arm/lib/fonts # 注释掉的内容,会导致如下错误:
# -sh: [: argument expected
#if [ -f /etc/pointercal -o -z $touchEvent ];then
if [ -f /etc/pointercal ] || [ -z $touchEvent ];then
echo "MXS touchscreen have calibrate!"
else
# 这里一定不能用注释的这两行,否则会导致ts_calibrate闪退
#export TSLIB_TSDEVICE="tslib:/dev/input/${touchEvent}"
#export QWS_MOUSE_PROTO="tslib:/dev/input/${touchEvent}"
export TSLIB_TSDEVICE=/dev/input/${touchEvent}
export QWS_MOUSE_PROTO=/dev/input/${touchEvent}
/usr/local/tslib-instal/bin/ts_calibrate
sync
fi # 注释掉的内容,如果系统运行起来之后,还没有插入鼠标,会导致如下错误:
# Error opening mouse device '/dev/input/mouse0': No such file or directory
# ts_devices="mouseman:/dev/input/mouse0"
ts_devices="mouseman:/dev/input/mice"
if [ ! -z $touchEvent ]; then export TSLIB_TSDEVICE=/dev/input/${touchEvent} # 注释掉的内容写法会导致如下错误:
# -sh: ts_devices+= tslib:/dev/input/event4: No such file or directory
#ts_devices+=" tslib:/dev/input/${touchEvent}" # 注释掉的内容,如果系统运行起来之后,还没有插入鼠标,会导致如下错误:
# Error opening mouse device '/dev/input/mouse0': No such file or directory
# 看到有些地方写:MouseMan
# 有些地方写:tslib MouseMan
#ts_devices="mouseman:/dev/input/mouse0 tslib:/dev/input/${touchEvent}" ts_devices="mouseman:/dev/input/mice tslib:/dev/input/${touchEvent}"
fi
export QWS_MOUSE_PROTO=$ts_devices
......

I.MX6 linux Qt 同时支持Touch、mouse的更多相关文章

  1. I.MX6 Linux Qt 启动流程跟踪

    /************************************************************************** * I.MX6 Linux Qt 启动流程跟踪 ...

  2. 【Linux开发】【Qt开发】QT 同时支持鼠标和触摸屏

    QT 同时支持鼠标和触摸屏 现在 如果我要使用鼠标 导入环境变量 export QWS_MOUSE_PROTO=MouseMan:/dev/input/mice 使用触摸屏,导入环境变量 export ...

  3. I.MX6 Linux eGTouch TouchScreen porting

    I.MX6 Linux eGTouch TouchScreen porting 一.Download Driver: http://www.eeti.com.tw/drivers_Linux.html ...

  4. I.MX6 Linux udev porting

    /*********************************************************************** * I.MX6 Linux udev porting ...

  5. I.MX6 Linux 自动获取AR1020 event input节点

    /*********************************************************************** * I.MX6 Linux 自动获取AR1020 ev ...

  6. I.MX6 Linux kernel LVDS backlight enable

    /*************************************************************************** * I.MX6 Linux kernel LV ...

  7. I.MX6 Linux Serial Baud Rate hacking

    /******************************************************************************** * I.MX6 Linux Seri ...

  8. I.MX6 linux kernel编译错误处理

    /******************************************************************************** * I.MX6 linux kern ...

  9. I.MX6 linux eGalaxTouch 自动获取设备节点

    I.MX6 linux eGalaxTouch 自动获取设备节点 \\\\\\\\\\\\\\-*- 目录 -*-///////////// | 一. 需求: | 二. /proc/bus/input ...

随机推荐

  1. Properties --- C++读配置信息的类(一)

    http://blog.csdn.net/billow_zhang/article/details/4304980 在开发实践中,积累了一些通用的C++ 类库,在此写出来给大家分享.也希望能给出更好的 ...

  2. Ubuntu环境下Nutch+Tomcat 搭建简单的搜索引擎

    简易的搜索引擎搭建 我的配置: Nutch:1.2 Tomcat:7.0.57 1 Nutch设置 修改Nutch配置 1.1 修改conf/nutch-site.xml <?xml versi ...

  3. MySQL 当记录不存在时插入(insert if not exists)

    在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当记录不存在时才执行插入操作,本文介绍的就是这个问题的解决方案.问题:我创建了 ...

  4. 手把手VirtualBox虚拟机下安装rhel6.4 linux 64位系统详细文档

    下面演示安装的是在VirtualBox里安装rhel 6.4 linux 64位系统. 一.VirtualBOX 版本. 二.虚拟机的配置. 1.现在开始演示安装,一起从零开始.点击“新建”,创建新的 ...

  5. HTML5入门2---js获取HTML元素的值

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  6. IOS开发--上传图片

    IOS图片上传功能实现总结 IOS图片上传主要分两种方式实现,一个是将图片信息以表单的形式上传,一种是将图片以JSON的格式上传. 首先要讲的是以这两个方式上传的一个比较明显的区别就是HTTP Hea ...

  7. TCL语言笔记:TCL练习二

    一.练习 1.二进制转十进制 proc b2d {b} { ;set len [string length $b] } {$i<$len} {incr i} { incr sum [expr , ...

  8. swift:自动引用计数ARC

    Swift自动引用计数:ARC    原文链接:https://numbbbbb.gitbooks.io/-the-swift-programming-language-/content/chapte ...

  9. 转ATL对象类型

    http://hi.baidu.com/rural_child/item/d91ce5d8fba9c8e73cc2cbf9 1.Objects a.Simple Object:用于实现业务逻辑,无用户 ...

  10. 10位顶级PHP大师的开发原则

    在Web开发世界里,PHP是最流行的语言之一,从PHP里,你能够很容易的找到你所需的脚本,遗憾的是,很少人会去用“最佳做法”去写一个PHP程序.这里,我们向大家介绍PHP的10种最佳实践,当然,每一种 ...