工具/软件:Linux
您好!
我正在使用基于 AM3352的定制板。
我需要在 qt GUI 应用程序上运行触摸屏。
在中、LCD 上的 Qt 应用 GUI 在没有"Weston"和"-platform linuxfb"的情况下工作正常。
但是当我触摸触摸屏时、我遇到问题、我得到 X 和 Y 坐标、我使用"evtest"实用程序进行了检查。
在 Matrix GUI 应用程序(作为-platform linuxfb 运行)或任何自定义 qt 应用程序中、触摸 不起作用。
但它正在运行的文件中提供了"pinchzoom"示例。(放大缩小在 pinchzoom 中正常工作)。
以下是参考日志。
/----------------- 日志------------------------------------------------------- /
root@AM335x-EVM:~ evtest
未指定设备,正在尝试扫描所有/dev/input/event
可用器件:
/dev/input/event0: goodix-ts
/dev/input/event1: volume_keys@0
/dev/input/event2: TI-TSC
选择器件事件编号[0-2]:0
输入驱动程序版本为1.0.1
输入器件 ID:总线0x18供应商0xDead product 0xb牛肉 版本0x28bb
输入设备名称:"goodix-ts"
支持的事件:
事件类型0 (EV_SYN)
事件类型1 (EV_KEY)
事件代码330 (BTN_touch)
事件类型3 (EV_ABS)
事件代码48 (ABS_MT_TOUCH MAJOR)
值0
最小值0
最大 255
事件代码53 (ABS_MT_POSITION _X)
值0
最小值0
最大 480
事件代码54 (ABS_MT_POSITION _Y)
值0
最小值0
最大272
事件代码57 (ABS_MT_TRACKING_ID)
值0
最小值0
最大 255
事件代码58 (ABS_MT_PRESSURE)
值0
最小值0
最大 255
属性:
属性类型1 (INPUT_PROP_DIRECT)
正在测试... (中断以退出)
事件:时间1494428001.078759、类型1 (EV_KEY)、代码330 (BTN_touch)、值1
事件:时间1494428001.078759、类型3 (EV_ABS)、代码58 (ABS_MT_PRESSURE)、值15
事件:时间1494428001.078759、类型3 (EV_ABS)、代码48 (ABS_MT_TOUCH _MAJOR)、值15
事件:时间1494428001.078759、类型3 (EV_ABS)、代码57 (ABS_MT_TRACKING_ID)、值0
事件:时间1494428001.078759、类型3 (EV_ABS)、代码53 (ABS_MT_POSITION _X)、值282
事件:时间1494428001.078759、类型3 (EV_ABS)、代码54 (ABS_MT_POSITION _Y)、值151
事件:时间:1494428001.078759、++++++++++++++ SYN_MT_REPORT ++++++++++++++
事件:时间1494428001.078759,--- SYN_REPORT --------
事件:时间1494428001.107006、类型1 (EV_KEY)、代码330 (BTN_touch)、值0
事件:时间1494428001.107006、++++++++++++++ SYN_MT_REPORT ++++++++++++++
事件:时间1494428001.107006,--- SYN_REPORT --------
------------------------------------------------------- /
看起来触摸驱动程序工作正常、但矩阵 GUI 应用程序不接受使用"linuxfb"作为平台的触摸。
我还交叉编译"tslib "并尝试运行"ts_calibration"、但看起来好像没有进行校准。
下面是您参考的日志和 env 设置。
/----------------- 导出的变量------------------------------------------------------- /
导出 QT_PLUGIN_PATH=/usr/lib/qt5/plugins
导出 QT_QPA_FONTDIR =/usr/lib/fonts
导出 QT_QPA_platform_plugin_path=/usr/lib/qt5/plugins/platforms
导出 QT_QPA_platform=linuxfb
导出 QT_QPA_EVDEV_Touchscreen 参数=/dev/input/event0
导出 LD_library_path=$LD_library_path:/home/root/Tslib/Install/lib
导出 TSLIB_TSEVENTTYPE='input'
导出 TSLIB_FBDEVICE=/dev/fb0
导出 TSLIB_TSDEVICE=/dev/input/event0
导出 TSLIB_conffile=/home/root/Tslib/Install/etc/ts.conf
导出 TSLIB_PLUGINDIR=/home/root/Tslib/Install/lib/ts
导出 TSLIB_CONSOLEDEVICE='none'
------------------------------------------------------- /
/--------------- 输出 ts_calibrate --- /
root@AM335x-EVM:~/Tslib/Install/bin #./ts_calibr
XRES = 480、YRES = 272
/---------------------------------------------------------- /
屏幕上显示校准代码也会显示在屏幕上。
但是当我触摸时、不会进行校准、此时在"evtest"实用程序中、我可以看到 X 和 Y 坐标。
请做不必要的事。
此致、
--罗纳克