¿Cómo cambio los accesos directos de Mission Control desde la línea de comandos?

9

He estado tratando de resolver esto durante mucho tiempo. Tengo un script de aprovisionamiento de Mac OS bastante típico:

enlace

Me gustaría cambiar los accesos directos del control de la Misión para que sean Ctrl + Alt + ... en lugar de Ctrl + ... . Por ejemplo, el valor predeterminado es: Ctrl + Arriba para activar el control de la misión. Me gustaría cambiar esto a Ctrl + Alt + Arriba , porque el acceso directo actual entra en conflicto con otros programas que utilizo.

Tenga en cuenta que ya estoy consciente de cómo hacerlo a través de System Preferences > Keyboard > Shortcuts , estoy buscando una solución de línea de comandos con secuencias de comandos.

EDITAR: Gracias a @ user3439894 pasé e hice un script para cambiar todas las claves de lo que quiero que sean. El único problema es que no funciona. :-(

Esto es lo que tengo hasta ahora:

#!/bin/bash
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 32 "{enabled = 1; value = { parameters = (65535, 126, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 33 "{enabled = 1; value = { parameters = (65535, 125, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 34 "{enabled = 1; value = { parameters = (65535, 126, 3014656); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 35 "{enabled = 1; value = { parameters = (65535, 125, 3014656); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 79 "{enabled = 1; value = { parameters = (65535, 123, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 80 "{enabled = 1; value = { parameters = (65535, 123, 3014656); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 81 "{enabled = 1; value = { parameters = (65535, 124, 2883584); type = standard; }; }"
defaults write ~/Library/Preferences/com.apple.symbolichotkeys.plist AppleSymbolicHotKeys -dict-add 82 "{enabled = 1; value = { parameters = (65535, 124, 3014656); type = standard; }; }"
chown -Rf 'whoami' ~/Library/Preferences/com.apple.symbolichotkeys.plist;
defaults read com.apple.symbolichotkeys
    
pregunta ryanpcmcquen 24.08.2015 - 21:55

2 respuestas

4

Esta no es una respuesta directa, aunque espero que la información presentada en este documento lo ayude a obtener una respuesta directa.

Puedo decirle qué cambios hay en cada archivo cuando cambia el método abreviado de teclado predeterminado para el Control de la Misión desde la Flecha de control hacia arriba hasta la Flecha de control hacia arriba. Es el "Número del ítem 2" de los "parámetros" Arreglo en el "valor" Diccionario del diccionario "32" y el diccionario "34" del diccionario "AppleSymbolicHotKeys" en el archivo /Users/$USER/Library/Preferences/com.apple.symbolichotkeys.plist .

Aquí hay una representación defaults read de la estructura de archivos com.apple.symbolichotkeys.plist en lo que se refiere a los cambios realizados en las circunstancias definidas anteriormente.

Mission Control con el valor predeterminado de Control-Up Arrow

{
    AppleSymbolicHotKeys =     {
        32 =         {
            enabled = 1;
            value =             {
                parameters =                 (
                    65535,
                    126,
                    2359296
                );
                type = standard;
            };
        };
        34 =         {
            enabled = 1;
            value =             {
                parameters =                 (
                    65535,
                    126,
                    2490368
                );
                type = standard;
            };
        };
    };
}

El control de la misión cambió a Control-Opción-Flecha arriba

{
    AppleSymbolicHotKeys =     {
        32 =         {
            enabled = 1;
            value =             {
                parameters =                 (
                    65535,
                    126,
                    2883584
                );
                type = standard;
            };
        };
        34 =         {
            enabled = 1;
            value =             {
                parameters =                 (
                    65535,
                    126,
                    3014656
                );
                type = standard;
            };
        };
    };
}
La sección FALLOS de la página defaults man dice:

  

Los valores predeterminados se pueden estructurar de formas muy complejas, lo que dificulta   para que el usuario los ingrese con este comando.

Y este es un ejemplo perfecto, ya que será una línea de comando muy compleja que usa defaults para escribir los valores de destino en los elementos de la matriz de destino, si es posible. Solo un FYI ... Si vas a intentar ejecutar un comando defaults write com.apple.symbolichotkeys ... , asegúrate de haber hecho primero una copia de seguridad del archivo de destino.

La otra opción es usar un AppleScript para cambiar la configuración al navegar por la GUI de Preferencias del Sistema y eso también será un poco complejo en comparación con la configuración de un objeto de nivel superior, que el objetivo aquí no es. Ni siquiera estoy seguro de que sea factible; sin embargo, si necesitara una forma automática, entonces lo resolvería, pero no tengo tiempo para descubrir ninguno de los dos métodos, lo siento.

Al menos ahora sabes qué cambios, y desde allí puedes resolverlo por tu cuenta u obtener ayuda adicional para saber un poco más.

Aquí hay una imagen recortada en Xcode del archivo com.apple.symbolichotkeys.plist .

Por cierto, atrapé los cambios utilizando una utilidad de terceros que registró los cambios en el sistema de archivos y luego convertí esa información en una salida más legible para los humanos para proporcionar esta información.

    
respondido por el user3439894 25.08.2015 - 04:28
1

Esta es mi recomendación: use una utilidad como Karabiner para acompañar dicha personalización.

Como desarrollador, quiero decir que, personalmente, me parece que es un tema fascinante y tentador, y realmente muestra el lado más feo y oscuro de macOS escondido detrás de la escena que solo los desarrolladores de software y los hackers pueden apreciar realmente ... .

El problema es bastante simple: solo quiero volver a asignar la combinación de teclas predeterminada a mi propio enlace.

¿Por qué diablos es tan difícil / complicado? Tengo la intención de descubrir y publicar una solución ... Estén atentos.

    
respondido por el Steve Benner 05.11.2016 - 02:01

Lea otras preguntas en las etiquetas