1

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

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

因此,如果有人知道如何使用 qt 或在 mac 上执行此操作,那就太好了。提前致谢,

鲍里斯

4

1 回答 1

1

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

特别是,它会darwinHIDKeyboardCacheDoUpdate查找所有键盘,并darwinQueryHIDModifiers遍历键盘以查找保留的修饰键。

正如评论所说:出于某种原因,这一切似乎都没有很好的记录......

我自己没有正在运行的 Mac,但是 VirtualBox 使用 Qt 4 作为它的 GUI,并且仍然需要深入研究 IOKit 本身才能在 Mac 上使用键盘修饰键,所以我猜这对于普通来说是不可能的Qt。

于 2009-06-18T01:25:05.313 回答