2 votos

La actualización de las teclas modificadoras desde la línea de comandos no tiene ningún efecto

El objetivo: asignar "Caps Lock" a "Control" desde la línea de comandos.

Estoy tratando de actualizar las teclas modificadoras desde la línea de comandos con el siguiente comando como se explica aquí y aquí pero sin efecto.

$ defaults -currentHost write -g "com.apple.keyboard.modifiermapping.1452-611-0" '(
{
  HIDKeyboardModifierMappingDst = 2;
  HIDKeyboardModifierMappingSrc = 0;
})'

Cuando lo hago desde las "Preferencias del sistema" funciona enseguida y parece que se configura igual que cuando lo hago manualmente, como se ve a continuación:

$ defaults -currentHost read -g "com.apple.keyboard.modifiermapping.1452-611-0"
(
        {
        HIDKeyboardModifierMappingDst = 2;
        HIDKeyboardModifierMappingSrc = 0;
    }
)

El resultado es exactamente el mismo que cuando se ejecuta manualmente o desde la GUI.

Al reiniciar después de ejecutar la línea de comandos, veo que en "Preferencias del sistema" está configurado correctamente, como espero pero, no funciona. Sólo funciona al restablecer do default y configurarlo manualmente.

Incluso he intentado copiar el plist archivo como se sugiere aquí de nuevo sin efecto (incluso con el reinicio).

A continuación he probado esto sin éxito (ideas de aquí ):

defaults -currentHost write -globalDomain <rest of command>
defaults write NSGlobalDomain <rest of command>
defaults write GlobalPreferences <rest of command>

Ejecución de OSX 10.9.4 (Mavrics).

Cualquier idea es bienvenida.

1voto

Virus_7 Puntos 11

Es porque los valores se escriben como cadenas y no como enteros. Puedes ver eso usando:

$ plutil -convert xml1 -o - ~/Library/Preferences/ByHost/.GlobalPreferences.*.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>com.apple.keyboard.modifiermapping.1452-591-0</key>
    <array>
        <dict>
            <key>HIDKeyboardModifierMappingDst</key>
            <string>30064771303</string>
            <key>HIDKeyboardModifierMappingSrc</key>
            <string>30064771302</string>
        </dict>
        <dict>
            <key>HIDKeyboardModifierMappingDst</key>
            <string>30064771302</string>
            <key>HIDKeyboardModifierMappingSrc</key>
            <string>30064771303</string>
        </dict>
    </array>
</dict>
</plist>

Así que la forma correcta de actualizar la configuración es utilizando el formato XML:

$ defaults -currentHost write -g com.apple.keyboard.modifiermapping.1452-591-0 -array \
'<dict>
    <key>HIDKeyboardModifierMappingDst</key>
    <integer>30064771303</integer>
    <key>HIDKeyboardModifierMappingSrc</key>
    <integer>30064771302</integer>
</dict>' \
'<dict>
    <key>HIDKeyboardModifierMappingDst</key>
    <integer>30064771302</integer>
    <key>HIDKeyboardModifierMappingSrc</key>
    <integer>30064771303</integer>
</dict>'

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X