我正在试图弄清楚如何在Qt(4.5)中获得大写锁定状态,但我唯一能从qt获得的是CAPS LOCK是否被按下或释放,然后无法获得实际状态。
为了解决这个问题,我尝试过依赖于平台的工作,并且我在xp上工作了一些东西。但现在我正在寻找mac上的解决方案。我google了很多没有成功(或者可能是一些客观的C API或HID Api)。
所以,如果有人有任何id如何使用qt或mac,那将会很棒。 提前谢谢,
鲍里斯
答案 0 :(得分:1)
如果查看GPL代码不会污染您,请参阅VirtualBox/src/VBox/Frontends/VirtualBox/src/darwin/DarwinKeyboard.cpp。
特别是,darwinHIDKeyboardCacheDoUpdate
找到所有键盘,darwinQueryHIDModifiers
遍历键盘,查找保持修饰键。
正如评论所说:出于某些原因,这一切似乎都记录得很差......
我自己没有运行Mac,但是VirtualBox使用Qt 4作为其GUI,仍然必须深入到IOKit本身以获得Mac上的键盘修改键,所以我会猜测只有普通的Qt才能做到这一点。