Почему Qt не может перехватить сенсорное событие после повторного подключения сенсорного USB-устройства?
Хорошего дня.
У меня проблема с горячей заменой сенсорного устройства.
Я установил переменную среды, как показано ниже. export QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/ts_uinput:rotate=0
"/ Dev / input / ts_uinput" создается приложением библиотеки ts "ts_uinput".
Функция касания может работать нормально, прежде чем я снова подключу USB-устройство. Если я снова подключу сенсорное устройство USB, сенсорная функция не будет работать.
"/ Dev / input / ts_uinput" по-прежнему создается после повторного подключения сенсорного USB-устройства.
Я также отслеживаю данные в "/ dev / input / ts_uinput" и в них также есть отчет о данных.
Почему Qt не получает событие касания после повторного подключения сенсорного USB-устройства?
1 ответ
Я бы смело предположил, что это потому, что Qt (плагин платформы Qt evdev) открывается /dev/input/ts_uinput
когда приложение запустится. При повторном подключении сенсорного устройства файл воссоздается, но дескриптор файла, хранящийся в Qt, становится недействительным. Для повторной работы потребуется, чтобы Qt закрыл и снова открыл дескриптор.
Вы можете попытаться получить больше информации, включив журналы отладки: http://doc.qt.io/qt-5/embedded-linux.html
Однако я не знаю, является ли это ошибкой или отсутствующей функцией, вы можете связаться со списком рассылки Qt интереса или сообщить об ошибке.