1
QShortcut* capsKey = new QShortcut (Qt::Key_CapsLock, this, SLOT(keyCaps()));
然而,信号只能检测到每个其他时间,当CapsLock键从事(大写锁定指示灯是否点亮) - 而不是当它被禁用(大写锁定指示灯是否点亮关)
我该如何检测其他密钥? 感谢
[我使用Qt5.4在2014年的MacBook Pro]
QShortcut* capsKey = new QShortcut (Qt::Key_CapsLock, this, SLOT(keyCaps()));
然而,信号只能检测到每个其他时间,当CapsLock键从事(大写锁定指示灯是否点亮) - 而不是当它被禁用(大写锁定指示灯是否点亮关)
我该如何检测其他密钥? 感谢
[我使用Qt5.4在2014年的MacBook Pro]
Caps Lock键可以是有趣的。我不知道到底发生了什么,但可以做出一些猜测。
在某些早期的Mac键盘上,按下时大写锁定键被物理锁定,因此直到第二次按键时才会生成释放代码。后来对没有物理锁的键盘的键处理程序可能会模拟相同的行为(以便那些期待它的旧应用程序仍能正常工作)。你的程序得到的将是一个新闻,然后是一个释放,当锁键被第二次击中时。如果是这种情况,只有一个按键可以检测,而不是两个。
某些平台允许用户关闭大写锁而不打大写锁定键(通常通过按下shift键)。在这些系统中可能根本没有第二次击中。