首先我们要明白一般情况下,内核提供的鼠标和触摸屏的设备文件往往存放在 /dev/input 文件夹中,设备文件名往往是even开头的,鼠标设备也有可能是mouse开头的。
然后我们就可以利用这个特性去搜索启动脚本中是谁配置了他们,如果没有就自己配置吧。
步骤:
1、使用cat命令逐一查看哪个是鼠标和键盘设备:
[root@x210ii /dev/input]#ls
event0 event1 event2 event3 mouse0 mouse1 mouse2
[root@x210ii /dev/input]#cat event0
按下回车后,不要打断cat命令,只要点击触摸屏和移动鼠标,然后观察控制台,是否有输出,如果有则表示该设备文件就是对应的设备(我观察到的是event3是触摸屏设备,mouse1是鼠标设备,可能每个人的会不一样),如果没有测同时按下ctrl+c,然后测试另一个设备文件。
2、找到设备文件之后就要去寻找启动脚本中,是那个脚本配置了它,使用grep命令去查找:
[root@x210ii /etc]# grep "event*" * -nr
S99qttest:6:export TSLIB_TSDEVICE=/dev/input/event1
S99qttest:10:export QWS_MOUSE_PROTO="Tslib:/dev/input/event1 MouseMan:/dev/input/mouse2"
init.d/S99qttest:6:export TSLIB_TSDEVICE=/dev/input/event2
init.d/S99qttest:10:export QWS_MOUSE_PROTO="Tslib:/dev/input/event2 MouseMan:/dev/input/mouse2"
mdev.conf:32:event[0-9]+ root:root 640 =input/
如果你移植过tslib触摸屏库的话,就会知道TSLIB_TSDEVICE就是对应的要设置的设备文件,而启动脚本往往放在 /etc/init.d/ 文件夹中所以 /etc/init.d/S99qttest中的对应的设置就是我们要修改的了。
3、修改启动脚本,使其同时支持鼠标和触摸屏:
[root@x210ii /etc/init.d]# vi S99qttest
#!/bin/sh
#
# Start the qttest....
#
export TSLIB_TSDEVICE=/dev/input/event2
export TSLIB_TSEVENTTYPE=INPUT
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_MOUSE_PROTO="Tslib:/dev/input/event2 MouseMan:/dev/input/mouse0"
case "$1" in
start)
echo "Starting qttest..."
/usr/share/demo/qttest -qws &
/usr/share/demo/hdmi_x210 &
mkdir -p /mnt/userdata
mount /dev/mmcblk0p4 /mnt/userdata
;;
stop)
echo -n "Stopping qttest..."
;;
restart|reload)
"$0" stop
"$0" start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit $?
因为我在第一步中观察到的是:event3是触摸屏设备,mouse1是鼠标设备,所以将将上面的
export TSLIB_TSDEVICE=/dev/input/event2 改为
export TSLIB_TSDEVICE=/dev/input/event3
同时将
export QWS_MOUSE_PROTO=”Tslib:/dev/input/event2 MouseMan:/dev/input/mouse0” 改为
export QWS_MOUSE_PROTO=”Tslib:/dev/input/event3 MouseMan:/dev/input/mouse1”
完成!!!
可能不同的开发板设置会不一样,但是解决的过程可以参考