J'essaie d'automatiser la configuration initiale de mon macbook, ce qui inclut l'installation de logiciels et la modification de la configuration OS X selon mes besoins.
J'ai essayé de mettre à jour les touches de modification avec les valeurs par défaut, le code est le suivant:
# The apple keyboard id (1452-567-0) should probably be modified in case you use other different model
COMPUTER_UUID=`ioreg -rd1 -c IOPlatformExpertDevice | grep -E '(UUID)' | awk '{print $3}' | tr -d \"`
defaults write ~/Library/Preferences/ByHost/.GlobalPreferences.$COMPUTER_UUID com.apple.keyboard.modifiermapping.1452-567-0 '( { HIDKeyboardModifierMappingDst = 2; HIDKeyboardModifierMappingSrc = 0; } )'
Le problème semble que même si le motif est modifié, les préférences système ne détectent pas la mise à jour, pas même le redémarrage de l'ordinateur.
Est-il possible d'effectuer cette opération dans Snow Leopard?
Merci.
macos
command-line
automator
bash
Le robot
la source
la source
defaults -currentHost write -g key 'value'
place. Cela ne fonctionne toujours pas.Réponses:
Il est important que la
defaults
commande utilise le "numéro d'identification du clavier" correct dans la touche, cela semble être:com.apple.keyboard.modifiermapping.$VendorID-$ProductID-0
Par exemple, le clavier interne de mon MacBook Air utilise:,
com.apple.keyboard.modifiermapping.1452-579-0
tandis que le clavier externe de mon iMac utilisecom.apple.keyboard.modifiermapping.1118-219-0
Comment obtenir le bon "ID de clavier"? Sur la ligne de commande, vous pouvez utiliser:
pour obtenir une liste de vos périphériques USB avec les paramètres appropriés:
Je suppose que le troisième paramètre (la partie "-0") est un "compteur", dans le cas où vous avez plus d'un clavier du même type.
Donc, pour désactiver la touche CapsLock sur mon clavier externe, je peux maintenant utiliser:
Et, par souci d'exhaustivité, voici une liste des codes de clé possibles à utiliser (à partir des astuces Mac OS X ):
Mise à jour: grâce à Lauri Ranta, voici une commande qui fonctionne pour les claviers Bluetooth et USB:
ce qui vous donne une sortie légèrement différente:
la source
'{ HIDKeyboardModifierMappingDst = -1; HIDKeyboardModifierMappingSrc = 0; }'
que vous pouvez trouver sur certains sites Web. Du moins pour moi, les valeurs "-1" et "0" des valeurs dict sont ensuite interprétées comme des chaînes et non comme des entiers. Cela conduit à un état étrange où Préférences affiche les touches de modification modifiées, mais le clavier ne se comporte pas de cette manière.ioreg -n IOHIDKeyboard -r
inclurait également les claviers Bluetooth.Moi aussi, je n'ai pas pu obtenir
defaults write
(ou mettre à jour les fichiers .plist) d'affecter mes paramètres HIDKeyboardModifierMappingSrc et HIDKeyboardModifierMappingDst sous Snow Leopard .J'essaie de "pré-renseigner" mon compte Invité pour qu'il prenne en charge mon clavier PS2-à-USB (apparemment, les options et les commandes ont été permutées.) Les suggestions d'autres pages pour "se déconnecter et se reconnecter" ne permettent pas de résoudre le problème. La "déconnexion" du compte Invité supprime toutes mes modifications.
(Je l' ai correctement mis à jour mon « com.apple.dock » et les fichiers plist « de com.apple.menuextra.clock » pour personnaliser le dock et l'horloge de 24 heures, respectivement, ce qui rend encore plus frustrant que le clavier Modificateurs gagné » t travail ...)
J'ai essayé d'utiliser "dtruss -asf" pour comparer ce que "System Preferences.app" est en train de faire (ce qui fonctionne apparemment) avec ce que "par défaut" fait. Le plus près que je peux comprendre, je vois des messages dans les lignes de:
Si quelqu'un trouve une solution qui fonctionne sous Snow Leopard, je serais heureux de l'entendre ...
la source
Le problème que je rencontre est que chaque fois que je branche mon clavier, il reçoit un ID différent dans ioreg. Tout ce que j'ai à faire est d'échanger la commande et les touches Apple.
J'ai décidé de résoudre ce problème de la "mauvaise manière" à l'aide de AppleScript et de l'interface graphique des préférences système. C'est un bidule laid, mais ça marche! Votre kilométrage peut varier.
la source
diff
de vérifier que vous créez ce fichier exactement comme le ferait l'interface utilisateur?fs_usage
oulsof
pour savoir ce qui est fait quand vous utilisez l'interface utilisateur.la source
fs_usage
ne montre rien d’AFAICT intéressant, et j’ai vérifié (avec ma commande modifiée dans le commentaire de la question) que le résultat apparaît comme on pourrait s’y attendre.