En tant qu'utilisateur lourd d'Emacs, j'aime remapper ma touche de verrouillage des majuscules pour qu'elle fonctionne comme la touche Ctrl. Il y a une boîte de dialogue pratique dans le volet des préférences du clavier pour le faire. Mais le problème est que ce paramètre est perdu après que quelqu'un se connecte à un autre compte qui n'a pas cet ensemble de préférences.
Existe-t-il un moyen de faire la même chose que la boîte de dialogue du volet des préférences à partir de la ligne de commande?
Réponses:
Modification des préférences et exécution,
defaults -currentHost read -g
vous montre quelles modifications sont en cours d'écriture. J'allais écrire un court script bash pour l'automatiser, mais on dirait que j'ai été battu au poinçon:la source
-g
drapeau? Je ne l'ai pas vu dans la page de manuel dedefaults
. En outre, cela ressemble à l'échange de deux ensembles de valeurs: 4 avec 2 et 10 avec 12, mais il n'y a que deux modificateurs qui changent. Pouvez-vous élaborer, ou avez-vous simplement regardé les résultats mais ne savez pas ce qu'ils représentent réellement? (Au début, je soupçonnais quatre codes clés - deux à gauche, deux à droite - mais ils ne semblent pas être des codes clés, du moins pas tels que rapportés par le conducteur du clavier.)Vous pouvez utiliser KeyRemap4MacBook avec PCKeyBoardHack . Il vous permet également d'utiliser les clés Emacs dans n'importe quelle application Mac, y compris celles qui n'utilisent pas Cocoa telles que les applications MS.
la source
Dans "Mise à jour des mappages de touches de modification via l'outil de commande par défaut" :
defaults -currentHost write -g com.apple.keyboard.modifiermapping.1133-50475-0 -array '<dict><key>HIDKeyboardModifierMappingSrc</key><integer>0</integer><key>HIDKeyboardModifierMappingDst</key><integer>2</integer></dict>
Modifiez
1133
et50475
les ID fournisseur et produit indiqués parioreg -n IOHIDKeyboard -r
.src 0
etdst -1
désactiverait caps lock.defaults -currentHost write -g
modifie:~/Library/Preferences/ByHost/.GlobalPreferences.*.plist
Vous devez vous déconnecter et vous reconnecter pour appliquer les modifications. Si les valeurs sont des chaînes (comme dans la réponse de @pithyless), les modifications sont affichées dans les Préférences Système mais elles n'ont aucun effet.
Valeurs des clés :
la source
En combinant quelques réponses ensemble, j'ai trouvé ce script qui semble fonctionner ( mappage du verrouillage des majuscules au contrôle ).
Seul problème qui ne semble pas avoir d'effet ... :(
Je mettrai à jour si je le fais fonctionner.
la source
Je voulais échanger la commande droite avec les touches d' option droite uniquement.
Lorsque je configure l' échange global de commandes et d' options dans Préférences Système ...> Clavier> Touches de modification ..., il y a la configuration suivante dans le système (qui fonctionne comme prévu):
Mais quand je le modifie, pour échanger uniquement le côté droit comme ci-dessous - cela ne fonctionne pas:
C'est parce que les valeurs sont écrites sous forme de chaînes et non d'entiers. Vous pouvez le voir en utilisant:
Donc, la bonne façon de mettre à jour le paramètre utilise le format XML:
À la fin, vous devez vous déconnecter et vous reconnecter.
la source