我正在使用
QShortcut* capsKey = new QShortcut (Qt::Key_CapsLock, this, SLOT(keyCaps() ));
但是,只有在大写锁定启用时(大写锁定 LED 打开)才会每隔一次检测到该信号 - 而在禁用时(大写锁定 LED 关闭)则不会检测到该信号
如何检测另一个键? 谢谢
[我在 2014 年 MacBook Pro 上使用 Qt5.4]
最佳答案
大写锁定键可能很有趣。我不知道到底发生了什么,但可以做出一些猜测。
在某些早期的 Mac 键盘上,大写锁定键在按下时会被物理锁定,因此只有在第二次按下该键时才会生成释放代码。没有物理锁的键盘的后续按键处理程序可能会模拟相同的行为(以便期望它的旧应用程序仍然可以工作)。你的程序将得到的是按下,然后当第二次按下锁定键时释放。如果是这种情况,则只需检测一次按键,而不是两次。
某些平台允许用户在不按大写锁定键(通常通过按 Shift 键)的情况下关闭大写锁定。在这些系统中,可能根本不会出现第二次点击。
关于c++ - 检测大写锁定按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39323432/