我使用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中收听。
有人挣扎过吗?谢谢
作为测试,您可以在实例化应用程序之前尝试安装QWSServer::KeyboardFilter。看看QWSServer是否拿到了密钥。
如果没有,那么我建议查看QWS服务器使用的键盘映射(查找环境变量QWS_KEYBOARD)。默认的US密钥映射和在我的情况下,自定义的gb.qmap都没有映射所有的密钥。