使用电容屏的 Qt 程序,不用移植 tslib 库,就可以直接读取输入设备文件(/etc/input/eventx),除非需要 tslib 校准。另外 Qt4 默认支持触屏,而 Qt5 需要设置环境变量才能支持触屏:
export QT_LOGGING_RULES=qt.qpa.input=true # 打印触屏信息
export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event0 # 指定输入设备的名称
export QT_QPA_EVDEV_MOUSE_PARAMETERS=/dev/input/event0 # 将触摸屏的点击事件配置成Qt的鼠标点击事件
export QT_QPA_FB_HIDECURSOR=1 # 为1则隐藏鼠标光标,为0则显示鼠标光标
- 对于 Qt5,设置环境变量
QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS
,Qt5 自身的 libinput 就会去/dev/input/eventX
读取触摸屏数据(未校准),从而使触摸正常工作。 - 将触摸屏的点击事件配置成 Qt 的鼠标点击事件后,会产生有一个鼠标光标。