【转】基于Qt, TUIO和TSLIB的嵌入式Linux下的多点触摸设计
这个教程描述了在嵌入式linux下使用Qt如何设置一个支持多点触摸和单点触摸的输入系统。这里假定你已经有了对应的驱动程序,驱动可以从触摸屏的厂商那里获得或者使用一个linux 内核源码中已经存在的驱动。
set_bit(EV_ABS, aura.input_dev->evbit);
set_bit(EV_KEY, aura.input_dev->evbit); # I had to add this line so that tslib was happy
lrwxrwxrwx 1 root root 6 Jan 17 21:06 /dev/input/touchscreen -> event1
# chmod 777 /dev/input/touchscreen
# chmod 777 /dev/input/event1
PRODUCT=0/0/0/0
NAME="aura-touchscreen"
PROP=0
EV=9
ABS=650000 0
MODALIAS=input:b0000v0000p0000e0000-e0,3,kra30,32,35,36,mlsfw
0000000 9011 3883 565f 0001 0003 0030 0001 0000
0000010 9011 3883 565f 0001 0003 0032 0001 0000
0000020 9011 3883 565f 0001 0003 0035 04c9 0000
0000030 9011 3883 565f 0001 0003 0036 0c3f 0000
0000040 9011 3883 565f 0001 0000 0002 0000 0000
0000050 9011 3883 565f 0001 0000 0000 0000 0000
0000060 9011 3883 90a9 0001 0003 0030 0001 0000
0000070 9011 3883 90a9 0001 0003 0032 0001 0000
sudo ./autogen.sh
sudo export ac_cv_func_malloc_0_nonnull=yes
sudo export PATH=`pwd`:$PATH
sudo ./configure CC=/home/user/toolchain/linaro/bin/arm-linux-gnueabi-gcc
CXX=/home/user/toolchain/linaro/bin/arm-linux-gnueabi-g++
--host=arm-linux
--prefix=/usr/local/tslib
--enable-shared=yes
--enable-static=yes
sudo make
sudo make install
sudo cp /usr/local/tslib/bin/* /home/user/exported-nfs/usr/bin/
sudo cp /usr/local/tslib/etc/ts.conf /home/user/exported-nfs/etc/
sudo cp -r /usr/local/tslib/lib/ts /home/user/exported-nfs/usr/lib
sudo cp /usr/local/tslib/lib/* /home/user/exported-nfs/lib/
sudo vim /home/user/exported-nfs/etc/ts.conf
export TSLIB_TSDEVICE=/dev/input/touchscreen
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_CONSOLEDEVICE=none
export TSTS_INFO_FILE=/sys/devices/virtual/input/input1/uevent
export QWS_MOUSE_PROTO=tslib:/dev/input/touchscreen
export PATH=$PATH:/usr/bin
xres = 640, yres = 480
Took 5 samples...
Top left : X = 3817 Y = 3912
Took 6 samples...
Top right : X = 269 Y = 3822
Took 5 samples...
Bot right : X = 356 Y = 550
Took 5 samples...
Bot left : X = 3732 Y = 614
Took 6 samples...
Center : X = 2202 Y = 2216
643.068298 -0.155621 -0.000056
491.792572 0.002567 -0.115674
Calibration constants: 42144124 -10198 -3 32230118 168 -7580 65536
https://github.com/olivopaolo/mtdev2tuio
http://bitmath.org/code/mtdev/
http://liblo.sourceforge.net/
export CXX=/home/user/toolchain/linaro/bin/arm-linux-gnueabi-g++
export SKIP_RMDIR_CHECK=yes
./configure --prefix=/usr/local/lib/liblo --host=arm
make clean
make
sudo make install
cd /usr/local/lib/liblo
sudo cp bin/* /home/user/exported-nfs/usr/bin/
sudo cp lib/liblo.a /home/user/exported-nfs/usr/bin/
sudo cp lib/liblo.la /home/user/exported-nfs/usr/bin/
./autogen.sh
./configure --prefix=/usr/local/lib/mtdev --host=arm
make clean
make
sudo make install
cd /usr/local/lib/mtdev
sudo cp bin/* /home/user/exported-nfs/usr/bin/
sudo cp lib/libmtdev.a /home/user/exported-nfs/usr/bin/
sudo cp lib/libmtdev.la /home/user/exported-nfs/usr/bin/
make clean
make
sudo cp mtdev2tuio /home/user/exported-nfs/usr/bin/
sudo rm -rf /home/user/Desktop/QTUIO/qTUIO/lib/*
cd src/
/home/user/output/buildroot/host/usr/bin/qmake
make clean
make
cd ../lib
mv libqTUIO_d.so.1.0.0 libqTUIO.so.1.0.0
sudo rm -rf *libqT*_d*so*
sudo ln -sf libqTUIO.so.1.0.0 libqTUIO.so.1.0
sudo ln -sf libqTUIO.so.1.0.0 libqTUIO.so.1
sudo ln -sf libqTUIO.so.1.0.0 libqTUIO.so
sudo mkdir -p /usr/local/lib/qTUIO
sudo cp -r ../lib/* /usr/local/lib/qTUIO
sudo cp -r /usr/local/lib/qTUIO/* /home/user/exported-nfs/usr/lib/
Sending OSC/TUIO packets to osc.udp://127.0.0.1:3333/
Killing remote process(es)...
Starting remote process ...
Remote process started.
graphicsview initialized
listening to TUIO messages on UDP port 3333
快乐编程

原文连接:
http://www.ptrackapp.com/apclassys-notes/embedded-linux-multitouch/embedded-linux-multitouch.html
【转】基于Qt, TUIO和TSLIB的嵌入式Linux下的多点触摸设计的更多相关文章
- 嵌入式 Linux下永久生效环境变量bashrc
嵌入式 Linux下永久生效环境变量bashrc 1) .bashrc文件 在linux系统普通用户目录(cd /home/xxx)或root用户目录(cd /root)下,用指令ls -al可以看到 ...
- 嵌入式 linux下利用backtrace追踪函数调用堆栈以及定位段错误
嵌入式 linux下利用backtrace追踪函数调用堆栈以及定位段错误 2015-05-27 14:19 184人阅读 评论(0) 收藏 举报 分类: 嵌入式(928) 一般察看函数运行时堆栈的 ...
- 基于fork(),execvp()和wait()实现类linux下的bash——mybash
基于fork(),execvp()和wait()实现类linux下的bash--mybash 预备知识 fork():fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可 ...
- 转: 嵌入式linux下usb驱动开发方法--看完少走弯路【转】
转自:http://blog.csdn.net/jimmy_1986/article/details/5838297 嵌入式linux下的usb属于所有驱动中相当复杂的一个子系统,要想将她彻底征服,至 ...
- 嵌入式Linux下BOA网页server的移植
**************************************************************************************************** ...
- 嵌入式Linux下Qt的中文显示
一般情况下,嵌入式Qt界面需要中文显示,下面总结自己在项目中用到的可行的办法 1,下载一种中文简体字体,比如我用的是”方正准圆简体“,把字体文件放在ARM开发板系统的Qt字库中,即/usr/lib/f ...
- 为基于busybox根文件系统的ARM嵌入式Linux交叉编译dropbear使能SSH
原创作品,允许转载,转载时请务必以超链接形式标明文章.作者信息和本声明,否则将追究法律责任. 最近使用busybox为基于ARM的板卡定制了一个极简单的根文件系统,由于busybox仅支持telnet ...
- 嵌入式 Linux下curl库API简单介绍
1:CURLcode curl_global_init(long flags); 这个函数全局需要调用一次(多次调用也可以,不过没有必要), 所以这也是把Curlplus设计成单体类的原因,curl_ ...
- 嵌入式linux下wifi网卡的使用(四)——应用程序sub_supplicant编译
有readme先看看readme看看有没有编译的方法 里面告诉我们安装时可能会依赖某些库事实证明会依赖openssl库,之前也使用过openssl 这个文件中有个defualtconfig,先用它做. ...
随机推荐
- Spring整合Shiro做权限控制模块详细案例分析
1.引入Shiro的Maven依赖 <!-- Spring 整合Shiro需要的依赖 --> <dependency> <groupId>org.apache.sh ...
- poj 3186 Treats for the Cows(区间dp)
Description FJ has purchased N (1 <= N <= 2000) yummy treats for the cows who get money for gi ...
- shell脚本一条命令直接发送http请求(xjl456852原创)
我们知道nc命令是一个网络工具.可以连接tcp/udp.也能模拟发送http请求. 现在介绍通过shell脚本,一条命令直接发送http请求. 命令如下,可以对下面的地址等信息自行修改: #!/bin ...
- banner背景通栏
background: #76CEF6 url("../images/bg.jpg") repeat-x 0 0; -webkit-background-size: 100%; ...
- C++ Primer 学习笔记_84_模板与泛型编程 --模板特化
模板与泛型编程 --模板特化 引言: 我们并不总是能够写出对全部可能被实例化的类型都最合适的模板.某些情况下,通用模板定义对于某个类型可能是全然错误的,通用模板定义或许不能编译或者做错误的事情;另外一 ...
- VMware vSphere 5.5的12个更新亮点(1)
[IT专家网虚拟化]在VMworld 2013大会上发布的VMware vSphere 5.5版本提供的增强和改进,横跨从hypervisor到管理整个堆栈,提升了VMware的性能.可伸缩性和可用性 ...
- 用sp_change_users_login消除Sql Server的孤立用户
异常详细信息: System.Data.SqlClient.SqlException: 拒绝了对对象 'zwj_EnterpriseActivities' (数据库 'Ntours',架构 'dbo' ...
- js判断浏览器类型以及版本
你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器. 几天前,浏览器家族有刚诞生了一位小王子,就是Google推出的 ...
- 图片拉伸(有保护区域) resizableImageWithCapInsets
在仿写QQ会话的时候背景蓝色图片是拉伸而来,但是有些地方是受保护的不能拉伸 所以定义了下面的工具类中的一个方法,专门拉伸图片 UIImageResizingModeStretch:拉伸模式,通过拉伸U ...
- ios文件读取
/* * @brief 沙盒下的各种文件 */ - (void)getPaths { /** * @brief 获取沙盒的路径 */ NSString * HomeDirectory = NSHo ...