我正在使用
QShortcut* capsKey = new QShortcut (Qt::Key_CapsLock, this, SLOT(keyCaps() ));
但是,只有在使用大写锁定(大写锁定LED指示灯打开)时才会检测到信号 - 而不是在禁用大写时(大写锁定指示灯已关闭)
我如何检测另一个键? 感谢
[我在2014年macbook pro上使用Qt5.4]
答案 0 :(得分:1)
大写锁定键可能很有趣。我不确切知道发生了什么,但可以做一些猜测。
在某些早期的Mac键盘上,按下时大写锁定键会被锁定,因此在第二次按键时才会生成释放代码。以后用于没有物理锁定的键盘的键处理程序可能会模拟相同的行为(因此期望它的旧应用程序仍然可以工作)。你的程序将获得的是一个新闻,然后在锁定键第二次被击中时释放。如果是这种情况,则只有一个按键可以检测,而不是两个。
某些平台允许用户在不按下大写锁定键的情况下关闭大写锁定(通常通过按下shift键)。在那些系统中,可能根本没有第二次打击。