o que os valores de parâmetro no ditado plist AppleSymbolicHotKeys representam?
o que faz o primeiroparameters
valor emcom.apple.symbolichotkeys:AppleSymbolicHotKeys
representar?
detalhes ...
a estrutura AppleSymbolicHotKeysas teclas de atalho simbólicas do OS X
~/Library/Preferences/com.apple.symbolichotkeys.plist
armazena teclas de atalho em um ditado chamado 'AppleSymbolicHotKeys' com entradas parecidas com
<action:int> = Dict {
enabled = <enabled:bool>
value = Dict {
type = <type:string>
parameters = Array {
<param_1:int>
<param_2:int>
<param_3:int>
}
}
}
exemplo:
10 = Dict {
enabled = true
value = Dict {
type = standard
parameters = Array {
56
28
1572864
}
}
}
dica profissional: você pode dar uma olhada com
/usr/libexec/PlistBuddy -c "Print :AppleSymbolicHotKeys" ~/Library/Preferences/com.apple.symbolichotkeys.plist
os valoresaction:int
esse é o ID da ação que a tecla de atalho executará. existem listas razoavelmente completas na rede, pesquise no google porque não tenho pontos suficientes para postar links ou o que for.
enabled:bool
se a tecla de atalho está ativada.
type:string
sempre parece ser 'padrão'.
param_1:int
este é o que eu não consigo entender. não parece necessariamente conectado aos parâmetros 2 e 3, embora mude frequentemente quando os outros parâmetros são alterados. por exemplo...
eu posso clicarRestore Defaults
noSystem Preferences -> Keyboard -> Shortcuts -> Mission Control
modo de exibição, e definirá "Alternar para a área de trabalho 1" como "ctrl + 1". lendo o valor dessa ação (número 118), vejo queparam_1
está configurado para65535
. se eu definir manualmente a combinação de teclas como "ctrl + 1" na interface do usuário, eu receboparam_1
definido como49
. os valores deparam_2
eparam_3
continue o mesmo por toda parte.
param_2:int
isso parece ser códigos-chave de
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h
para que a tecla não modificadora seja pressionada, exceto pelo valor65535
, o que é muito comum emparam_1
e aparece emparam_2
na minha máquina local para as ações 160, 163 e 175.
param_3:int
parece indicar que a tecla modificadora está pressionada, conforme
MODS = {
0=>"No modifier",
131072=>"Shift",
262144=>"Control",
524288=>"Option",
1048576=>"Command",
393216=>"Shift + Control",
655360=>"Shift + Option",
1179648=>"Shift + Command",
786432=>"Control + Option",
1310720=>"Control + Command",
1572864=>"Option + Command",
917504=>"Shift + Control + Option",
1441792=>"Shift + Control + Command",
1703936=>"Shift + Option + Command",
1835008=>"Control + Option + Command",
1966080=>"Shift + Control + Option + Command",
}
onde você notará que os números que representam vários modificadores são a soma dos modificadores que eles representam, por exemplo,
"Shift + Control" = 393216 = 131072 + 262144 = "Shift" + "Control"
tão...qualquer insight seria muito apreciado e espero que isso possa servir de referência para as informações que descobri sobre qualquer outra pessoa que se aproxime do assunto.