我想编写一个简单的cmdline应用程序,它将切换“将所有F1,F2 ...键用作标准功能键”。我知道我可以使用AppleScript,但这显示了gui并不是很好。那么如何从代码中做到这一点?我尝试了默认命令defaults write -g com.apple.keyboard.fnState -bool false
,并且在使用defaults命令读取时更改了首选项标志,但在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键也不关心。
如何进行?我知道可以做到。