Uso Karabiner-Elements para volver a unir el F1 y F2 teclas para ejecutar mi propia aplicación que aumenta y disminuye el brillo.
Esto evita que se muestre la superposición.
Edité el archivo ~/.config/karabiner/karabiner.json
para agregar una regla a Karabiner-Elements:
"rules": [
{
"description": "Assign brightness conrol to brightness keys, but hides the overlay",
"manipulators": [
{
"from": {
"key_code": "f1",
"modifiers": {
"mandatory": [
"fn"
]
}
},
"to": [
{
"shell_command": "open -a DecreaseRetinaDisplayBrightness.app"
}
],
"type": "basic"
},
{
"from": {
"key_code": "f2",
"modifiers": {
"mandatory": [
"fn"
]
}
},
"to": [
{
"shell_command": "open -a IncreaseRetinaDisplayBrightness.app"
}
],
"type": "basic"
}
]
}
]
Voy a hacer mis propias aplicaciones DecreaseRetinaDisplayBrightness.app
et al. porque necesito poder otorgar a mis AppleScripts acceso de asistencia, y no sé cómo conceder a osascript
el acceso de asistencia.
Para hacer que las aplicaciones creen una nueva aplicación en Automator:
Elcódigoparaaumentarelbrilloen1/16alavezeseste:
tellapplication"System Preferences"
reveal anchor "displaysDisplayTab" of pane "com.apple.preference.displays"
end tell
tell application "System Events" to tell process "System Preferences" to tell window "Built-in Retina Display"
set value of value indicator 1 of slider 1 of group 2 of tab group 1 to (get (value of value indicator 1 of slider 1 of group 2 of tab group 1) + 0.0625)
end tell
quit application "System Preferences"
Obviamente, para reducirlo es lo mismo, pero resta 0.625
en lugar de agregarlo.
Guardé la Aplicación en mi carpeta de Aplicaciones, luego le concedí acceso de asistencia desde Preferencias del Sistema > Seguridad y amp; Privacidad > Privacidad > Accesibilidad:
Ahora,alpulsarfnF2aumentaelbrillosinmostrarningúnelementoemergente.Obviamente,algunosdelospasosanterioresdebenrepetirseparacrearlaaplicaciónDecreaseBrightness.
Porsupuesto,sepuedeemplearunmétodocasiidénticoparalaslucesdevolumenyteclado.SoloescribeunAppleScriptquecontrolecadauno.
Porejemplo,mi"shell_command"
para disminuir el volumen se ve como
osascript -e 'set volume alert volume ((alert volume of (get volume settings)) - 100/16)' && osascript -e 'set volume (alert volume of (get volume settings))*7/100'
Aunque funciona, no es una solución perfecta, a veces puede robar el foco momentáneamente y es mucho más lento que el predeterminado de Apple.
Me pregunto si la demora se puede mejorar ajustando algunas de las configuraciones de Karabiner,
"parameters": {
"basic.simultaneous_threshold_milliseconds": 50,
"basic.to_delayed_action_delay_milliseconds": 500,
"basic.to_if_alone_timeout_milliseconds": 1000,
"basic.to_if_held_down_threshold_milliseconds": 500
}
El retraso se puede hacer menos molesto al aumentar los valores de 0.0625 a valores más grandes, para que pueda obtener más rápidamente el brillo que desea (aunque con menos precisión). Se eligió el 0.0625 para simular los pasos tomados por Apple de forma predeterminada (1/16).
Una solución ideal sería la versión actualizada de
sudo defaults write /System/Library/LaunchAgents/com.apple.OSDUIHelper Disabled --bool YES
comando que funciona para High Sierra 10.13.3.
Tampoco sé cómo corregir este error que se produce si las Preferencias del sistema ya están abiertas y no tienen un enfoque: