2

我想编写一个简单的命令行应用程序,它将切换“使用所有 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 键也不关心。

应该如何进行?我知道这是可以做到的。

4

0 回答 0