ts_calibrate работает, калибрует правильно.
ts_test слушается клика тоже правильно, как в режиме клика, так и в режиме рисования линии. То есть, куда ткнем пальцем, там и крестик появляется.
А при запуске Qt-приложения с использованием frame buffer, курсор мыши появляется не в том месте, куда тыкаем пальцем.
Ощущение, что координаты мыши X и Y меняются местами.
Подскажите, please, где, в каком месте производится конфигурирование курсора мыши touchscreen при работе с frame buffer ?
На SK-iMX53 устройства ввода находятся по пути /dev/event0
и на команду: cat /dev/event0 | hexdump
чувствует касание экрана - выдает hex-коды.
Я попробовал export QWS_MOUSE_PROTO="Tslib:/dev/event0"
рузультат - указатель мыши находится в центре экрана и на касание никак не реагирует. Убираю переменную командой export QWS_MOUSE_PROTO=
начинает реагировать на касание, но неправильно(как будто путает координаты x/y). Аналогично(неправильно) работает с переменной QWS_MOUSE_PROTO="IntelliMouse:/dev/event0"
Что еще можно попробовать, подскажите, пожалуйста.
На SK-iMX53 устройства ввода находятся по пути /dev/event0
и на команду: cat /dev/event0 | hexdump
чувствует касание экрана - выдает hex-коды.
Я попробовал export QWS_MOUSE_PROTO="Tslib:/dev/event0"
рузультат - указатель мыши находится в центре экрана и на касание никак не реагирует. Убираю переменную командой export QWS_MOUSE_PROTO=
начинает реагировать на касание, но неправильно(как будто путает координаты x/y). Аналогично(неправильно) работает с переменной QWS_MOUSE_PROTO="IntelliMouse:/dev/event0"
Что еще можно попробовать, подскажите, пожалуйста.
Затем запускаю программу: ./agro -qws
Результат тот же, -на касание экрана не реагирует.
Тут же убираю переменную командой
export QWS_MOUSE_PROTO=
Через printenv убедился, что переменная отменена
Затем запускаю программу: ./agro -qws
Результат: тыкаю в правый нижний угол, курсор появляется в левом верхнем углу. При перемещениии пальца из правого нижнего угла в центр экрана, курсор перемещается из левого верхнего угла в центр. То есть ощущение, что путаются координаты x и y.
ts_test по прежнему работает прекрасно, как в режиме клика, так и в режиме рисования. Проблема только с framebuffer.
Программа написана на QT, запуск с параметром -qws направляет вывод графики через framebuffer.
Может кто-то еще пишет такие программы, должен столкнуться с такой проблемой, или такая проблема только у меня ? Монитор с тачскрином: SK-TFT1024X768(TP)-Plug
Может у кого есть еще идеи, буду рад любому предложению.
Проблем таких нет. Запускаем qt-приложения со скрипта, координаты не путаются. Проблема действительно скорее в сборке и конфигурировании qt, раз ts_test работает корректно.
Всем большое спасибо за помощь. Touchscreen заработал. Пересобрал Tslib, построенные библиотеки из tslib/lib скопировал в qt-arm-src/lib Qt. И tslib.h скопировал в qt-arm-src/include, затем пересобрал библиотеки Qt, и все заработало.
Господа, помогите - на сабжевой плате tslib молчит!
Экран SK-ATM0700D4-Plug, при сборке ядра в VM выбран сенсор ADS7846/TSC2046/AD7873 andAD(S)7843 based
в соответствующем разделе.
Естественно - ядро загружено ( уверенности в корректности пересборки нет ).
Но! cat /dev/event0 | hexdump молчит.