web-dev-qa-db-fra.com

Utilisation du verrouillage majuscule en mode échap sous Mac OS X

Comment je fais Caps Lock travailler comme Esc sous Mac OS X?

413
indentation

Modifier: Comme décrit dans cette réponse , les versions les plus récentes de MacOS prennent désormais en charge la reliure en natif. Caps Lock à Escape. Ainsi, il n'est plus nécessaire d'installer un logiciel tiers pour y parvenir.


Voici ma tentative de réponse visuelle détaillée complète (avec des liens) expliquant comment y parvenir en utilisant Seil (anciennement connu sous le nom de PCKeyboardHack).

  1. Tout d’abord, allez dans Préférences Système , choisissez Clavier , puis appuyez sur Onglet Clavier (premier onglet), puis cliquez sur touches de modification :

Step 1

Dans la boîte de dialogue contextuelle, définissez la touche de verrouillage majuscule sur No Action:

choose no action

2) Maintenant, cliquez ici pour télécharger Seil et installez-le:

3) Après l’installation, vous aurez une nouvelle application installée (Mountain Lion et plus récent) et si vous utilisez un système d’exploitation plus ancien, vous devrez peut-être rechercher un nouveau panneau Préférences Système:

open seil or the preference pane

4) Cochez la case "Change Lock Lock" et entrez "53" comme code pour la touche d'échappement:

set the keyboard code

Et vous avez terminé! Si cela ne fonctionne pas immédiatement, vous devrez peut-être redémarrer votre ordinateur.

Impressionné? Vous voulez plus de contrôle?

Vous pouvez également vouloir vérifier KeyRemap4MacBook , qui est en fait l'outil phare de remappage du clavier de pqrs.org - il est également gratuit.

Si vous aimez ces outils, vous pouvez faire un don . Je n'ai aucune affiliation avec eux, mais j'utilise ces outils depuis longtemps et je dois dire que les gars là-bas ont fait un excellent travail en les maintenant, en ajoutant des fonctionnalités et en corrigeant les bugs.

Voici une capture d'écran pour montrer quelques unes (des centaines) d'options présélectionnées:

Picture 1.png

PQRS possède également un excellent utilitaire appelé NoEjectDelay que vous pouvez utiliser en combinaison avec KeyRemap4MacBook pour reprogrammer la touche d'éjection. Après quelques ajustements, le mien est sur le point d’activer/désactiver l’AirPort Wifi.

Ces utilitaires offrent une flexibilité illimitée lors du remappage du clavier Mac. S'amuser!

384
cwd

Depuis macOS 10.12.1, il est possible de remapper Caps Lock à Esc de manière native (Préférences Système -> Clavier -> Touches de modification).

enter image description here

280
rkusa

C'est possible.

Solution 1

De n arcticle sur TrueAffection.net.

  • Téléchargez PCKeyboardHack et installez-le.
  • Allez à PCKeyboardHack dans Préférences Système.
  • Activez "Change Caps Lock" et réglez le code sur 53.

Solution 2

Cette solution ne consiste pas à patcher le pilote du clavier, mais vous offre une solution spécifique à Vim.

OS X prend en charge le mappage de la touche de verrouillage majuscule sur un grand nombre de clés, mais vous devez le faire "à la main", en modifiant les fichiers .plist. Le processus est décrit dans cet article . En tant qu'additif à cette astuce, je vous suggère tout d'abord de définir Caps-Lock sur None dans les Préférences Système, il vous suffira alors de modifier une valeur dans le fichier .plist. En outre, vous pouvez bien sûr utiliser l'éditeur de liste de propriétés au lieu de suivre les étapes de conversion XML.

L'astuce consiste à mapper la touche de verrouillage majuscule sur la touche d'aide (code 6), qui n'est pas utilisée sur la plupart des claviers. Mais si c'est le cas, elle sera traitée comme une touche d'insertion, que vous n'utiliserez probablement pas de toute façon, puisque vous demandez de remapper votre verrouillage des majuscules pour éviter d'étirer vos mains;)

Vous pouvez ensuite mapper l’aide et le Insert la clé de Esc dans vim.

map  <Help> <Esc>
map! <Help> <Esc>
map  <Insert> <Esc>
map! <Insert> <Esc>

Cela fonctionnera pour gvim (Vim.app). Je ne l'ai pas fait fonctionner avec vim dans le terminal et je ne l'ai pas testé avec MacVim.

Il s’agit donc plutôt d’une solution compliquée, à moitié cuite, qui consiste à installer un pirate tiers. Votre choix ;)

Edit: Juste remarqué la solution 3, si vous utilisez MacVim vous pouvez utiliser CtrlOption et Command comme Esc. Avec les Préférences Système, il est facile de mapper le verrouillage majuscule sur l’une de ces clés.

35
eelco

Il est maintenant beaucoup plus facile de cartographier les Caps Lock la clé de Esc avec macOS Sierra.

  1. Ouvrez les Préférences Système → Clavier.

  2. Cliquez sur le bouton Touches de modification dans le coin inférieur droit.

  3. Cliquez sur la liste déroulante en regard de la clé matérielle que vous souhaitez remapper, puis sélectionnez Échap.

  4. Cliquez sur OK et fermez les Préférences Système.

enter image description here

https://9to5mac.com/2016/10/25/remap-escape-key-action-macbook-pro-macos-sierra-10-12-1-modifier-keys/

31
neurosnap

Je n’étais satisfait de l’aucune des réponses fournies ici et j’ai recherché une solution en ligne de commande .

