Я включил 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 () никогда не вызывается.
Пожалуйста, дайте мне знать, если я что-то делаю неправильно.
Мое главное намерение - включить клавиатуру.