2010-08-10 7 views
17

Ich verwende fast nie die Funktionstasten auf meinem MacBook Pro. Ich benutze sie meistens nur für Lautstärke, Helligkeit usw. Nun, da ich begonnen habe Starcraft 2 zu spielen, möchte ich sie verwenden, ohne die Fn-Taste drücken zu müssen.Aktivieren/Deaktivieren Fn-Tasten von der Kommandozeile auf dem Mac

Ich möchte ein kleines Shell-Skript schreiben, das das Kontrollkästchen "Alle F1, F2 usw. Tasten als Standard-Funktionstasten verwenden" aktiviert. Ich dachte, ich könnte den Standard-Befehl verwenden, um es zu ändern, aber ich war nicht sicher, welche Werte zu verwenden. Auf diese Weise muss ich die Einstellungen nicht jedes Mal ändern, wenn ich spielen möchte. Ich kann einfach das Skript ausführen, das die Schlüssel wechselt und sogar das Spiel startet.

Irgendwelche Ideen?

+0

Diese Frage kann sehr alt sein, aber es ist immer noch ziemlich hoch in den Suchrankings. Für jeden, der es jetzt findet, gibt es eine Anwendung mit dem Namen Palua (http://www.molowa.com/mac-os-x/palua/palua-3-0/), die den Status für Sie ändert, einschließlich intelligent auf Anwendung wechseln. Es gibt auch FunctionFlip (http://kevingessner.com/software/functionflip/), das nur eine Teilmenge der Schlüssel permanent umlegt. – spikeheap

Antwort

3

Der Befehl ist defaults write -g com.apple.keyboard.fnState, obwohl ich in der Vergangenheit Probleme hatte, es zu ändern. Am Ende habe ich nur ein AppleScript benutzt. Versuche es.

defaults write -g com.apple.keyboard.fnState -boolean true 

bearbeiten
Um dies näher auszuführen, die Probleme, die ich gehabt habe, ist, dass der tatsächliche Wert geändert wird, aber nicht aktiv die Einstellung in den Systemeinstellungen ändern auch nicht die fnState Makeln, weil die Datei nur bei boot/login usw. lesen. Auch Änderungen an einer Konfigurationsdatei, die von einer anderen Aufgabe geöffnet wird, klingt wie eine gute Möglichkeit, die Datei zu beschädigen.

+0

Soweit ich weiß, ist der 'defaults' Befehl nicht dasselbe wie einfach die Datei zu ändern. Ich habe den Eindruck, dass es in den Standard/Präferenz-Mechanismus des Betriebssystems eingegeben wird, der jede Anwendung benachrichtigt, die interessiert. –

+1

Genau wie ad added note, habe ich dies nur auf Mavericks ohne funktionelles Ergebnis getestet. – Tango

8

Ein Applescript, die den Trick tun sollten - von http://scriptbuilders.net/files/fn1.1.html mit leichten Modifikationen gemacht

--Check if GUI Scripting is Enabled 
tell application "System Events" 
    if not UI elements enabled then 
     set UI elements enabled to true 
    end if 
end tell 

--Enable/Disable "Use all F1, F2, etc. keys as standard function keys" option in Keyboard & Mouse Preference pane and close System Preferences 
tell application "System Events" 
    tell application "System Preferences" 
     reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard" 
    end tell 
    click checkbox 1 of tab group 1 of window 1 of application process "System Preferences" 
end tell 
if application "System Preferences" is running then 
    tell application "System Preferences" to quit 
end if 

auf MacOS getestet 10.6.4

+0

Dieses _technically_ ist keine Befehlszeilenlösung, da es AppleScript verwendet, um auf GUI-Elemente zuzugreifen und so die Befehlszeile zu verlassen. –

+1

Wenn Sie wirklich wollen, können Sie dies in der Befehlszeile mit 'osascript EOF [Skript hier einfügen] EOF' – user123444555621

+0

Als ad added Note, habe ich gerade dies auf Mavericks getestet und Fehlermeldungen erhalten. Es funktioniert nicht bei Mavericks. – Tango

2

Sie können die ehrfürchtige Keyremap4Macbook installieren.

Stellen Sie unter Systemeinstellungen -> Tastatureinstellungen sicher, dass "Alle F1, F2, usw. Tasten als Standardfunktionstasten verwenden" als Voraussetzung markiert ist.

  • Öffnen Sie die Einstellungen von KeyRemap4MacBook.
  • Navigieren Sie zur Option "Pass-Through-Modus".
  • überprüfen Sie der 'Wechsel Fn + Flucht zu wechseln "Modus Pass Through"'
  • öffnen "Change F1..F19 Key" und überprüfen Sie die "Macbook Pro" oder "Macbook Air" Option Ihren korrekten mac Typen wählen.
+0

Es ist auch möglich, Einstellungen mit etwas wie 'k =/Applications/KeyRemap4MacBook.app/Contents/Applications/KeyRemap4MacBook_cli zu ändern.app/Inhalte/MacOS/KeyRemap4MacBook_cli; s = remap.functional2fn_2008; $ k geändert | grep -q $ s && $ k Deaktiviere $ s || $ k aktivieren $ s'. Informationen zu den Kennungen der vordefinierten Einstellungen finden Sie unter [Tests/lib/string/data/checkbox.xml] (https://raw.github.com/tekezo/KeyRemap4MacBook/master/Tests/lib/string/data/checkbox.xml) . – user495470