您的位置:首页 > 其它

基于tiny210的四线触摸屏驱动修改(三)

2013-02-26 10:29 190 查看
对文件系统的配置比较麻烦,主要是对触摸屏的校准问题,也就是如何获取/etc/pointercal的问题。

关于tslib的交叉编译我就不多讲了,网上很多。我就不多讲了,我们要采用我们自己交叉编译的tslib来进行校准,但又不能删除了文件系统本身自带的校准程序。因为我采用了以下方法实现。

修改/etc/ts.conf如下:

module_raw input

module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear
先将文件系统自带的校准程序包括可执行程序以及lib库拷贝出来,因为后面我们还要再拷贝回来。然后我们将我们交叉编译好的tslib校准程序拷贝到文件系统进行屏幕的校准。
我把我的程序拷贝到了文件系统自带的校准程序位置。

修改/etc/profile文件,添加:

export TSLIB_TSDEVICE=/dev/input/event0

export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_FBDEVICE=/dev/fb0
export QTDIR=/opt/Qtopia
export QPEDIR=/opt/Qtopia
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
因为在开机启动的时候要调用/bin/qtopia来启动qt,该程序也使用了校准程序的相关参数,因为我们要对其进行修改,如下:

#!/bin/sh

export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_FBDEVICE=/dev/fb0
export QTDIR=/opt/Qtopia
export QPEDIR=/opt/Qtopia
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
export CAMERA_DEVICE=/dev/video3
if [ -c ${TSLIB_TSDEVICE} ]; then
export QWS_MOUSE_PROTO="TPanel:/dev/input/event0 USB:/dev/input/mice"
if [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; then
rm /etc/pointercal
fi
if [ ! -e /etc/pointercal ]; then
grep -Ei "\<skipcali=(1|y|yes)\>" /proc/cmdline >/dev/null && {
echo "-27 13757 -2071768 -9105 -32 34531248 65536 800 480" \
>/etc/pointercal
sync
}
fi
else
export QWS_MOUSE_PROTO="USB:/dev/input/mice"
>/etc/pointercal
fi
export QWS_KEYBOARD=TTY:/dev/tty1
export KDEDIR=/opt/kde
export HOME=/root
exec $QPEDIR/bin/qpe 1>/dev/null 2>/dev/null
如果要使用qt4的系统,需要在/etc/init.d/rcS文件修改/bin/qtopia为/bin/qtopia4,并修改/bin/qtopia4的代码如下:

#!/bin/sh

export TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export QTDIR=/opt/Qtopia4.4.3
export QPEDIR=/opt/Qtopia4.4.3
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:/usr/local/lib:$LD_LIBRARY_PATH
if [ -c ${TSLIB_TSDEVICE} ]; then
export QWS_MOUSE_PROTO="Tslib:${TSLIB_TSDEVICE}"
if [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; then
rm /etc/pointercal
fi
else
export QWS_MOUSE_PROTO="USB:/dev/input/mice"
>/etc/pointercal
fi
export QWS_KEYBOARD="TTY:/dev/tty1"
#export QWS_DISPLAY="Transformed:mmWidth66:mmHeight114:Rot90:0"
FB_SIZE=$(cat /sys/class/graphics/fb0/virtual_size)
case "$FB_SIZE" in
800,480)
export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1"
;;
480,272)
export QWS_DISPLAY="LinuxFb:mmWidth76:mmHeight44:1"
;;
320,240)
export QWS_DISPLAY="LinuxFb:mmWidth70:mmHeight52:1"
;;
*)
export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1"
;;
esac
export LANG="en_US"
export HOME=/root/Qtopia4Home
if [ ! -e $HOME ]; then mkdir -p $HOME; fi
if [ ! -e /usr/share ]; then mkdir /usr/share; fi
if [ ! -e /usr/share/zoneinfo ]; then ln -s /opt/Qtopia/etc/zoneinfo /usr/share/; fi
if [ ! -e $HOME/Settings/Trolltech/qpe.conf ]; then
mkdir -p $HOME/Settings/Trolltech/
cp $QPEDIR/etc/default/Trolltech/qpe.conf $HOME/Settings/Trolltech/qpe.conf -f
fi
export QTOPIA_PHONE_DUMMY=1
exec $QPEDIR/bin/qpe 1>/dev/null 2>/dev/null
修改完成后,如果系统中有/etc/pointercal,将其删除,重启系统后会进入校准界面要先进行校准。校准成功后,将文件系统自带的校准程序拷贝回去即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: