0

我使用 Qt Embedded,并且我有一个带有一些键盘的板。我使用 eventFilter 并为我的小部件检查 QKeyEvent,但只有两个按钮 Qt 没有反应。未调用 eventFilter。这是代码:

bool eventFilter(QObject* parent, QEvent* event)
{
  qDebug() << "entered";
  switch (event->type())
  {
    case QEvent::KeyPress:
    {
      QKeyEvent* key_event = qobject_cast<QKeyEvent*>(event);
      qDebug() << key_event->key();
    }
  }
}

但是物理键和驱动程序也可以工作。我可以从 /dev/event2 收听它。

有人为此苦苦挣扎吗?谢谢。

4

1 回答 1

0

作为测试,您可以在实例化应用程序之前尝试安装 QWSServer::KeyboardFilter。并查看 QWSServer 是否正在获取密钥。

如果没有,那么我建议查看 QWS 服务器使用的键盘映射(查找环境变量 QWS_KEYBOARD)。默认的美国键映射和在我的情况下,自定义 gb.qmap 都没有映射所有键。

于 2014-05-01T19:36:15.263 回答