Dans macOS Sierra 10.12, Apple a introduit un nouveau moyen pour les utilisateurs de remapper des clés.

  • Pas besoin de bidouiller avec les interfaces graphiques du système
  • Aucun privilège spécial n'est requis
  • Complètement personnalisable
  • Pas besoin d'installer une merde tierce comme PCKeyboardHack/Seil/Karabiner/KeyRemap4MacBook/DoubleCommand/NoEjectDelay

Si cela vous convient, jetez un oeil à hidutil .

Par exemple, pour remapper Caps-Lock en échappement, reportez-vous à table de clés et découvrez que Caps-Lock a le code d'utilisation 0x39 et escape au code d'utilisation 0x29. Mettez ces codes ou'd avec la valeur hexadécimale 0x700000000 dans les sources et destinations comme ceci:

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

Vous pouvez ajouter d'autres mappages dans la même commande. Personnellement, j'aime remapper majuscule-majuscule vers l'arrière-plan et effacer pour supprimer:

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000039,"HIDKeyboardModifierMappingDst":0x70000002A}, {"HIDKeyboardModifierMappingSrc":0x70000002A,"HIDKeyboardModifierMappingDst":0x70000004C}]}'

Pour voir le mappage actuel:

hidutil property --get "UserKeyMapping"

Vos modifications seront perdues au redémarrage du système. Si vous souhaitez qu'ils persistent, insérez-les dans un script et configurez un hook de connexion:

Sudo defaults write com.Apple.loginwindow LoginHook /path/to/login_script.sh
25
wim

La seule chose que je sache faire est de mapper le verrouillage des majuscules sur Contrôle, Option ou Commande. Cela peut être fait via la sous-fenêtre Clavier et souris des Préférences Système. Cliquez sur "Touches de modification" en bas à gauche et vous pourrez remapper le verrouillage des majuscules, le contrôle, les options et les commandes en fonction de ceux-ci.

@Craig: Cela suggère que Caps Lock can puisse être utilisé comme clé normale - c'est-à-dire non-à bascule. Sur mon MacBook, depuis que j'ai remappé le verrouillage majuscule sur contrôle, le voyant Verrouillage majuscule ne s'allume jamais. Il agit simplement comme la touche Control.

enter image description here

21
EfForEffort

Seil n'est pas encore disponible sur macOS Sierra (10.12 beta). En tant que tel, j'utilise Keyboard Maestro avec ces paramètres: enter image description here

Crédit à ce commentaire de github: https://github.com/tekezo/Seil/issues/68#issuecomment-230131664

14
Michael Glass

Ayant essayé plusieurs de ces solutions, j'ai quelques notes:

DoubleCommand pas vous permettra d’échanger échap et majuscule.

PCKeyboardHack vous permettra de mapper la majuscule pour vous échapper, mais n'a pas la capacité de mapper l'echappement au Capslock. Les versions récentes vous permettront d'effectuer un échange complet en modifiant les deux clés.

Cela peut ou peut ne pas être suffisant pour vos besoins (je sais que c'est pour le mien).

10
Zxaos

Si vous ne souhaitez pas installer une application tierce et que vous ne vous souciez que de vim dans iTerm, voici ce qui fonctionne:

Remappez CapsLock sur Help comme décrit ici .

Version courte: utilisez plutil ou similaire pour éditer ~/Library/Preferences/ByHost/.GlobalPreferences*.plist, il devrait ressembler à ceci:

<key>HIDKeyboardModifierMappingDst</key>
<integer>6</integer>
<key>HIDKeyboardModifierMappingSrc</key>
<integer>0</integer>

Redémarrer! Une simple déconnexion et une ouverture de session ne fonctionnaient pas pour moi.

Dans iTerm, ajoutez un nouveau mappage de clé à Help: envoyez le code hexadécimal 0x1b, qui correspond à Échap.

Je sais que ce n’est pas exactement ce qui a été demandé, mais je suppose que l’intention de nombreuses personnes à la recherche d’une solution de ce type est en réalité cette variante plus spécialisée.

9
user2581875

Pour échanger réellement la touche d'échappement avec la touche de verrouillage des majuscules (pas seulement en mappage) en utilisant à la fois PCKeyboardHack et KeyRemap4MacBook, vous devez suivre les instructions de ce fil , mappage de la clé de verrouillage en majuscule. à un code non utilisé par le clavier, mais comptabilisé par KeyRemap4MacBook (par exemple, 110). Ensuite, dans PCKeyboardHack, sélectionnez l’option appropriée qui mappe ce code clé à échapper (dans le cas de 110, c’est "Application Key to Escape"). Voici à quoi devraient ressembler vos préférences KeyRemap4MacBook (à condition que vous ayez coché la case "Afficher uniquement les annonces activées").

enter image description here

Au départ, j'ai tenté de publier cette information en tant que modification à excellente réponse de cwd , mais elle a été rejetée. J'encourage tous ceux qui veulent suivre la voie que je décris à lire d'abord sa réponse.

4
chb

Seil ne fonctionne pas encore sur macOS Sierra, donc j'utilise Karabiner Elements , téléchargez-le à partir de https://pqrs.org/latest/karabiner-elements-latest.dmg =.

Utilisez l’interface graphique ou mettez ce qui suit dans ~/.karabiner.d/configuration/karabiner.json:

{
  "profiles" : [
    {
      "name" : "Default profile",
      "selected" : true,
      "simple_modifications" : {
        "caps_lock" : "escape"
      }
    }
  ]
}
2
mb21

Vous pouvez également utiliser DoubleCommand pour remapper cela, ainsi que d'autres clés.

IIRC, il va mapper le verrouillage des majuscules sur Echap.

1