I.MX6 Linux eGTouch TouchScreen porting

时间:2023-03-09 19:12:49
I.MX6 Linux eGTouch TouchScreen porting
                    I.MX6 Linux eGTouch TouchScreen porting

一、Download Driver:
http://www.eeti.com.tw/drivers_Linux.html 二、阅读:EETI eGTouch Linux Programming Guide 三、系统启动配置:
......
# 本人直接将驱动放在内核里了,并没有做成模块
# insmod /module/hid-multitouch.ko
# 使用eGTouch_v2.5.4330.L-ma/eGTouchARM/eGTouchARMnonX里面的文件
/usr/bin/eGTouchD & # sleep # 我是通过这个sleep 1发现是设备节点不存在造成的
while [ ! -e /dev/input/event4 ]
do
echo "please hang up USB TOUCH !"
usleep 10 # 自己写的C延时程序当shell命令用
done export TSLIB_ROOT=/usr/local/tslib-instal
export TSLIB_TSDEVICE=/dev/input/event4
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts
export TSLIB_FBDEVICE=/dev/fb0
export PATH=/usr/local/tslib-instal:$PATH
export LD_LIBRARY_PATH=/usr/local/Trolltech/QtEmbedded-4.8.-arm/lib
export QT_QWS_FONTDIR=/usr/local/Trolltech/QtEmbedded-4.8.-arm/lib/fonts
export QWS_MOUSE_PROTO=tslib:/dev/input/event4
...... 四、问题集锦:
. 问题1:不确定那个input输入:
解决方法:
. 运行:cat /proc/bus/input/devices;
root@freescale /etc$ cat /proc/bus/input/devices
...... I: Bus= Vendor=0eef Product= Version=
N: Name="eGalaxTouch Virtual Device for Multi"
P: Phys=
S: Sysfs=/devices/virtual/input/input5
U: Uniq=
H: Handlers=cpufreq_interactive event4
B: PROP=
B: EV=b
B: KEY=
B: ABS= I: Bus= Vendor=0eef Product= Version=
N: Name="eGalaxTouch Virtual Device for Single"
P: Phys=
S: Sysfs=/devices/virtual/input/input6
U: Uniq=
H: Handlers=event5
B: PROP=
B: EV=b
B: KEY=
B: ABS= root@freescale /etc$
. 通过H:Handlers确定eGTouch对应的是/dev/input/event4、/dev/input/event5,
两个都试一下就知道哪个能用了。 . 问题2:系统第一次开机时执行ts_calibrate闪退(经常连闪都看不到),导致无法正常校正:
解决方法:
在/usr/bin/eGTouchD &设备插入检测机制,原因是,生成上面的event4、 event5
是需要一点时间的,这样后面的tslib才能正确的识别。
while [ ! -e /dev/input/event4 ]
do
echo "please hang up USB TOUCH !"
usleep
done . 问题3:tslib: Selected device is not a touchscreen (must support ABS and KEY event types)
解决方法:
. 可能是因为驱动不支持,更换标准的驱动,因为有些驱动是别人在标准驱动上
修改的驱动,所以最好换成官方标准的驱动;
. export TSLIB_TSDEVICE=/dev/input/event4指向的input设备不正确,注意
修改成正确的input设备;