52 votes

Comment échanger l'utilisation "fn" des touches de fonction d'un clavier Apple sous Linux

J'ai un clavier Apple Slim (USB) et si je veux utiliser une des touches de fonction telle quelle, je dois aussi appuyer sur la touche "fn" d'abord. Sinon, il essaiera d'exécuter l'autre fonction de la touche, comme augmenter ou diminuer l'intensité de l'affichage, changer le volume/mettre en sourdine, etc....

De plus, la touche fn est en fait à la place de la touche "insert" des claviers classiques. Comment puis-je corriger tout cela ?

J'aime beaucoup ce clavier, car il facilite la frappe et est beaucoup plus silencieux. Mais certains de ces mappings qui sont différents me dérangent parfois.

Merci :-)

71voto

Levi Points 22222
echo 0 > /sys/module/hid_apple/parameters/fnmode

Ou, en cas de problème d'autorisation :

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

Cela vous évitera de devoir redémarrer. L'ajout de l'option est une bonne idée, afin que le changement persiste à travers les redémarrages.

  • 0 = Touche Fn désactivée
  • 1 = Touche Fn enfoncée par défaut
  • 2 = Touche Fn libérée par défaut

De /drivers/hid/hid-apple.c ligne 42 :

Mode de la touche fn sur les claviers Apple (0 = désactivé, [1] = fkeyslast, 2 = fkeysfirst)

38voto

wuputah Points 491

La réponse ci-dessus concernant l'option à définir dans /etc/modprobe.d est un peu dépassé. Heureusement, il existe une documentation détaillée sur la prise en charge du clavier Apple :

  1. Modifiez ou créez le fichier /etc/modprobe.d/hid_apple.conf, par exemple :

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

  2. Ajoutez cette ligne au fichier précédemment ouvert.

    options hid_apple fnmode=2

  3. Enregistrez le fichier et exécutez la commande suivante pour demander au module hid_apple de recharger sa configuration.

    sudo update-initramfs -u

  4. Reboot

Je recommande personnellement sudo update-initramfs -u -k all pour le mettre à jour pour tous vos noyaux (une fois que vous êtes sûr que le paramètre fonctionne comme prévu).

Réglage du mode fnmode sous /sys fonctionne toujours de la même manière :

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

Les valeurs des deux méthodes sont les suivantes :

  • 0 = désactivé : Désactive la touche 'fn'. En appuyant sur 'fn'+'F8', vous ferez comme si vous n'aviez appuyé que sur 'F8'.
  • 1 = fkeyslast : les touches de fonction sont utilisées comme dernière touche. L'appui sur la touche 'F8' agit comme une touche spéciale. L'appui sur 'fn'+'F8' se comporte comme une touche F8.
  • 2 = fkeysfirst : les touches de fonction sont utilisées comme première touche. L'appui sur la touche 'F8' se comporte comme une touche F8. L'appui sur 'fn'+'F8' agit comme une touche spéciale (lecture/pause).

5voto

De Aquí

comment échanger la fonction de la touche Fn ?

Commencez par éditer /etc/modprobe.d/options

sudo nano /etc/modprobe.d/options

et assurez-vous qu'il contient la ligne

options hid pb_fnmode=2

Ensuite, enregistrez et quittez. Enfin, nous devons mettre à jour ramfs :

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

Il suffit alors de redémarrer !

2voto

user65996 Points 11

Cela a fonctionné pour moi sur Fedora 24

  1. Créer un nouveau fichier pour le démarrage de SystemD.

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

    Assurez-vous que le fichier contient les éléments suivants

    [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. Recharger SystemD pour lire le nouveau fichier

    systemctl --system daemon-reload

  3. Démarrer le service SystemD.

    systemctl start mac-keyboard.service

  4. Activer le démarrage du service au démarrage.

    systemctl enable mac-keyboard.service

Référence : https://www.dalemacartney.com/2013/06/14/changing-the-default-function-key-behaviour-in-fedora/

0voto

user2167582 Points 245
sudo add-apt-repository ppa:daniel.pavel/solaar
sudo apt-get update
sudo apt-get install solaar
solaar

avec un clavier mac, vous obtiendrez un bouton radio pour toggle fn

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X