macOS Sierra – ¿Cambia las teclas pnetworkingeterminadas de Subir / Bajar volumen a Opción + Mayús + Subir / Bajar volumen?

Fondo

El comportamiento actual de las teclas Volume Up/Down es para ajustar el volumen del sistema en incrementos completos. ¡Pero! La Option(Alt)+Shift+Volume Up/Down combinación de Option(Alt)+Shift+Volume Up/Down volumen cambiará el volumen en incrementos de 1/4 . ¡Perfecto! Excepto un dolor.

La meta

Me gustaría reasignar / interceptar / anular el comportamiento de las teclas Volume Up/Down para:

  1. Ajusta automáticamente el volumen en incrementos de 1/4

    ¡Una configuration, file o script que podría escribir o modificar para configurar esto como comportamiento pnetworkingeterminado sería ideal!

  2. Option(Alt)+Shift+Volume Up/Down Mímica Option(Alt)+Shift+Volume Up/Down presionar

    Presioné una tecla ( Volume Up/Down ), ¡pero el sistema ve que presioné el combo de tres teclas!

Advertencias

Con el objective final antes mencionado, Imma nitpick un poco.

  1. Sin software de terceros (TPS)

    Si un TPS puede reasignar las keys en mi sistema, o interceptar teclas y realizar tareas, un AppleScript bien escrito o BashScript puede hacer lo mismo.

    Hay muchas razones para no querer TPS, pero sobre todo me gusta rodar el mío (cuando puedo), y no quiero una aplicación completa para un solo cambio.

  2. No puede haber Use todas las teclas F1, F2, etc. como teclas de function estándar. habilitado

    Este es importante No quiero anular las teclas F11 y F12 . Quiero anular las teclas Volume Up Volume Down y Volume Down .

    Uso todas las otras special feature keys menudo. Tener que presionar la tecla fn para controlar la reproducción de música, o cambiar el brillo de mi pantalla, no es un compromiso aceptable para tener el comportamiento de volumen deseado.

Hasta aquí

Hasta ahora, todo lo que he podido encontrar son enlaces que me dicen cómo ajustar el volumen (presionando el combo de 3 teclas). Me vincularé con ellos para probar mi debida diligencia antes de hacer una pregunta, pero son todos iguales a los que mencioné anteriormente. Nada aludiendo a establecerlo como el comportamiento pnetworkingeterminado.

En cuanto a reasignar las keys, sigo llegando con solo un par de methods:

  1. Software de terceros (como Karabiner )

    Esto no servirá. Lea arriba.

  2. Crear accesos directos personalizados en Preferences del sistema

    Estoy bien usando este método, pero ¿qué ingresaría para que el Menu Title del Menu Title refiera al control de volumen de ajuste fino? Además, cuando intenté hacer esto (lo probé ahora), cuando coloco el cursor en el cuadro de Keyboard Shortcut del Keyboard Shortcut y presiono los botones de Volume Up/Down el volumen, simplemente cambia el volumen, en lugar de rellenar la input con la tecla presionado.

Pensamientos finales

Un script personalizado (Bash, AppleScript, otro), modificando un file del sistema escondido en algún lugar, o lo que sea que tengas, ¡lo tomaré!

¡Gracias por adelantado!

EDIT # 1 – Algo de progreso

Semi-Trabajo

El control de volumen pnetworkingeterminado tiene 17 niveles (siendo el 17º cero). El volumen se establece como un valor integer, fuera de 100. Esto significa que el cambio de volumen pnetworkingeterminado es de alnetworkingedor del 6% por nivel.

Pude usar Automator para crear un par de services, que cambian el volumen en incrementos del 1%. Los services son un solo Run AppleScript dentro del flujo de trabajo.

 --Volume Up AppleScript set vol to output volume of (get volume settings) if vol > 100 then # 100 is max set volume output volume 100 else set volume output volume (vol + 1) end if do shell script "afplay /System/Library/Sounds/Pop.aiff" 

