Ввод с клавиатуры в Qt - PullRequest
       14

Ввод с клавиатуры в Qt

3 голосов
/ 19 сентября 2011

Я работаю над приложением Qt, работающим на встроенном Linux.Я довольно новичок в этом бизнесе Qt, так как я только начал его месяц назад, поэтому понимаю, что я не такой, объектно-ориентированный ...: P

У меня есть Qtприложения, работающие на моей цели под управлением Linux.В документации Qt http://doc.qt.io/archives/qt-4.7/qt-embedded-pointer.html говорится, что мы должны включить сенсорный экран, клавиатуру USB, клавиатуру и т. Д. Путем экспорта определенных переменных.А именно,

export QWS_MOUSE_PROTO=tslib:/dev/input/event1
export QWS_KEYBOARD="linuxinput:/dev/input/event0 usb:/dev/input/event2"

ну, как вы можете догадаться, первая строка устанавливает устройство мыши в QT в качестве сенсорного экрана.«tslib» - это библиотека сенсорного экрана, а «event1» - это узел, представляющий сенсорный экран.Точно так же вторая строка предназначена для встроенной клавиатуры (event0) и USB-клавиатуры (event2).

Теперь сенсорный экран работает очень хорошо.Но проблема с любой клавиатурой.Если я не экспортирую вторую переменную, а именно QWS_KEYBOARD , то приложение будет работать нормально.Но если я экспортирую вторую переменную, приложение переходит в состояние остановки (SIGSTOP), как только оно запускается.Это видно из вывода PS.Я не могу заставить его работать с SIGCONT.

Я собираюсь попытаться перенастроить Qt из исходного кода.Любые мысли приветствуются.

1 Ответ

3 голосов
/ 20 сентября 2011

Не могу поверить в это, но установка переменной QWS_KEYBOARD как ноль решила проблему. Нашел его в FAQ для разработчиков Qt http://developer.qt.nokia.com/faq/answer/why_doesnt_my_keyboard_work_after_i_have_done_an_export_qws_keyboard_dev_tt

export QWS_KEYBOARD=""

Ну, это не полностью решило проблему, так как мне все еще нужно включить встроенную клавиатуру вместе с клавиатурой USB.

В любом случае, я могу перемещаться по полям с помощью клавиш со стрелками / TAB. Ввод текста работает хорошо. Хотя CAPS-LOCK и NUM-LOCK, похоже, не работают. SHIFT работает. Я могу закрыть приложение, нажав Ctrl + Alt + Bkspce. Итак, пока я могу вводить текст как минимум.

Будет ли опубликовано, если какие-либо улучшения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...