通过 Swift 在 MacOS 中访问键盘设置
Accessing keyboard settings in MacOS via Swift
这就是我想要做的事情:
我想构建一个小应用程序,在 MacOS 的顶部栏中放置一个图标。单击此图标时,应切换设置 "System Preferences > Keyboard > Use keys F1, F2, ... as standard function keys"。所以它基本上像 Caffeine 一样工作,只是用于不同的设置。
这是我目前的代码(还在测试阶段):
class AppDelegate: NSObject, NSApplicationDelegate {
func test() {
let defaults = NSUserDefaults.standardUserDefaults().dictionaryRepresentation()
for value in defaults.keys {
print(value + " - " + String(defaults[value]))
}
}
func applicationDidFinishLaunching(aNotification: NSNotification) {
test()
}
}
目前的想法是获取 NSUserDefaults 并大致了解其中存储的所有键和值。这是我的问题:我怎么知道我需要哪个键来访问我想要的设置?我找不到任何包含 "keyboard" 的键(我希望看到像 "com.apple.keyboard.*"
这样的键)。
我没有找到任何文档涵盖访问某些设置的可能键的范围。
如果有人能帮助我,我将不胜感激!
谢谢,祝你有美好的一天!
嗯,具有讽刺意味的是,我在发布问题后几分钟就发现了它,但这也许可以帮助人们找到其他密钥来访问某些设置。
首先,我要找的关键是 "com.apple.keyboard.fnState"
。
现在,您可以通过以下方式找到所需的密钥:
在访问 NSUserDefaults 之前,请确保至少更改一次您尝试操作的设置。这样您可以保证此设置的条目将写入 NSUserDefaults。这正是我找不到密钥的原因,因为我从未触及此设置(考虑到我要实现的目标,这可能被视为愚蠢,但这取决于您...)。
旁注:我仍然认为 Apple 没有任何涉及此主题的文档令人遗憾。
希望这对其他人有帮助!
这就是我想要做的事情:
我想构建一个小应用程序,在 MacOS 的顶部栏中放置一个图标。单击此图标时,应切换设置 "System Preferences > Keyboard > Use keys F1, F2, ... as standard function keys"。所以它基本上像 Caffeine 一样工作,只是用于不同的设置。
这是我目前的代码(还在测试阶段):
class AppDelegate: NSObject, NSApplicationDelegate {
func test() {
let defaults = NSUserDefaults.standardUserDefaults().dictionaryRepresentation()
for value in defaults.keys {
print(value + " - " + String(defaults[value]))
}
}
func applicationDidFinishLaunching(aNotification: NSNotification) {
test()
}
}
目前的想法是获取 NSUserDefaults 并大致了解其中存储的所有键和值。这是我的问题:我怎么知道我需要哪个键来访问我想要的设置?我找不到任何包含 "keyboard" 的键(我希望看到像 "com.apple.keyboard.*"
这样的键)。
我没有找到任何文档涵盖访问某些设置的可能键的范围。
如果有人能帮助我,我将不胜感激!
谢谢,祝你有美好的一天!
嗯,具有讽刺意味的是,我在发布问题后几分钟就发现了它,但这也许可以帮助人们找到其他密钥来访问某些设置。
首先,我要找的关键是 "com.apple.keyboard.fnState"
。
现在,您可以通过以下方式找到所需的密钥:
在访问 NSUserDefaults 之前,请确保至少更改一次您尝试操作的设置。这样您可以保证此设置的条目将写入 NSUserDefaults。这正是我找不到密钥的原因,因为我从未触及此设置(考虑到我要实现的目标,这可能被视为愚蠢,但这取决于您...)。
旁注:我仍然认为 Apple 没有任何涉及此主题的文档令人遗憾。
希望这对其他人有帮助!