编译QT的时候,先编译
tslib
:
#./autogen.sh
#./configure --prefix=/usr/local/ tslib 1.4/ CC=arm-linux-gcc \
--host=arm-linux ac_cv_func_malloc_0_nonnull=yes --enable-inputapi=no
安装后,将 tslib 安装文件夹下的内容复制到开发板的相同文件夹下。
===============================================
校准的时候,一般首先要找到触摸设备名,鼠标设备。方法如下:
(1)检查系统中是否包含触摸屏设备和鼠标设备
#cat /proc/bus/input/devices
输出如下:
I: Bus=0019 Vendor=dead Product=beef Version=0102
N: Name="S3C24XX TouchScreen"
P: Phys=
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=mouse0 event1 evbug
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=3
I: Bus=0003 Vendor=15d9 Product=0a4c Version=0111
N: Name=" USB OPTICAL MOUSE"
P: Phys=usb-s3c24xx-1.2/input0
S: Sysfs=/devices/platform/s3c2410-ohci/usb1/1-1/1-1.2/1-1.2:1.0/input/input4
U: Uniq=
H: Handlers=mouse1 event2 evbug
B: EV=17
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=103
B: MSC=10
(2)检查是否包含触摸屏设备和鼠标设备的文件,不存在则建立即可
#ls /dev/ 查看是否包含上述的文件名mouse0 event1 mouse1 event2
如果不包含,可以用cat命令查看上面的S: Sysfs后跟的设备名,即可找到设备的主设备号和次设备好。就可以创建设备了。如:
#cat /sys/devices/virtual/input/input1/event1/uevent
系统显示:
MAJOR=13
MINOR=65
DEVNAME=input/event1
这样,就可以在/dev/input下建立设备event1了。
#mknod /dev/input/event1 c 13 65
(3)测试触摸屏和鼠标
找到了触摸屏和鼠标设备后(例如/dev/event1和/dev/mouse0),就可以用命令方式检查设备是否可以工作,方法是用cat命令显示触摸屏设备,然后轻按触摸屏,会发现终端有乱码输出。此即表明触摸屏设备基本正常!
#cat /dev/event1
轻按触摸屏。。。终端输出乱码,表明触摸屏正常!
====================================
我的QT4.7.1的编译配置(arm-none-linux-gnueabi 4.4.3 mini2440带的):
echo yes | ./configure -opensource -embedded arm -xplatform qws/linux-arm-g++ -no-webkit -qt-libtiff -qt-libmng -qt-mouse- tslib -qt-mouse-pc -no-mouse-linuxtp -I/usr/local/ tslib 1.4/include -L/usr/local/ tslib 1.4/lib
编译中,会出现无法找到 tslib 库的问题。我的做法是将 tslib 库复制到qt源代码下的lib中。
我的环境变量:
#==========for tslib ========
export LD_LIBRARY_PATH=/lib/:/usr/lib
export TSLIB _ROOT=/usr/local/ tslib 1.4
export TSLIB _TSDEVICE=/dev/event1
export LD_LIBRARY_PATH=$ TSLIB _ROOT/lib:$LD_LIBRARY_PATH
export TSLIB _FBDEVICE=/dev/fb0
export TSLIB _PLUGINDIR=$ TSLIB _ROOT/lib/ts
export TSLIB _CONSOLEDEVICE=none
export TSLIB _CONFFILE=$ TSLIB _ROOT/etc/ts.conf
export TSLIB _CALIBFILE=/etc/pointercal
#========special for QT=====
export QTDIR=/usr/local/Trolltech/QtEmbedded-4.7.1-arm
export QWS_MOUSE_PROTO=" TSLIB :/dev/event1 Intellimouse:/dev/mouse1"
export POINTERCAL_FILE=/etc/pointercal
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$QTDIR/lib/plugins:/usr/local/lib:$LD_LIBRARY_PATH
#./autogen.sh
#./configure --prefix=/usr/local/ tslib 1.4/ CC=arm-linux-gcc \
--host=arm-linux ac_cv_func_malloc_0_nonnull=yes --enable-inputapi=no
安装后,将 tslib 安装文件夹下的内容复制到开发板的相同文件夹下。
===============================================
校准的时候,一般首先要找到触摸设备名,鼠标设备。方法如下:
(1)检查系统中是否包含触摸屏设备和鼠标设备
#cat /proc/bus/input/devices
输出如下:
I: Bus=0019 Vendor=dead Product=beef Version=0102
N: Name="S3C24XX TouchScreen"
P: Phys=
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=mouse0 event1 evbug
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=3
I: Bus=0003 Vendor=15d9 Product=0a4c Version=0111
N: Name=" USB OPTICAL MOUSE"
P: Phys=usb-s3c24xx-1.2/input0
S: Sysfs=/devices/platform/s3c2410-ohci/usb1/1-1/1-1.2/1-1.2:1.0/input/input4
U: Uniq=
H: Handlers=mouse1 event2 evbug
B: EV=17
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=103
B: MSC=10
(2)检查是否包含触摸屏设备和鼠标设备的文件,不存在则建立即可
#ls /dev/ 查看是否包含上述的文件名mouse0 event1 mouse1 event2
如果不包含,可以用cat命令查看上面的S: Sysfs后跟的设备名,即可找到设备的主设备号和次设备好。就可以创建设备了。如:
#cat /sys/devices/virtual/input/input1/event1/uevent
系统显示:
MAJOR=13
MINOR=65
DEVNAME=input/event1
这样,就可以在/dev/input下建立设备event1了。
#mknod /dev/input/event1 c 13 65
(3)测试触摸屏和鼠标
找到了触摸屏和鼠标设备后(例如/dev/event1和/dev/mouse0),就可以用命令方式检查设备是否可以工作,方法是用cat命令显示触摸屏设备,然后轻按触摸屏,会发现终端有乱码输出。此即表明触摸屏设备基本正常!
#cat /dev/event1
轻按触摸屏。。。终端输出乱码,表明触摸屏正常!
====================================
我的QT4.7.1的编译配置(arm-none-linux-gnueabi 4.4.3 mini2440带的):
echo yes | ./configure -opensource -embedded arm -xplatform qws/linux-arm-g++ -no-webkit -qt-libtiff -qt-libmng -qt-mouse- tslib -qt-mouse-pc -no-mouse-linuxtp -I/usr/local/ tslib 1.4/include -L/usr/local/ tslib 1.4/lib
编译中,会出现无法找到 tslib 库的问题。我的做法是将 tslib 库复制到qt源代码下的lib中。
我的环境变量:
#==========for tslib ========
export LD_LIBRARY_PATH=/lib/:/usr/lib
export TSLIB _ROOT=/usr/local/ tslib 1.4
export TSLIB _TSDEVICE=/dev/event1
export LD_LIBRARY_PATH=$ TSLIB _ROOT/lib:$LD_LIBRARY_PATH
export TSLIB _FBDEVICE=/dev/fb0
export TSLIB _PLUGINDIR=$ TSLIB _ROOT/lib/ts
export TSLIB _CONSOLEDEVICE=none
export TSLIB _CONFFILE=$ TSLIB _ROOT/etc/ts.conf
export TSLIB _CALIBFILE=/etc/pointercal
#========special for QT=====
export QTDIR=/usr/local/Trolltech/QtEmbedded-4.7.1-arm
export QWS_MOUSE_PROTO=" TSLIB :/dev/event1 Intellimouse:/dev/mouse1"
export POINTERCAL_FILE=/etc/pointercal
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$QTDIR/lib/plugins:/usr/local/lib:$LD_LIBRARY_PATH