我想编写一个简单的命令行应用程序,它将切换“使用所有 F1、F2 ... 键作为标准功能键”。我知道我可以使用 appleScript,但这显示了 gui 并且不是很好。那么如何从代码中做到这一点?我尝试了默认命令defaults write -g com.apple.keyboard.fnState -bool false
,当使用默认命令而不是在 GUI 中读取时,它确实更改了首选项标志,并且它不起作用。还尝试了类似的东西:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *key = @"com.apple.keyboard.fnState";
BOOL fnState = [defaults boolForKey:key];
NSLog(@"First value of fnState: %@", fnState ? @"true" : @"false" );
if (fnState) {
[defaults setBool:NO forKey:key];
}
else{
[defaults setBool:YES forKey:key];
}
fnState = [defaults boolForKey:key];
NSLog(@"Value of fnState after toggle: %@", fnState ? @"true" : @"false" );
[NSUserDefaults resetStandardUserDefaults];
这个在运行之间记录了正确的状态,但默认命令看不到它,Fn 键也不关心。
应该如何进行?我知道这是可以做到的。