Y luego puede vincular una tecla de acceso directo en Preferences del sistema (consulte la pregunta original). Sin embargo, tengo dos problemas:

  1. Todavía no se pueden unir las teclas de function especial al service

    Cuando bash usar las teclas Volume Up/Down para configurar el acceso directo, solo cambia el volumen, sin registrar la tecla presionada.

    Entré en ~/Library/Preferences/pbs.plist e intenté cambiar la key manualmente, desde

    Pre-editar

    a

    Publicado

    Nota: Los códigos key 71 y 72 son para teclas de function especial para Volume Down Volume Up y Volume Up , respectivamente.

    Las capturas de pantalla de arriba fueron tomadas de PlistBuddy en la terminal. El extraño símbolo de signo de interrogación es exactamente el mismo cuando se ve el valor en XCode.

    No puedo encontrar el enlace en este momento, pero parece que macOS Sierra no está trabajando con los códigos de las teclas de function especial . De lo contrario, un simple AppleScript podría haber forzado la pulsación de una sola tecla en el combo de 3 teclas:

    tell application "System Events" to key code 72 using {shift down, option down}

    Alerta de spoiler … no funciona. Y, curiosamente, cuando ejecuto el script, se inserta un signo igual ( = ) donde sea que esté el cursor en vivo.

    Antes de correr

    despues de correr

    No todos los códigos key hacen esto. Por ejemplo, 81 también insertá un signo igual, pero 82 ingresa un cero ( 0 ); ambos corresponden a los códigos key en el enlace de arriba. Entonces, ¿MacOS Sierra se ha ido por completo de asignar códigos a las teclas de function especiales? O han cambiado?

  2. No se puede hacer que Apple Volume Beze aparezca cuando se cambia el volumen

    Puede deshabilitar el bisel , pero no puedo encontrar en ninguna parte una forma de llamarlo programáticamente. Lo ideal sería que fuera una línea adicional, después de do shell script ... en el AppleScript de Automator anterior.

    Sinceramente, no me preocupa demasiado el bisel, pero me gustaría conocer de alguna manera la configuration actual del volumen.

    Icono de la barra de menu

    Una solución perfectamente aceptable sería mostrar la configuration de volumen actual (numérica) en la barra de menu. Pero no pude encontrar ningún icono de volumen numérico preexistente.

    Traté de search la modificación de la secuencia de commands del icono de volumen de la barra de menu actual para mostrar el valor numérico en lugar del icono del altavoz, pero no pude llegar a ninguna parte con eso. (La ruta que encontré para ello es en /System/Library/CoreServices/Menu Extras/Volume.menu/Contents , si alguien piensa que tienen una solución). De lo contrario, podría intentar crear mi propio icono de la barra de menu.

    Superposition de pantalla

    También intenté investigar la creación de una superposition semitransparente y emergente que mostraría la configuration de volumen actual y luego se desvanecería (sobre el rest del contenido de la pantalla). La funcionalidad sería la misma que el bisel del volumen de stock, pero tal vez solo un número en la esquina de la pantalla.

    Puede crear notifications con AppleScripts, pero son demasiado grandes para un número pequeño de 1, 2 o 3 dígitos, no son transparentes y demoran demasiado. El comportamiento de una superposition debería sobrescribir la superposition actual con una nueva, mostrando el nuevo valor. Usando notifications, solo obtendría una stack de notifications persistentes.

Otros bashs

También busqué modificar los controlleres de audio, con la esperanza de que hubiera una configuration pnetworkingeterminada que pudiera cambiar. Los files más prometedores que pude encontrar están en:

 /System/Library/Frameworks/AudioToolbox.framework 

y

 /System/Library/Frameworks/AudioUnit.framework 

pero no pude encontrar nada en ninguno de los files dentro, que podría modificarse para cambiar la cantidad de pasos de volumen de 17 a 100.

**

¡Gracias por llegar tan lejos! Es largo, pero quiero asegurarme de haber presentado todo lo que sé y todo lo que he intentado.

  • ¿Podré volver a El Capitain si instalo Sierra en mi Macbook Pro 2015?
  • Archive Utility no se cerrará automáticamente. Estancias en el muelle
  • MacBook Pro queda rezagado cuando está al 0% y cargando
  • Weird remotedesktop folder en usr / local - ¿seguro?
  • Sierra Siri Tweak para commands de shell
  • Incoinheritance de densidad de píxeles de la captura de pantalla en macOS 10.12.5
  • ¿Cómo marcar eficientemente el correo como spam antes de revisarlo en Mac OS X Mail.app?
  • MacBook Pro 15 "Touch Bar en funcionamiento
  • ¿Puedo cambiar el comportamiento de actualización automática cuando estoy conectado a mi punto de acceso personal?
  • iCloud drive sharing en Sierra (Agregar personas)
  • Time Machine extremadamente lento y escribe muchas inputs de logging
  • Loving Apple Products like poisoning (iPhone, iPad, iMac, Macbook, iWatch).