Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:2
Поисковых ботовПоисковых ботов:3
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:6
Форум » starterkit.ru » Embedded Linux
Графическое приложение QT и клавиатура
Igor9401
Добавлено 10.03.2020 10:52 Редактировалось 10.03.2020 16:00
0
Сообщение: 1
Igor9401
0

Пункты: 514
Регистрация: 08.02.2016
Добрый день.

Ни как не получается перехватить нажатия клавиш с USB клавиатуры в приложение QT.
При вводе на клавиатуре весь набор идет в терминал на заднем фоне.
Приложение запускалось через SSH отладчик QT, а также как обычное приложение через терминал.

Пробовал перед запуском приложения вводить в терминале:
export QWS_KEYBOARD="LinuxInput:/dev/input/event1"

Проверил наличие KBD при сборке buildroot2017

Подскажите пожалуйста куда дальше смотреть.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.03.2020 11:32 Сообщение: 2
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

При вводе на клавиатуре весь набор идет в терминал на заднем фоне.


закоментируйте в /etc/inittab строчку

# tty1::respawn:/sbin/getty 38400 tty1 linux

чтобы после пересборки не править каждый раз на плате - еще в файле

buildroot-2017.08-sk/board/starterkit/imx6sk-min/inittab

Цитата

Пробовал перед запуском приложения вводить в терминале:
export QWS_KEYBOARD="LinuxInput:/dev/input/event1"


QWS - это устревшая оконная система Qt4, в Qt5 используется QPA
Спуститься к концу Подняться к началу
Персональная информация
Igor9401
Добавлено 10.03.2020 16:01 Сообщение: 3
Igor9401
0

Пункты: 514
Регистрация: 08.02.2016
К сожалению не помогло.

Пропало приглашение на ввод логина, но в обычный qTextEdit ничего не вводится.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 10.03.2020 17:35 Сообщение: 4
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

Пропало приглашение на ввод логина, но в обычный qTextEdit ничего не вводится.


перед запуском приложения попробуйте

export QT_QPA_EGLFS_NO_LIBINPUT=1
Спуститься к концу Подняться к началу
Персональная информация
Igor9401
Добавлено 16.03.2020 12:16 Сообщение: 5
Igor9401
0

Пункты: 514
Регистрация: 08.02.2016
Цитата

перед запуском приложения попробуйте

export QT_QPA_EGLFS_NO_LIBINPUT=1


Спасибо! Помогло.

Но теперь другая проблема, виснет отладка в QT с выводом в application output сообщения:

tslib: selected device is not a touch screen

потом отладка останавливается по причине timeout
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 16.03.2020 13:28 Сообщение: 6
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата

tslib: selected device is not a touch screen


посмотрите/скорректируйте переменну. окружения

export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event0

Цитата

потом отладка останавливается по причине timeout


маловероятно что это напрямую связано с устройствами ввода, скорей всего связано с длительной инициализацией генератора случайных чисел из-за нехватки энтропии. Попробуйте включить в сборку

make menuconfig

Target packages --->
Miscellaneous --->
[*] haveged
Спуститься к концу Подняться к началу
Персональная информация
Igor9401
Добавлено 16.03.2020 14:16 Сообщение: 7
Igor9401
0

Пункты: 514
Регистрация: 08.02.2016
Цитата

посмотрите/скорректируйте переменну. окружения

export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event0


Не помогло, даже при запуске без отладчика, прямо в консоль сыпятся:

tslib: selected device is not a touchscreen (must support ABS and key events types)
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 16.03.2020 14:31 Сообщение: 8
sasamy
4.71

Пункты: 83540
Регистрация: 14.08.2009
Цитата
Цитата

посмотрите/скорректируйте переменну. окружения

export QT_QPA_GENERIC_PLUGINS=tslib:/dev/input/event0


Не помогло, даже при запуске без отладчика, прямо в консоль сыпятся:

tslib: selected device is not a touchscreen (must support ABS and key events types)


что не помогло ? tslib пишет что указанное для него устройство ввода не является тачскринном, я вам написал как указывается устройство ввода чтобы выбрать другое.
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Embedded Linux