2 votes

Comment puis-je activer les préférences de raccourcis clavier après les avoir modifiées via `defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys` ?

Je modifie le raccourci clavier par la commande par défaut.

Par exemple,

# Disable "Search word in terminal man page index"
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 124 "<dict><key>enabled</key><false/><key>value</key><dict><key>parameters</key><array><integer>65535</integer><integer>26</integer><integer>262144</integer></array><key>type</key><string>standard</string></dict></dict>"

# Change "Move focus to next window" shortcut to Alt + Tab
defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys -dict-add 27 "<dict><key>enabled</key><true/><key>value</key><dict><key>parameters</key><array><integer>65535</integer><integer>48</integer><integer>524288</integer></array><key>type</key><string>standard</string></dict></dict>"

Comment puis-je les faire fonctionner sans redémarrer le système d'exploitation ?

Je suppose qu'il y a un service d'entrée et qu'il faut le redémarrer.

ex. killall SomeInputService

4voto

Michael Apfelbeck Points 281

Sur MacOS Big Sur 11.2.1 J'ai réussi à résoudre ce problème. Cette solution s'applique à com.apple.symbolichotkeys pour les raccourcis de l'ensemble du système d'exploitation, ainsi que les listes relatives au trackpad.

Après avoir exécuté le default write ... exécuter la commande suivante.

/System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u

D'après mon expérience, il lira les listes et les forcera à prendre effet.

Il se peut que vous deviez vous assurer que le System Preferences n'est pas en cours d'exécution avant d'exécuter la commande.

Si vous exécutez cette opération avant, vous obtiendrez un certain nombre d'informations :

defaults write com.apple.activatesettings log true

Cependant, il n'y a pas de résultat concernant l'analyse de l'élément com.apple.symbolichotkeys plist bien qu'il semble lire cette plist.

1voto

Andrew Points 635

Sous la version 12.1, je n'ai pas pu résoudre le problème avec la solution acceptée, mais en ajoutant une étape supplémentaire pour s'assurer qu'il y a un defaults read sur la liste de contrôle avant d'exécuter activateSettings Les nouveaux paramètres sont maintenant correctement appliqués. J'ai vérifié plusieurs fois que cette étape supplémentaire faisait la différence et j'ai l'intuition que cette étape mettait paresseusement à jour un cache en mémoire du fichier plist.

Exemple d'utilisation :

# Disable Keyboard -> Shortcuts -> Mission Control -> Move left/right a space.
/usr/libexec/PlistBuddy -c "Set :AppleSymbolicHotKeys:79:enabled false" ~/Library/Preferences/com.apple.symbolichotkeys.plist
/usr/libexec/PlistBuddy -c "Set :AppleSymbolicHotKeys:80:enabled false" ~/Library/Preferences/com.apple.symbolichotkeys.plist
/usr/libexec/PlistBuddy -c "Set :AppleSymbolicHotKeys:81:enabled false" ~/Library/Preferences/com.apple.symbolichotkeys.plist
/usr/libexec/PlistBuddy -c "Set :AppleSymbolicHotKeys:82:enabled false" ~/Library/Preferences/com.apple.symbolichotkeys.plist

# Ask the system to read the hotkey plist file and ignore the output. Likely updates an in-memory cache with the new plist values.
defaults read com.apple.symbolichotkeys.plist > /dev/null

# Run reactivateSettings to apply the updated settings.
/System/Library/PrivateFrameworks/SystemAdministration.framework/Resources/activateSettings -u

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