Qt中的Caps Lock状态(或任何mac API)

时间:2009-06-17 22:43:22

标签: macos qt4 keyboard

我正在试图弄清楚如何在Qt(4.5)中获得大写锁定状态,但我唯一能从qt获得的是CAPS LOCK是否被按下或释放,然后无法获得实际状态。

为了解决这个问题,我尝试过依赖于平台的工作,并且我在xp上工作了一些东西。但现在我正在寻找mac上的解决方案。我google了很多没有成功(或者可能是一些客观的C API或HID Api)。

所以,如果有人有任何id如何使用qt或mac,那将会很棒。 提前谢谢,

鲍里斯

1 个答案:

答案 0 :(得分:1)

如果查看GPL代码不会污染您,请参阅VirtualBox/src/VBox/Frontends/VirtualBox/src/darwin/DarwinKeyboard.cpp

特别是,darwinHIDKeyboardCacheDoUpdate找到所有键盘,darwinQueryHIDModifiers遍历键盘,查找保持修饰键。

正如评论所说:出于某些原因,这一切似乎都记录得很差......

我自己没有运行Mac,但是VirtualBox使用Qt 4作为其GUI,仍然必须深入到IOKit本身以获得Mac上的键盘修改键,所以我会猜测只有普通的Qt才能做到这一点。