Je veux un domaine com.apple.keyboard.modifiermapping.1452-628-0
pour contenir le tableau suivant :
(
{
HIDKeyboardModifierMappingDst = 2;
HIDKeyboardModifierMappingSrc = 0;
},
{
HIDKeyboardModifierMappingDst = 0;
HIDKeyboardModifierMappingSrc = 2;
},
{
HIDKeyboardModifierMappingDst = 0;
HIDKeyboardModifierMappingSrc = 10;
}
)
Je peux y arriver en supprimant la valeur actuelle et en exécutant trois -array-add
des commandes :
defaults -currentHost delete -g com.apple.keyboard.modifiermapping.1452-628-0
defaults -currentHost write -g com.apple.keyboard.modifiermapping.1452-628-0 -array-add '{ HIDKeyboardModifierMappingDst = 2; HIDKeyboardModifierMappingSrc = 0; }'
defaults -currentHost write -g com.apple.keyboard.modifiermapping.1452-628-0 -array-add '{ HIDKeyboardModifierMappingDst = 0; HIDKeyboardModifierMappingSrc = 2; }'
defaults -currentHost write -g com.apple.keyboard.modifiermapping.1452-628-0 -array-add '{ HIDKeyboardModifierMappingDst = 0; HIDKeyboardModifierMappingSrc = 10; }'
defaults -currentHost read -g com.apple.keyboard.modifiermapping.1452-628-0
Quelle syntaxe puis-je utiliser pour définir le tableau en une seule commande ?
-
Si je lance le script suivant :
defaults -currentHost delete -g com.apple.keyboard.modifiermapping.1452-628-0 defaults -currentHost write -g com.apple.keyboard.modifiermapping.1452-628-0 -array '( { HIDKeyboardModifierMappingDst = 2; HIDKeyboardModifierMappingSrc = 0; }, { HIDKeyboardModifierMappingDst = 0; HIDKeyboardModifierMappingSrc = 2; }, { HIDKeyboardModifierMappingDst = 0; HIDKeyboardModifierMappingSrc = 10; } )' defaults -currentHost read -g com.apple.keyboard.modifiermapping.1452-628-0
J'obtiens un tableau dans un tableau :
( ( { HIDKeyboardModifierMappingDst = 2; HIDKeyboardModifierMappingSrc = 0; }, { HIDKeyboardModifierMappingDst = 0; HIDKeyboardModifierMappingSrc = 2; }, { HIDKeyboardModifierMappingDst = 0; HIDKeyboardModifierMappingSrc = 10; } ) )
-
Si j'essaie avec
-plist
au lieu de-array
Je reçois unUnexpected argument
. -
Si je lance le script suivant :
defaults -currentHost delete -g com.apple.keyboard.modifiermapping.1452-628-0 defaults -currentHost write -g com.apple.keyboard.modifiermapping.1452-628-0 -array ' { HIDKeyboardModifierMappingDst = 2; HIDKeyboardModifierMappingSrc = 0; }, { HIDKeyboardModifierMappingDst = 0; HIDKeyboardModifierMappingSrc = 2; }, { HIDKeyboardModifierMappingDst = 0; HIDKeyboardModifierMappingSrc = 10; }' defaults -currentHost read -g com.apple.keyboard.modifiermapping.1452-628-0
J'obtiens une erreur de syntaxe
defaults[22044:679428] Could not parse: ... Try single-quoting it.
Nouvelle question : quelle syntaxe puis-je utiliser pour définir le tableau en une seule commande ?