对文件系统的配置比较麻烦,主要是对触摸屏的校准问题,也就是如何获取/etc/pointercal的问题。
关于tslib的交叉编译我就不多讲了,网上很多。我就不多讲了,我们要采用我们自己交叉编译的tslib来进行校准,但又不能删除了文件系统本身自带的校准程序。因为我采用了以下方法实现。
修改/etc/ts.conf如下:
module_raw input module pthres pmin=1 module variance delta=30 module dejitter delta=100 module linear |
我把我的程序拷贝到了文件系统自带的校准程序位置。
修改/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/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 |
#!/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 |