【问题标题】:Caps Lock State in Qt (or any mac API)Qt(或任何mac API)中的大写锁定状态
【发布时间】:2009-06-17 22:43:22
【问题描述】:

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

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

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

鲍里斯

【问题讨论】:

    标签: macos qt4 keyboard


    【解决方案1】:

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

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

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

    我自己没有正在运行的 Mac,但 VirtualBox 使用 Qt 4 作为其 GUI,仍然必须深入研究 IOKit 本身才能获得 Mac 上的键盘修饰键,所以我会猜测这对于普通的 Qt 是不可能的。

    【讨论】:

    • 我检查了一下,它看起来确实很复杂,我需要更深入地研究他们的代码。我真的很惊讶苹果没有做一些更容易访问的事情,也没有记录任何东西......无论如何感谢您的回答,非常感谢!
    猜你喜欢
    • 2012-12-04
    • 2016-06-15
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 2021-10-30
    相关资源
    最近更新 更多