/*****************************************************************************
* 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. Vim安装ctags插件

    问题描述: 系统安装ctags插件 问题解决: (1)下载ctags插件 (2)新下载的ctags文件是一个tar包文件,使用tar -zxcf命令进行解压缩 注: 解压缩之后的 ctags文件,如上 ...

  2. Leetcode#79 Word Search

    原题地址 依次枚举起始点,DFS+回溯 代码: bool dfs(vector<vector<char> > &board, int r, int c, string ...

  3. spring测试父类,使用junit-4.4.jar,spring-test.jar

    @ContextConfiguration(locations = "classpath:conf/applicationContext.xml") @RunWith(Spring ...

  4. DIY Ruby CPU 分析——Part I

    [编者按]原文作者 Emil Soman,Rubyist,除此之外竟然同时也是艺术家,吉他手,Garden City RubyConf 组织者.本文是DIY Ruby CPU Profiling 的第 ...

  5. What is Object Oriented Design? (OOD)

    Object Oriented Design is the concept that forces programmers to plan out their code in order to hav ...

  6. hdu 1713 相遇周期

    求分数的最小公倍数.对于a/b c/d 先化简为最简分数,分数最小公倍数=分子的最小公倍数/分母的最大公约数. ;}

  7. lintcode :链表插入排序

    题目: 链表插入排序 用插入排序对链表排序 样例 Given 1->3->2->0->null, return 0->1->2->3->null 解题: ...

  8. Unity UGUI —— 无限循环List(转载)

    using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.UI; ...

  9. asp.net如何设置数据库连接池的数量

    http://www.cnblogs.com/wbcms/archive/2008/10/11/1308725.html 可以使用一组名称-值对以链接字符串的形式配置链接池.例如,可以配置池是否有效( ...

  10. java nio管道

    管道(Pipe) (本部分原文链接,作者:Jakob Jenkov,译者:黄忠,校对:丁一) Java NIO 管道是2个线程之间的单向数据连接.Pipe有一个source通道和一个sink通道.数据 ...