如何以编程方式确定“全键盘访问”是否已启用MacOS 中是否开启模式?
在键盘首选项窗格中启用或禁用完整键盘访问模式 - 此处引用:
和此处:
但我在网上没有找到如何确定,在我的应用程序中,如果启用了全键盘访问。我正在编写一个自定义无线电控件,并且希望在启用“全键盘访问”的情况下允许使用 Tab 键进入它。
Full Keyboard Access mode is enabled or disabled in the Keyboard preference pane - it's referenced here:
Efficiently subclassing standard Cocoa controls
and here:
Disable Full Keyboard Access for App
but nowhere on the web have I found out how to determine, within my app, if Full Keyboard Access is enabled. I'm writing a custom radio control and want to allow tabbing into it iff Full Keyboard Access is on.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 Mac OS X 10.6 或更高版本中:-[NSApp isFullKeyboardAccessEnabled]。
In Mac OS X 10.6 or higher: -[NSApp isFullKeyboardAccessEnabled].
据我所知,这是没有记录的。它存储在
NSGlobalDomain
中的AppleKeyboardUIMode
中:它是一个位字段,但我从未见过它的文档。 “完全键盘访问”似乎切换位 1(值 = 2)。
简而言之,您应该能够从 NSUserDefaults 中获取此内容并对其进行位掩码以找到您的答案,但它可能会发生变化。
As best I know this is undocumented. It is stored in
AppleKeyboardUIMode
inNSGlobalDomain
:It's a bitfield, but I've never seen docs for it. "Full Keyboard Access" seems to toggle bit 1 (value=2).
The short is you should be able to fetch this from
NSUserDefaults
and bitmask it to find your answer, but it could change.