「すべての F1、F2... キーを標準のファンクション キーとして使用する」を切り替える単純なコマンドライン アプリを作成したいと考えています。私はappleScriptを使用できることを知っていますが、それはGUIを示しており、良くありません。では、コードからそれを行う方法は? defaults コマンドを試してみましたが、defaults コマンド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];
これには、実行間でログに記録された適切な状態がありますが、defaults コマンドはそれを認識せず、Fn キーも気にしません。
どのように進めるべきですか?私はそれができることを知っています。