Question:
Réutilisation du bouton "menu" sur les claviers Windows utilisés sous OS X
ProductionValues
2015-02-21 21:46:18 UTC
view on stackexchange narkive permalink

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

Comment définir ce que fait la touche "menu contextuel" sur les claviers Windows sous OS X?

enter image description here

Sur ce clavier, la touche "menu contextuel" se trouve directement sous le "." (période / supérieur à) touche; sur la ligne du bas entre "alt" et "ctrl" sur le côté droit, deux touches à gauche de la touche "flèche gauche". Que fait-il sous OS X et comment s'appelle-t-il?

Il n'a ni but ni nom dans OS X. Mon clavier Win a en fait une deuxième touche Windows, avec celle à côté à droite. Peut-être que [Karabiner] (https://pqrs.org/osx/karabiner/) pourrait le faire, si vous pouvez déterminer quel code clé il envoie - essayez [Key Codes] (http://manytricks.com/keycodes/) pour voir si cela génère quelque chose utilisable
Nous avons un mot spécial pour une information comme celle-ci ici à SE, monsieur, et ce mot, monsieur, est * réponse *! Si vous avez la gentillesse de fournir ces informations en utilisant la case de réponse, je les accepterai certainement comme telles!
Heureux que cela ait aidé - une réponse plutôt nette et sèche fournie, ci-dessous :)
Huit réponses:
#1
+11
Tetsujin
2015-02-23 12:39:07 UTC
view on stackexchange narkive permalink

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

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

Key Codes rapporte le code 110 pour le bouton "menu contextuel", et en acte Karabiner le piège et le réutilise comme je le voulais!
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 avait besoin.(Voir ma "propre" réponse ci-dessous.)
Avec EventViewer de Karabiner, j'ai trouvé que la touche de menu contextuel de mon clavier Microsoft s'enregistrait comme "application".Dans Karabiner, j'ai ensuite pu mapper «application» sur «right_gui» et cela se comporte comme une touche de commande.
#2
+7
antoine
2017-05-31 03:05:35 UTC
view on stackexchange narkive permalink

Pour développer la réponse de @ Tetsujin: vous pouvez en effet y parvenir avec Karabiner.Voici quelques instructions détaillées.

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

  <? xml version = "1.0"? >
<root>
  <item>
    <name>Menu touche à l'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 XML et cochez le nouveau mappage que vous venez de créer en haut de la liste.

Karabiner a son propre clavier EventViewer dans l'onglet Divers, vous n'avez donc pas besoin de KeyCode.

Karabiner n'a plus de lien EventViewer ou private.xml dans l'onglet misc.Ne semble pas non plus remapper la touche de menu.Il se déclenche cependant comme 110 dans KeyCodes
L'Observateur d'événements a été déplacé vers l'élément de menu.En outre, la clé s'enregistre comme «application» dans l'Observateur d'événements, de sorte que le mappage de cette clé l'a fait.Je n'ai toujours pas vu d'option xml
Depuis 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 de la touche clavier vers Karabiner est la suivante: touche windows => commande gauche & touche menu => application (au moins sur mon clavier, ymmv).
#3
+3
CSawy
2020-03-24 01:20:24 UTC
view on stackexchange narkive permalink

Faire la réponse de @ Steph mais avec Karabiner:

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

configuration

Cela mappera vos clés comme suit:

enter image description here

#4
+2
Steph
2017-04-14 02:59:22 UTC
view on stackexchange narkive permalink

J'ai trouvé que Seil fonctionne pour changer la touche "menu contextuel" en fonction "Option" (je suppose que cela fonctionnerait aussi de changer en "Commande", même si je ne l'ai pas essayé) à El Capitan.

Dans 'Préférences Système ... |Clavier 'J'ai changé l'option' Option 'en' Commande 'et' Commande 'en' Option ', de sorte que les touches soient dans le même ordre que sur mon MacBook Pro, pour faciliter la "mémoire musculaire".

