33 votes

Reproduction du bouton "menu" des claviers Windows utilisé dans OS X

Les claviers Windows s'adaptent assez intuitivement à OS X, ne laissant que le bouton "menu contextuel" un peu inutile. J'aimerais que la touche menu se comporte comme une autre touche Commande.

Comment définir ce que la touche "menu contextuel" des claviers Windows fait dans OS X ?

enter image description here

Sur ce clavier, la touche "menu contextuel" se trouve directement sous la touche "." (point/plus grand que) ; sur la rangée inférieure entre "alt" et "ctrl" sur le côté droit, deux touches à gauche de la touche "flèche gauche". À quoi sert-elle dans OS X, et comment s'appelle-t-elle ?

1 votes

Il n'a ni but ni nom dans OS X. Mon clavier Win a en fait une deuxième touche Windows à cet endroit, avec celle-là à côté, à droite. Peut-être Mousqueton pourrait le faire, si vous pouvez trouver quel code clé il envoie - essayez Codes clés pour voir si cela génère quelque chose d'utilisable

1 votes

Nous avons un mot spécial pour ce genre d'information ici à SE, monsieur, et ce mot, monsieur, est réponse ! Si vous avez l'amabilité de fournir cette information en utilisant la boîte de réponse, je l'accepterai certainement comme telle !

0 votes

Je suis content que cela ait aidé - une réponse plutôt croustillante et sèche a été fournie, ci-dessous :)

25voto

rmbrad Points 231

À partir de MacOS 10.12 Sierra, cette opération peut être réalisée à partir de la ligne de commande en utilisant la commande hidutil comme décrit dans Note technique TN2450 .

En utilisant le tableau des ID d'utilisation des touches au bas de la note technique, vous pouvez trouver les ID de la touche Application (c'est-à-dire le menu contextuel) et de la touche GUI droite (c'est-à-dire la commande) comme étant respectivement 0x65 et 0xE7. Par conséquent, le mappage peut être fait à partir de la ligne de commande comme suit :

hidutil property --set '{"UserKeyMapping":[
    {
        "HIDKeyboardModifierMappingSrc": 0x700000065,
        "HIDKeyboardModifierMappingDst": 0x7000000E7
    }
]}'

Le mappage ne survivra pas aux redémarrages, mais il peut être rendu persistant à l'aide d'un fichier de type launchd en plaçant une liste de propriétés telle que la suivante dans le répertoire approprié de l'agent de lancement (par exemple ~/Library/LaunchAgents pour votre utilisateur) :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.local.KeyRemapping</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/bin/hidutil</string>
        <string>property</string>
        <string>--set</string>
        <string>{"UserKeyMapping":[
            {
                "HIDKeyboardModifierMappingSrc": 0x700000065,
                "HIDKeyboardModifierMappingDst": 0x7000000E7
            }
        ]}</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>

0 votes

C'est la meilleure réponse. Le mousqueton fait beaucoup plus, et rend le clavier méconnaissable par le logiciel Logitech (dans mon cas).

1 votes

J'ai effectué le mappage suivant "HIDKeyboardModifierMappingSrc" : 0x700000065, "HIDKeyboardModifierMappingDst" : 0x7000000E6 pour le logitech G915

1 votes

J'ai utilisé "HIDKeyboardModifierMappingDst": 0x7000000E6 pour associer le bouton menu/hamburger d'un clavier ergonomique Microsoft Sculpt à la touche Option de droite.

20voto

Tetsujin Points 95239

Il n'a ni but ni nom dans OS X.

Peut-être Mousqueton pourrait le faire, si vous pouvez trouver quel code clé il envoie - essayez Codes clés pour voir si cela génère quelque chose d'utilisable.

3 votes

Key Codes rapporte le code 110 pour le bouton "menu contextuel", et en fait Karabiner le piège et le réaffecte comme je le voulais !

1 votes

Karabiner a intégré EventViewer et propose de copier ses résultats dans le presse-papiers. J'ai trouvé KeyCodes un peu déroutant car il affiche beaucoup plus que ce dont Karabiner a besoin. (Voir ma "propre" réponse ci-dessous).

4 votes

Avec l'EventViewer de Karabiner, j'ai découvert que la touche de menu contextuel de mon clavier Microsoft est enregistrée comme "application". Dans Karabiner, j'ai ensuite été en mesure de mapper "application" à "right_gui" et il se comporte comme une touche de commande.

13voto

CSawy Points 181

Je fais la réponse de @Steph mais avec un mousqueton :

  1. Installer Mousqueton d'ici
  2. Dans l'onglet "Modifications simples", sélectionnez votre clavier (le mien était ce "Microsoft..")
  3. Cliquez sur "Ajouter un élément" pour effectuer ces 4 modifications dans la capture d'écran ci-dessous.

configuration

Vos clés seront alors les suivantes :

enter image description here

0 votes

Cela a bien marché pour moi ! Merci !

7voto

antoine Points 187

Pour développer la réponse de @Tetsujin : vous pouvez en effet réaliser ceci avec Mousqueton . Voici quelques détails instructions .

En bref : allez dans l'onglet Misc & Unistall, ouvrez le xml privé, changez-le en :

<?xml version="1.0"?>
<root>
  <item>
    <name>Menu key to option right</name>
    <identifier>private.menu_key_to_OPTION_R</identifier>
    <autogen>__KeyToKey__ KeyCode::PC_APPLICATION, KeyCode::OPTION_R</autogen>
  </item>
</root>

Revenez à l'onglet Modifier la clé, cliquez sur Recharger le XML, et cocher la nouvelle cartographie que vous venez de créer en haut de la liste.

Karabiner dispose de son propre visualiseur d'événements de clavier dans l'onglet Misc, de sorte que vous n'avez pas besoin de KeyCode.

0 votes

Karabiner n'a plus de lien EventViewer ou private.xml dans l'onglet misc. Il ne semble pas non plus remapper la touche menu. Il se déclenche cependant comme 110 dans KeyCodes.

0 votes

EventViewer a été déplacé vers l'élément de menu. De plus, la clé est enregistrée comme "application" dans l'EventViewer, donc le mappage de cette clé a fonctionné. Je ne vois toujours pas d'option xml

0 votes

A partir de la version 11.5.0 de Karabiner, vous pouvez utiliser l'onglet Modifications simples pour ajouter une autre touche de commande sur le côté droit du clavier. La traduction du nom des touches du clavier vers Karabiner est la suivante : touche Windows => commande gauche et touche menu => application (du moins sur mon clavier, ymmv).

2voto

Steph Points 21

J'ai trouvé que Seil fonctionne pour changer la touche "menu contextuel" en fonction "Option" (je présume que cela fonctionnerait aussi pour changer en "Commande", bien que je ne l'aie pas essayé) dans El Capitan.

Dans "Préférences système... | J'ai remplacé 'Option' par 'Commande' et 'Commande' par 'Option', afin que les touches soient dans le même ordre que sur mon MacBook Pro, pour faciliter la "mémoire musculaire".

Ensuite, dans 'Seil Preferences | Setting | Keys on non-Apple keyboard', j'ai coché 'Enable Application Key (Menu Key)' et réglé le code de touche sur '54' (selon 'Seil', il s'agit de 'Right Command', mais probablement à cause du commutateur dans 'Keyboard', il fonctionne comme 'Option'.

Donc ça me donne ça :

Keyboard

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X