Uso Karabiner-Elements per re-associare F1 e F2 chiavi per eseguire la mia applicazione che aumenta e diminuisce la luminosità.
Ciò impedisce la visualizzazione dell'overlay.
Ho modificato il file ~/.config/karabiner/karabiner.json
per aggiungere una regola 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"
}
]
}
]
Ho intenzione di creare le mie app DecreaseRetinaDisplayBrightness.app
et al. perché devo essere in grado di concedere l'accesso assistivo AppleScript, e non so come garantire l'accesso assistivo di osascript
stesso.
Per fare in modo che le app creino una nuova applicazione in Automator:
Ilcodiceperaumentarelaluminositàdi1/16allavoltaèquesto:
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"
Ovviamente diminuire è la stessa cosa ma sottrarre 0.625
invece di aggiungerlo.
Ho salvato l'applicazione nella mia cartella Applicazioni, quindi gli ho concesso l'accesso assistivo da Preferenze di Sistema > Sicurezza e amp; Privacy > Privacy > Accessibilità:
OrapremendofnF2aumentalaluminositàsenzamostrarealcunpop-up.Ovviamentealcunideipassaggiprecedentidevonoessereripetutipercrearel'appDecreaseBrightness.
Naturalmenteèpossibileutilizzareunmetodoquasiidenticoperlelucidelvolumeedellatastiera.BastascrivereunAppleScriptchecontrolliciascuno.
es.ilmio"shell_command"
per la diminuzione del volume è simile a
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'
Mentre funziona non è una soluzione perfetta, a volte può momentaneamente rubare la messa a fuoco ed è molto più lento rispetto all'impostazione predefinita di Apple.
Mi chiedo se la rigidità possa essere migliorata regolando alcune impostazioni del 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
}
Il ritardo può essere reso meno fastidioso aumentando i valori da 0.0625 a maggiori, in modo da poter ottenere più velocemente la luminosità desiderata (anche se con minore precisione). Lo 0.0625 è stato scelto per simulare i passi compiuti da Apple di default (1/16).
Una soluzione ideale sarebbe la versione aggiornata di
sudo defaults write /System/Library/LaunchAgents/com.apple.OSDUIHelper Disabled --bool YES
comando che funziona per High Sierra 10.13.3.
Inoltre non so come correggere questo errore che si verifica se le Preferenze di Sistema sono già aperte e non hanno lo stato attivo: