21 votos

Toggle "el Uso de teclas de función (F1, F2 como teclas de función estándar" a través de la secuencia de comandos

Defino el "Uso de teclas de función (F1, F2 como teclas de función estándar de" configuración muy a menudo y me gustaría automatizar a través de una secuencia de comandos (o un atajo de teclado). Es posible? He tratado de Google los argumentos de derecho para defaults write ... pero sin éxito.

fn settings

21voto

tell application "System Preferences"
    reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard"
end tell
tell application "System Events" to tell process "System Preferences"
    click checkbox 1 of tab group 1 of window 1
end tell
quit application "System Preferences"

Usted también podría usar defaults write -g com.apple.keyboard.fnState -bool true, pero yo no conozco ninguna manera de aplicar los cambios sin cerrar la sesión y volver a iniciarla.

9voto

Joe Puntos536

Yo no sé acerca de guión, pero con un poco de práctica de ingeniería inversa y buscando en Google, he hecho esta ya no me gusta la existente AppleScript GUI cosas que había por ahí:

https://github.com/nelsonjchen/fntoggle

Binario compilado (Lanzar en su CAMINO o si usted no sabe lo que es, a continuación, /usr/local/bin/): https://github.com/nelsonjchen/fntoggle/releases

Llamar a partir de nada (ControlPlane, Automator, sh, etc) por ejecutar fntoggle on o fntoggle off.

Esta secuencia de comandos no requieren de la GUI de accesibilidad para ser activado. También no requiere salir y regresar.

4voto

user2245192 Puntos11

Usted puede leer el estado actual con el siguiente. (1 de teclas F, 0 para los medios de comunicación/brillo, etc)

defaults read "Apple Global Domain" "com.apple.keyboard.fnState"

Se puede escribir, sin embargo eso no va a cambiar hasta que reinicie el equipo. (Traté de matar Dock y el Buscador de lugar, sin suerte)

defaults write "Apple Global Domain" "com.apple.keyboard.fnState" "1" ## F1 F2 etc
defaults write "Apple Global Domain" "com.apple.keyboard.fnState" "0" ## Brightness/Media

Sospecho que alguien con más conocimiento sobre lo que lee este archivo plist podría escribir una secuencia de comandos para matar y reiniciar lo que lee este plist, lo que debería hacer es reconocer el cambio.

1voto

martinerk0 Puntos16

En realidad, usted no tiene que ejecutar cualquier aplicación con un reflector o cualquier cosa, la mejor manera en mi opinión, es:

  1. Crear nuevo Servicio en Automator
  2. Arrastrar: "Ejecutar script de Apple
  3. En el "Servicio recibe seleccionado: elija ninguna entrada
  4. Pega este código de esta otra respuesta:

    tell application "System Preferences"
    reveal anchor "keyboardTab" of pane "com.apple.preference.keyboard"
    end tell
    tell application "System Events" to tell process "System Preferences"
    click checkbox 1 of tab group 1 of window 1
    end tell
    quit application "System Preferences" 
    
  5. Guardar como "tunombre"

  6. Abra Preferencias Del Sistema → Teclado → Accesos Directos
  7. En el menú de la izquierda escoge: "los Servicios"
  8. En la derecha, desplácese hacia abajo a la General, y asignar el servicio de algunas único atajo de teclado, puedo elegir cmd+mayús+L

  9. Eso es todo! No es muy rápido ni nada, pero usted no tiene que ejecutar cualquier aplicación o ir a las Preferencias de sí mismo.

0voto

alex Puntos3964

Algunos de AppleScript que podrían ayudar: Applescript para alternar F1 F11 teclas teclas de función - Foros de MacRumors

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: