Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 检测capslock按键_C++_Qt - Fatal编程技术网

C++ 检测capslock按键

C++ 检测capslock按键,c++,qt,C++,Qt,我正在使用 QShortcut* capsKey = new QShortcut (Qt::Key_CapsLock, this, SLOT(keyCaps() )); 但是,该信号仅在capslock接通(caps lock led点亮)时每隔一次检测一次,而不是在禁用(caps lock led熄灭)时检测一次 如何同时检测另一个键? 谢谢 [我在2014款macbook pro上使用Qt5.4]大写锁定键可能很有趣。我不知道到底发生了什么,但我可以猜一下 在一些早期的Mac键盘

我正在使用

QShortcut* capsKey = new QShortcut (Qt::Key_CapsLock,      this, SLOT(keyCaps() ));
但是,该信号仅在capslock接通(caps lock led点亮)时每隔一次检测一次,而不是在禁用(caps lock led熄灭)时检测一次

如何同时检测另一个键? 谢谢


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

大写锁定键可能很有趣。我不知道到底发生了什么,但我可以猜一下

在一些早期的Mac键盘上,按下caps lock键时会被物理锁定,因此直到第二次按下该键时才会生成释放代码。后来,对于没有物理锁的键盘,其密钥处理程序可能会模拟相同的行为(因此,希望它仍能工作的旧应用程序)。您的程序将得到的是按下,然后在第二次按下锁定键时释放。如果是这种情况,只需按一个键即可检测,而不是按两个键

某些平台允许用户在不按caps lock键(通常是按shift键)的情况下关闭caps lock。在这些系统中,可能根本就不会有第二次成功