16 votos

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

Llevo mucho tiempo intentando resolver esto. Tengo un típico Mac OS aprovisionamiento script:

https://gist.github.com/ryanpcmcquen/b2e608311f286a4ab3e1

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

Tenga en cuenta que ya sé cómo hacer esto a través de System Preferences > Keyboard > Shortcuts Estoy buscando una solución de línea de comandos que se pueda programar.

EDIT: Gracias a @user3439894 he pasado y he hecho un script para cambiar todas las claves del plist a 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

6voto

user3439894 Puntos 5883

Esta no es una respuesta directa, aunque espero que la información aquí presentada le ayude a llegar a una respuesta directa.

Puedo decirte qué cambia en cada archivo cuando cambias el atajo de teclado por defecto para Mission Control de Control-Flecha Arriba a Control-Opción-Flecha Arriba. Es el "Item 2 Number" del Array "parameters" en el Dictionary "value" del Dictionary "32" y "34" del Dictionary "AppleSymbolicHotKeys" en el /Users/$USER/Library/Preferences/com.apple.symbolichotkeys.plist archivo.

Aquí hay un defaults read representación de la com.apple.symbolichotkeys.plist estructura de archivos en relación con los cambios realizados en las circunstancias definidas anteriormente.

Control de la misión con el valor predeterminado de la flecha de control hacia arriba

{
    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 ha cambiado a la flecha de control-opción-arriba

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

El BUGS sección del defaults dice la página man:

Los valores por defecto pueden estar estructurados de forma muy compleja, lo que dificulta para el usuario introducirlos con este comando.

Y este es un ejemplo perfecto ya que será una línea de comandos muy compleja usando defaults para escribir los valores de destino en los elementos del array de destino, si es que se puede hacer. Sólo un dato... Si vas a intentar hacer un defaults write com.apple.symbolichotkeys ... asegúrese de haber hecho primero una copia de seguridad del archivo de destino.

La otra opción es utilizar un AppleScript para cambiar la configuración navegando 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 se pueda hacer, sin embargo, si necesitara una forma automatizada, lo resolvería, pero no tengo tiempo para descubrir ninguno de los dos métodos, lo siento.

Al menos ahora sabes qué cambios hay y a partir de ahí podrás o bien averiguarlo por tu cuenta o bien conseguir ayuda adicional conociendo este poco más.

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

enter image description here

Por cierto, he seguido los cambios utilizando una utilidad de terceros que registra los cambios del sistema de archivos y luego convierte esa información en una salida más legible para proporcionar esta información.

0voto

asymptotically Puntos 889

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

Como desarrollador, quiero decir que personalmente me parece un tema fascinante y tentador, y realmente muestra el lado más feo y oscuro de MacOS que se esconde detrás de las escenas y que sólo los desarrolladores de software y los hackers pueden apreciar realmente...

El problema es bastante sencillo: Sólo quiero reasignar la combinación de teclas por defecto a mi propia vinculación.

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

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