使用ts_uinputs的方法
#先判断校准文件是否存在,不存在的话启动校准程序
#否则启动ts_uinput
#!/bin/sh
if [! -f /etc/xxxx ]; then
ts_calibrate
sync
fi
killall -q ts_uinput
ts_uinput -d
使用ts_uinputs有什么坑呢?
I’m testing ts_uinput (tslib’s program) in linux.
The ts_uinput create a simulated input event in path “/dev/input”. (For example: /dev/input/ts_uinput).
Moreover, the real touch device also has a input event in path “/dev/input”. (For example: /dev/input/event0).
The Qt’s evdevtouch handler accept the two input event in the same time, but this cause a strange behavior.
For example, I draw a vertical line by touch but the line isn’t very straight.
The reason is evdevtouch handler receive the two input event in the same time, so this cause the line isn’t very straight.
Is it possible to let evdevtouch handler only accept simulated input event (/dev/input/ts_uinput)?
Thanks.
具体解决方法
Finally I use the following setting to specify the device input.
QT_QPA_GENERIC_PLUGINS=evdevtouch:/dev/input/eventX
QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/eventX:rotate=0
Now, the ts_uinput work normally in my system.