检测大写按键

时间:2016-09-05 03:12:27

标签: c++ qt

我正在使用

QShortcut* capsKey = new QShortcut (Qt::Key_CapsLock,      this, SLOT(keyCaps() ));

但是,只有在使用大写锁定(大写锁定LED指示灯打开)时才会检测到信号 - 而不是在禁用大写时(大写锁定指示灯已关闭)

我如何检测另一个键? 感谢

[我在2014年macbook pro上使用Qt5.4]

1 个答案:

答案 0 :(得分:1)

大写锁定键可能很有趣。我不确切知道发生了什么,但可以做一些猜测。

在某些早期的Mac键盘上,按下时大写锁定键会被锁定,因此在第二次按键时才会生成释放代码。以后用于没有物理锁定的键盘的键处理程序可能会模拟相同的行为(因此期望它的旧应用程序仍然可以工作)。你的程序将获得的是一个新闻,然后在锁定键第二次被击中时释放。如果是这种情况,则只有一个按键可以检测,而不是两个。

某些平台允许用户在不按下大写锁定键的情况下关闭大写锁定(通常通过按下shift键)。在那些系统中,可能根本没有第二次打击。