So tauschen Sie die Fn-Verwendung von Funktionstasten auf einem Apple Keyboard unter Linux aus


43

Ich habe eine Apple Slim-Tastatur (USB), und wenn ich eine der Funktionstasten unverändert verwenden möchte, muss ich zuerst die Taste "fn" drücken. Andernfalls wird versucht, die andere Funktion der Taste auszuführen, z. B. Erhöhen oder Verringern der Anzeigeintensität, Ändern der Lautstärke / Stummschaltung usw.

Auch bei normalen Tastaturen befindet sich die Fn-Taste tatsächlich an der Position der Einfügetaste. Wie kann ich das alles beheben?

Ich mag diese Tastatur wirklich, weil sie das Tippen viel einfacher und auch viel leiser macht. Aber einige dieser Mappings, die irgendwann anders sind, nerven mich.

Vielen Dank :-)

Antworten:


58
echo 0 > /sys/module/hid_apple/parameters/fnmode

Oder im Falle einer Erlaubnisfrage:

echo 0 | sudo tee /sys/module/hid_apple/parameters/fnmode

Dies verhindert, dass Sie neu starten müssen. Das Hinzufügen der Option ist eine gute Idee, daher bleibt die Änderung auch nach einem Neustart bestehen.

  • 0 = Fn-Taste deaktiviert
  • 1 = Fn-Taste standardmäßig gedrückt
  • 2 = Fn-Taste ist standardmäßig losgelassen

Ab /drivers/hid/hid-apple.c Linie 42 :

Modus der Fn-Taste auf Apple-Tastaturen (0 = deaktiviert, [1] = fkeyslast, 2 = fkeysfirst)


1
Es scheint, dass ich keinen Apple-Treiber verwende, daher funktioniert das bei mir nicht. Ich habe eine markenfremde Apfeltastatur (Razor Black Widow).
Kieveli

1
@ Kieveli Wenn Leute Apple-Tastatur sagen, meinen sie das nicht generisch, sondern wie bei Apple-Hardware. Wenn es sich bei der Hardware nicht um Apple handelt, wird der Treiber von Apple nicht verwendet. du musst herausfinden, welcher Fahrer du zuerst bist
DallaRosa

4
Für Ubuntu 14.04.3 funktioniert die Antwort von @cynyr nicht. Sie erhalten "Erlaubnis verweigert". Arbeit ist hier: Echo 2 | sudo tee / sys / module / hid_apple / parameters / fnmode
akikara

Fragen mit Genehmigung finden Sie unter [ askubuntu.com/questions/103643/…
Diogo

35

Die Antwort darüber, welche Option eingestellt werden soll, /etc/modprobe.dist etwas veraltet. Zum Glück gibt es eine ausführliche Dokumentation zur Apple Keyboard-Unterstützung :

  1. Bearbeiten oder erstellen Sie die Datei /etc/modprobe.d/hid_apple.conf, zB:

    gksudo gedit /etc/modprobe.d/hid_apple.conf

  2. Fügen Sie diese Zeile der zuvor geöffneten Datei hinzu.

    options hid_apple fnmode=2

  3. Speichern Sie die Datei und führen Sie den folgenden Befehl aus, um das hid_apple-Modul zum erneuten Laden der Konfiguration zu benachrichtigen.

    sudo update-initramfs -u

  4. Starten Sie neu

Ich würde persönlich empfehlen sudo update-initramfs -u -k all, es für alle Ihre Kernel zu aktualisieren (sobald Sie sicher sind, dass die Einstellung wie erwartet funktioniert).

Das Einstellen des fnmode unter /sysfunktioniert immer noch genauso:

sudo -s 'echo 2 > /sys/module/hid_apple/parameters/fnmode'

Die Werte in beiden Methoden lauten wie folgt:

  • 0 = deaktiviert: Deaktiviert die 'fn'-Taste. Drücken von 'fn' + 'F8' verhält sich so, als ob Sie nur 'F8' drücken.
  • 1 = fkeyslast: Funktionstasten werden als letzte Taste verwendet. Das Drücken der Taste 'F8' fungiert als Sondertaste. Das Drücken von 'fn' + 'F8' verhält sich wie ein F8.
  • 2 = fkeysfirst: Funktionstasten werden als erste Taste verwendet. Das Drücken der Taste 'F8' verhält sich wie ein F8. Drücken von 'fn' + 'F8' fungiert als Sondertaste (Wiedergabe / Pause)

Danke - Ich habe diese Methode zu meinen Linux Mint-Setup-Skripten unter github.com/duncan-bayne/mint-setup
Duncan Bayne am

Alles, was Sie brauchen, ist, als root zu laufen (mindestens auf Fedora Distribution) echo 2 > /sys/module/hid_apple/parameters/fnmode, um FN als primäre und Mac-Steuerelemente als sekundäre zu definieren. Oh ja!! Danke, Wuputah !!
Ilia Rostovtsev

Bonus: Wenn Sie Ihre ~ -Taste zum Laufen bringen möchten, sollten Sie auch iso_layout = 0 setzen. Meine hid_apple.conf sieht so aus: options hid_apple fnmode = 2 iso_layout = 0
Thales Ceolin

5

Von hier aus

Wie tauschen wir die Funktion der Fn-Taste aus?

Bearbeiten Sie zuerst /etc/modprobe.d/options

sudo nano /etc/modprobe.d/options

und stellen Sie sicher, dass es die Linie hat

Optionen versteckten pb_fnmode = 2

Dann speichern und beenden. Zuletzt müssen wir ramfs aktualisieren:

sudo update-initramfs -u -v -k uname -r

Dann einfach neustarten!


1

Dies funktionierte für mich auf Fedora 24

  1. Erstellen Sie eine neue Datei, damit SystemD startet.

    gedit /usr/lib/systemd/system/mac-keyboard.service

    Stellen Sie sicher, dass die Datei Folgendes enthält

    [Unit]
     Description=mac-keyboard
    [Service]
     Type=oneshot
     ExecStart=/bin/sh -c "echo 2 > /sys/module/hid_apple/parameters/fnmode"
     ExecStop=/bin/sh -c "echo 1 > /sys/module/hid_apple/parameters/fnmode"
     RemainAfterExit=yes
    [Install]
     WantedBy=multi-user.target
    
  2. Laden Sie SystemD neu, um Ihre neue Datei zu lesen

    systemctl --system daemon-reload

  3. Starten Sie den SystemD-Dienst.

    systemctl start mac-keyboard.service

  4. Aktivieren Sie den Dienst, um beim Booten zu starten.

    systemctl enable mac-keyboard.service

Referenz: https://www.dalemacartney.com/2013/06/14/de-ändern-der-Standardfunktion-Schlüsselverhalten-in-fedora/


0
sudo add-apt-repository ppa:daniel.pavel/solaar
sudo apt-get update
sudo apt-get install solaar
solaar

Mit einer Mac-Tastatur erhalten Sie ein Optionsfeld, um toggle fn

http://i.stack.imgur.com/9omc6.png

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.