Vous aurez d'abord besoin d'une application tierce de remappage du clavier appelée Karabiner (anciennement KeyRemap4MacBook). L'application est peu conviviale, mais en théorie, vous ne devez le faire qu'une seule fois. De plus, cela ne fonctionne pas actuellement sur MacOS Sierra ... alors gardez cela à l'esprit.
Et c'est parti...
Installer Karabiner
https://pqrs.org/osx/karabiner/index.html.en
Run Karabiner
Vous devriez lui donner des autorisations d'accessibilité si vous voulez toutes les fonctionnalités.
Utilisez l'application d'assistance "EventViewer" pour obtenir les codes clés
Ouvrez EventViewer pour obtenir les codes clés / identifiants d'application / d'appareil:
Accédez à l'onglet Principal, puis appuyez sur la ou les touches de votre clavier, de la télécommande Bluetooth, etc. que vous souhaitez re-mapper. Dans ce cas, vous pouvez voir les codes-clés pour Media-Forward et Media-Back sur ma télécommande Bluetooth Satechi (que je souhaite recaler sur les touches fléchées gauche / droite).
Allez-y et "copier sur la table de montage" et collez-le dans un document texte pour plus tard. Maintenant, en fonction de votre cas d'utilisation, vous pouvez accéder à l'application ou à l'onglet Appareils.
Si vous souhaitez limiter votre remappage de clés à des applications spécifiques, vous souhaiterez créer une règle de mappage correspondant à un ID d'application spécifique (par exemple, Google Chrome). Vous devriez donc aller dans l'onglet application et obtenir l'ID d'application pour votre application d'intérêt (à utiliser plus tard lorsque nous créerons la règle).
Dans mon cas, je veux UNIQUEMENT remapper ces touches sur ma télécommande Bluetooth Satechi et je ne veux pas gâcher le fonctionnement de mes touches de clavier existantes ... donc je veux faire une règle spécifique à l'appareil. Je vais donc dans l'onglet Appareils.
Remarque!!! Pour les applications et les appareils, vous devez également copier et coller dans un fichier texte afin de disposer des chaînes d'ID d'appareil / d'application complètes à utiliser dans notre règle.
Construire les règles
Maintenant que vous avez des codes clés, des ID d'application et / ou d'appareil copiés et collés dans un fichier texte pour référence ultérieure, vous pouvez fermer EventViewer et revenir à l'application principale.
Les règles par défaut ne sont pas très intéressantes pour nous, nous devons donc créer une règle personnalisée mais éditer private.xml
Cela ne fera que lancer une fenêtre de recherche affichant private.xml. Allez-y et ouvrez private.xml dans votre éditeur de texte préféré.
Vous êtes maintenant prêt à créer des règles ...
La documentation sur le format de ce fichier est ici:
https://pqrs.org/osx/karabiner/xml.html.en
Pour chacun, <item>
vous avez besoin d'un minimum <name>
<identifier>
et <autogen>
. Le nom n'est qu'un nom pour vous. L'identifiant est également composé par vous mais doit être unique. autogen est l'endroit où vous spécifiez la règle / le mappage (c'est-à-dire que la clé d'intérêt doit envoyer les clés foo bar).
Plus intéressant, vous pouvez spécifier que la règle ne s'exécute que pour des applications actives spécifiques (je pense que c'est là que les autorisations d'accessibilité de MacOS entrent en jeu ... afin que Karabiner puisse déterminer la fenêtre active). Cela se fait avec <only>
.
Un autre intérêt (pour moi) est celui <device_only>
qui me permet de faire une règle uniquement pour un clavier spécifique (c'est-à-dire ma télécommande bluetooth satechi). Voir le lien ci-dessus pour plus de détails.
En tous cas. Utilisez les ID de code, les ID de périphérique et les ID d'application que vous avez obtenus à partir de EventViewer pour construire vos règles personnalisées.
Le mien ressemble à ceci:
<?xml version="1.0"?>
<root>
<item>
<name>Satechi Right</name>
<identifier>private.satechi.right</identifier>
<device_only>DeviceVendor::RawValue::0x05ac,DeviceProduct::RawValue::0x023c</device_only>
<autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_NEXT_17, KeyCode::CURSOR_RIGHT</autogen>
</item>
<item>
<name>Satechi Left</name>
<identifier>private.satechi.left</identifier>
<device_only>DeviceVendor::RawValue::0x05ac,DeviceProduct::RawValue::0x023c</device_only>
<autogen>__KeyToKey__ ConsumerKeyCode::MUSIC_PREV_18, KeyCode::CURSOR_LEFT</autogen>
</item>
</root>
Résumé: 2 règles. Appareil à distance Bluetooth Satechi uniquement. le bouton multimédia "suivant" correspond à la flèche droite, le bouton multimédia "précédent" à la flèche gauche. S'applique à toutes les applications.
Charger les règles
Enregistrez votre fichier XML. Revenez à l'application Karabiner. Accédez à l'onglet "Modifier la clé". Cliquez sur "Recharger XML" en haut à gauche. Vos nouvelles règles devraient maintenant apparaître. Cochez les cases pour activer les règles. Testez que vos nouveaux mappages de touches fonctionnent comme prévu.
L'application n'est certainement pas conviviale mais m'a permis de configurer exactement ce que je voulais assez facilement une fois que j'ai compris les options. Karabiner est un peu bogué ... Certains événements ont cessé d'apparaître dans l'observateur d'événements, même si les règles de remappage fonctionnaient toujours ... le redémarrage aide.