Puis dans 'Seil Preferences |Cadre |Touches sur un clavier non Apple 'J'ai coché' Activer la touche d'application (touche de menu) 'et définir le code clavier sur' 54 '(selon' Seil ', il s'agit de' Commande droite ', mais probablement à cause du commutateur dans' Clavier 'fonctionne comme "Option".

Alors ça me donne ceci:

Keyboard

#5
+1
clemsam lang
2018-10-10 13:46:17 UTC
view on stackexchange narkive permalink

Réutilisation du bouton "menu" sur le clavier Windows d'un ordinateur portable sous MacOS 10.12+

Il existe une nouvelle version de Karabiner ("Karabiner Elements 12.1" à utiliser avec MacOS 10.12+) qui justifie à mon humble avis l'ajout d'une réponse distincte à ce sujet, bien que j'aie posté s.th. similaire ici avant.
[Comme j'ai fait la mise à niveau vers MacOS 10.13 (High Sierra), j'ai dû utiliser ApplePS2SmartTouchPad.kext pour pouvoir reconfigurer le bouton "menu", qui est maintenant vu comme scan_previous_track . ]

Avec Karabiner Elements, vous devez éditer son fichier ~ / .config / karabiner / karabiner.json , un peu différemment ** du code ci-dessus…

Commencez par rechercher le nom du bouton "menu" sur votre clavier via Karabiner EventViewer :
appuyez simplement dessus une fois. [Le mien est: scan_previous_track , le vôtre est probablement différent…]

Voici un code analogue à des parties de ce que j'ai posté ci-dessus, ouvrant & fermant "Information":

  {"description": "Finder: touche 'menu' pour æ-I / æ-W en appuyant ou en maintenant enfoncée",
    "manipulateurs": [
        {"conditions": [{"bundle_identifiers": ["^ com.apple.finder"],
                                         "type": "frontmost_application_if"}
                        ],
                "from": {"consumer_key_code": "scan_previous_track"},
          "paramètres": {"basic.to_if_alone_timeout_milliseconds": 200,
                          "basic.to_if_held_down_threshold_milliseconds": 500
                        },
         "to_if_alone": [{"key_code": "i",
                           "modificateurs": ["right_command"]
                        }],
     "to_if_held_down": [{"key_code": "w",
                           "modifiers": ["right_command"],
                           "répéter": faux
                        }],
        "type": "basique"
        }
                    ]
}
 

(Si vous appuyez brièvement sur Cmd-I est déclenché, après avoir maintenu le bouton pendant une demi-seconde: Cmd-W)

- from, to… et type sont des expressions obligatoires pour le remappage
- Les conditions, paramètres définissent les applications et les seuils horaires exclusivement affectés pour les événements **
- "repeat": false empêche ce code de fermer involontairement plus d'une fenêtre
- Ce code serait inséré entre les "règles": les crochets de [] (éventuellement avec "," ajouté)
(J'ai créé des raccourcis pour les fonctions de retour et d'avancement de l'historique de mon navigateur en appuyant également sur & hold)
- Jetez un œil au Manuel de référence de Karabiner Elements json

(** KE ne prend plus en charge la sélection conditionnelle par uielementrole , mais quelques autres conditions .)

#6
  0
MJV
2017-07-13 12:15:47 UTC
view on stackexchange narkive permalink

Karabiner ne semble pas encore prendre en charge OS Sierra, contrairement à Karabiner Elements.L'installer prend un peu de travail, mais une fois que vous avez fait cela, vous pouvez mapper "application" à par ex."right_command" pour que cela fonctionne comme vous l'avez décrit.

#7
  0
clemsam lang
2017-08-21 21:19:07 UTC
view on stackexchange narkive permalink

J'utilise MacOSX 10.11.6 El Capitan (à partir d'un Mac mini cassé) sur un hp-2570p EliteBook, donc la touche de menu Windows n'est pas reconnue comme "PC_APPLICATION" mais simplement comme "FN" = touche de fonction. Malheureusement, cette clé bloque les clés secondaires, j'ai donc dû faire des contractions plus élaborées pour arriver là où je voulais:

En utilisant Karabiner (avec EventViewer intégré pour plus d'informations sur les clés / noms / noms de fenêtres), j'ai réutilisé la clé pour:
- imiter æ-i dans Finder (répéter pour closing)
- mimix æ-i dans VLC (- "-)
- faire history-back dans Safari
De plus, j'ai apporté d'autres modifications non liées aux touches de menu:
- rédéfini certaines touches qui ne sont pas correctement étiquetées sur mon German keyboard
- accès à pageUp / Down "à une main" sur mon clavier (non illustré)

Je trouverai probablement d'autres simplifications dans d'autres applications au fil du temps ...
J'ai utilisé ce code "individuel" dans "private.xml" (détails: voir article par antoine):

  <! - Le 1er élément redéfinit <, >, ^, ° pour mon clavier (efficace pour d'autres éléments !!!)
<item>
    <name>Switch_specialKeys _ ^ _ ° < / name>
    <identifier>private.Switch_specialKeys _ ^ _ ° < / identifier>
        <autogen>__KeyToKey__ KeyCode :: BACKQUOTE, ModifierFlag :: SHIFT_L, KeyCode :: GERMAN_U_UMLAUT, ModifierFlag :: SHIFT_L | ModifierFlag :: OPTION_L< / autogen>
        <autogen>__KeyToKey__ KeyCode :: BACKQUOTE, KeyCode :: 6, ModifierFlag :: SHIFT_L | ModifierFlag :: OPTION_L< / autogen>
<autogen>__KeyToKey__ KeyCode :: DANISH_DOLLAR, KeyCode :: BACKQUOTE< / autogen>
        <autogen>__KeyToKey__ KeyCode :: BACKQUOTE, KeyCode :: DANISH_DOLLAR, ModifierFlag :: SHIFT_L< / autogen>
< / item>

<! - Les 2 éléments suivants différencient "Cmd-i / -w" via (non-) AXWindow pour un double usage -->
<item>
    <name>WinR-FNDR æ-I< / name>
    <identifier>private.WinMenu_to_Cmd-I< / identifier>
    <uielementrole_not>AXWindow< / uielementrole_not>
    <only>FINDER< / only>
        <autogen>
          __KeyToKey__ KeyCode :: FN, KeyCode :: I, ModifierFlag :: COMMAND_L
        < / autogen>
< / item>
<item>
    <name>WinR-FNDR æ-W< / name>
    <identifier>private.WinMenu_to_Cmd-W< / identifier>
    <only>FINDER< / only>
    <uielementrole_only>AXWindow< / uielementrole_only>
        <autogen>
          __KeyToKey__ KeyCode :: FN, KeyCode :: W, ModifierFlag :: COMMAND_L
        < / autogen>
< / item>

<! - Pour VLC, les éléments <uielementrole_only> sont "AXWindow" pour le
     et "AXRadioButton" pour sa fenêtre d'information. -->

<! - Mon raccourci pour "l'historique" de Safari se compose de cette définition:
     <autogen>
        __KeyToKey__ KeyCode :: FN, KeyCode :: CURSOR_LEFT, ModifierFlag :: COMMAND_L
    < / autogen> - >
 

Pour les applicationsPCfonctionnant sousCrossOverlesnomsd'applicationne sont pas reconnusparKarabiner, doncje<appdef>à(re)définir leursnomset<windownamedef>pourrépondre à unefenêtre particulière;cesdéfinitionsétaientalors disponiblesdans les balises<only>et<windowname_only>.

#8
  0
rmbrad
2020-08-07 04:11:57 UTC
view on stackexchange narkive permalink

À partir de macOS 10.12 Sierra, cela peut être accompli à partir de la ligne de commande à l'aide de l'utilitaire de ligne de commande hidutil comme décrit dans la Note technique TN2450.

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

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

Le mappage ne survivra pas aux redémarrages, mais peut être rendu persistant à l'aide d'un agent 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">
Version <plist = "1.0" >
<dict>
    <key>Label< / key>
    <string>com.local.KeyRemapping< / string>
    <key>ProgrammeArguments< / 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>


Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 3.0 sous laquelle il est distribué.
Loading...