- 论坛徽章:
- 0
|
将内核3.0.1移植到armsys6410中,感觉触摸屏驱动应该搞定了:输入命令:
# cat /proc/bus/input/devices
I: Bus=0013 Vendor=dead Product=beef Version=0101
N: Name="S3C TouchScreen"
P: Phys=input(ts)
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=mouse0 event0
B: PROP=0
B: EV=b
B: KEY=400 0 0 0 0 0 0 0 0 0 0
B: ABS=1000003
同时cat /dev/input/event0,点击触摸屏,是有反应的,tslib使用的是原来自带的版
本,但运行ts_calibrate报错:
./ts_calibrate
xres = 640, yres = 480
selected device is not a touchscreen I understand
Took 4 samples...
Top left : X = 0 Y = 1
Took 4 samples...
Top right : X = 0 Y = 1
Took 4 samples...
Bot right : X = 0 Y = 1
Took 4 samples...
Bot left : X = 0 Y = 1
Took 4 samples...
Center : X = 0 Y = 1
ts_calibrate: determinant is too small -- 0.000000
Calibration failed.
tslib环境配置脚本如下:
#!/bin/sh
TSLIB_TSDEVICE=/dev/input/event0
export TSLIB_ROOT=/usr/local
TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_TSDEVICE
export TSLIB_CONFFILE
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_DISPLAY=:1
export LD_LIBRARY_PATH=/usr/local/lib LD_LIBRARY_PATH
export PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/usr/local/bin
#TS_INFO_FILE=/sys/devices/platform/uevent
TS_INFO_FILE=/sys/devices/virtual/input/input0/uevent
if [ -e $TS_INFO_FILE -a "/bin/grep -q TouchScreen < $TS_INFO_FILE" ]; then
echo "touch..."
export QWS_MOUSE_PROTO="Tslib MouseMan:/dev/input/mice"
if [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; then
rm /etc/pointercal
$TSLIB_ROOT/bin/ts_calibrate
fi
else
echo "mouse..."
export QWS_MOUSE_PROTO="MouseMan:/dev/input/mice"
>/etc/pointercal
fi
unset TS_INFO_FILE
export QWS_KEYBOARD=TTY:/dev/tty1
export HOME=/root
不知道怎么回事,就是无法进行鼠标校正。 |
|