如何以编程方式确定MacOS中是否启用了“全键盘访问”模式?

时间:2011-07-10 21:07:05

标签: cocoa accessibility

在键盘首选项面板中启用或禁用全键盘访问模式 - 在此处引用:

Efficiently subclassing standard Cocoa controls

在这里:

Disable Full Keyboard Access for App

但在网络上我没有找到如何在我的应用程序中确定是否启用了全键盘访问。我正在编写一个自定义无线电控件,并且如果启用了全键盘访问,则希望允许对其进行制表。

2 个答案:

答案 0 :(得分:6)

在Mac OS X 10.6或更高版本中: - [NSApp isFullKeyboardAccessEnabled]。

答案 1 :(得分:5)

我知道这是没有证件的。它存储在AppleKeyboardUIMode中的NSGlobalDomain

defaults read -g AppleKeyboardUIMode

这是一个位域,但我从来没有见过它的文档。 “全键盘访问”似乎切换位1(值= 2)。

简而言之,您应该能够从NSUserDefaults获取此内容并对其进行位掩码以找到您的答案,但它可能会发生变化。