QT Keyboard Plugin - PullRequest
       3

QT Keyboard Plugin

0 голосов
/ 24 мая 2011

Я включил QT на одной из платформ MIPS. Я написал графический плагин для дисплея и работает нормально. Сейчас я пытаюсь включить клавиатуру.

Вместо написания еще одного клавиатурного плагина, я сделал клавиатуру частью плагина Grpahics. Мой код клавиатуры выглядит примерно так:

class MyKeyboardHandler : public QObject, public QWSKeyboardHandler 
{ 
 Q_OBJECT 
 public:  MyKeyboardHandler(); 
 virtual ~MyKeyboardHandler();

private:         QSocketNotifier     *m_notifier;

private slots:       void readKeyboardData(); 
};

С сокетом я получаю данные клавиатуры. Я зарегистрировал сигнал для readKeyboardData, чтобы при наличии данных в сокете вызывался readKeyboardData.

Конструктор класса выглядит примерно так:

....  m_notifier = new QSocketNotifier(fd, QSocketNotifier::Read, this);

     connect(m_notifier, SIGNAL(activated(int)),this, SLOT(readKeyboardData()));
     //QWSServer::setKeyboardHandler(this);
...

В readKeyboardData () я вызываю

processKeycode() 

С помощью приведенного выше кода я получаю вызовы чтения сокета и вызывается processKeyCode. Но единственное, что приложение никогда не получает ключ. В тот момент, когда я включаю последнюю строку (QWSServer :: setKeyboardHandler (this)), сигнал чтения сокета никогда не приходит. То есть функция readKeyboardData () никогда не вызывается.

Пожалуйста, дайте мне знать, если я что-то делаю неправильно. Мое главное намерение - включить клавиатуру.

1 Ответ

0 голосов
/ 15 сентября 2011

Мне удалось отладить проблему. На самом деле код работал, но из-за проблемы с драйвером он не отображался в приложении. В драйвере клавиатуры драйвер всегда давал только Keyup, а не keydown. Таким образом, keydown никогда не уходил. Следовательно, приложение не получало данные должным образом. После того, как я установил драйвер, он начал работать - Хари (Оставив ответ вместо комментария)

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