He estado tratando de resolver esto por mucho tiempo. Tengo un script de aprovisionamiento de Mac OS bastante típico:
https://gist.github.com/ryanpcmcquen/b2e608311f286a4ab3e1
Me gustaría cambiar los atajos de control de la Misión a todos Ctrl+ Alt+ en ...lugar de Ctrl+ .... Por ejemplo, el valor predeterminado es: Ctrl+ Uppara activar el Control de misión. Me gustaría cambiar esto a Ctrl+ Alt+ Up, porque el acceso directo actual entra en conflicto con otros programas que uso.
Tenga en cuenta que ya estoy al tanto de cómo hacer esto System Preferences > Keyboard > Shortcuts
, estoy buscando una solución de línea de comandos programable.
EDITAR: Gracias a @ user3439894 revisé e hice un script para cambiar todas las claves de 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
fuente
type = standard;
realidad debería tener entype = 'standard';
cuenta las comillas'standard'
. Sin embargo, dicho esto, a veces incluso con una línea de comando correctamente formada, el cambio simplemente no tiene efecto, incluso si se; killall -u $USER cfprefsd
agrega al final deldefaults
comando . Además, la ruta completa al.plist
archivo en este caso de uso no es necesaria y simplemente, por ejemplo,defaults write com.apple.symbolichotkeys AppleSymbolicHotKeys ...
y el resto del comando es todo lo que es necesario.Respuestas:
Esta no es una respuesta directa, aunque espero que la información presentada en este documento lo ayude a obtener una respuesta directa.
Puedo decirte qué cambios en qué archivo cuando cambias el método abreviado de teclado predeterminado para Control de misión de Control-Up Arrow a Control-Option-Up Arrow. Es el "Número de elemento 2" de la matriz de "parámetros" en el Diccionario "valor" del Diccionario "32" y el Diccionario "34" del Diccionario "AppleSymbolicHotKeys" en el
/Users/$USER/Library/Preferences/com.apple.symbolichotkeys.plist
archivo.Aquí hay una
defaults read
representación de lacom.apple.symbolichotkeys.plist
estructura del archivo en relación con los cambios realizados en las circunstancias definidas anteriormente.Control de misión con el valor predeterminado de la flecha Control-Up
Control de misión cambiado a Control-Opción-Flecha arriba
La sección ERRORES de la
defaults
página del manual dice:Y este es un ejemplo perfecto, ya que será una línea de comando muy compleja que se utiliza
defaults
para escribir los valores objetivo en los elementos de la matriz objetivo, si es posible. Solo un FYI ... Si va a intentar hacer undefaults write com.apple.symbolichotkeys ...
comando, asegúrese de haber hecho una copia de seguridad del archivo de destino primero.La otra opción es usar 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 sea factible, sin embargo, si necesitaba una forma automatizada, lo resolvería, pero no tengo tiempo para descubrir ninguno de los métodos, lo siento.
Al menos ahora sabe qué cambios, dónde y desde allí, puede resolverlo usted mismo u obtener ayuda adicional para saber un poco más.
Aquí hay una imagen recortada en Xcode del
com.apple.symbolichotkeys.plist
archivo.Por cierto, atrapé los cambios usando una utilidad de terceros que registró los cambios en el sistema de archivos y luego convirtió esa información en una salida más legible para los humanos para proporcionar esta información.
fuente
filemon
fue parte de los Extras del libro "Mac OS X Internals - To The Apple's Core" en forma de código fuentefilemon.c
que compilé en un ejecutable en mi sistema. Luego comparé las diferencias en el archivo modificado de su estado actual con el archivo de una copia de seguridad de Time Machine realizada justo antes de los cambios. También puede usar el comando nativo fs_usage .Esta es mi recomendación: use una utilidad como Karabiner para lograr dicha personalización.
Como desarrollador, quiero decir que personalmente considero que es un problema fascinante y tentador, y realmente muestra el lado más feo y oscuro de macOS que se esconde detrás de escena que solo los desarrolladores de software y los piratas informáticos pueden apreciar realmente ...
El problema es bastante simple: solo quiero reasignar la combinación de teclas predeterminada a mi propio enlace.
¿Por qué demonios es tan difícil / complicado? Tengo la intención de averiguar y publicar una solución ... Estén atentos.
fuente