что представляют собой значения параметров в plist dict AppleSymbolicHotKeys?
что делает первыйparameters
значение вcom.apple.symbolichotkeys:AppleSymbolicHotKeys
представлять?
подробности...
структура AppleSymbolicHotKeysOSX символьный файл списка горячих клавиш в
~/Library/Preferences/com.apple.symbolichotkeys.plist
хранит горячие клавиши в формате, называемом «AppleSymbolicHotKeys» с записями, которые выглядят как
<action:int> = Dict {
enabled = <enabled:bool>
value = Dict {
type = <type:string>
parameters = Array {
<param_1:int>
<param_2:int>
<param_3:int>
}
}
}
пример:
10 = Dict {
enabled = true
value = Dict {
type = standard
parameters = Array {
56
28
1572864
}
}
}
профессиональный совет: Вы можете посмотреть с
/usr/libexec/PlistBuddy -c "Print :AppleSymbolicHotKeys" ~/Library/Preferences/com.apple.symbolichotkeys.plist
ценностиaction:int
это идентификатор действия, которое предпримет горячая клавиша. Есть достаточно полные списки по сети, попробуйте поискать в Google, потому что у меня недостаточно очков для публикации ссылок или чего-то еще.
enabled:bool
включена ли горячая клавиша
type:string
всегда кажется «стандартным».
param_1:int
это тот, который я не могу получить. он не обязательно связан с параграфами 2 и 3, хотя часто меняется при изменении других параграфов. например...
я могу нажатьRestore Defaults
вSystem Preferences -> Keyboard -> Shortcuts -> Mission Control
вид, и он установит «Переключиться на рабочий стол 1» на «Ctrl + 1». читая значение для этого действия (номер 118), я вижу, чтоparam_1
установлен в65535
, если я вручную установил комбинацию клавиш на "Ctrl + 1" в пользовательском интерфейсе, я получуparam_1
установлен в49
, значенияparam_2
а такжеparam_3
оставайся таким же повсюду.
param_2:int
кажется, это ключевые коды от
/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h
для клавиши без модификатора, которая должна быть нажата, кроме значения65535
что очень распространено вparam_1
и появляется вparam_2
на моей локальной машине для действий 160, 163 и 175.
param_3:int
кажется, указывает на клавишу модификатора, которая должна быть нажата, как в соответствии с
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",
}
где вы заметите, что числа, представляющие несколько модификаторов, являются суммой модификаторов, которые они представляют, например,
"Shift + Control" = 393216 = 131072 + 262144 = "Shift" + "Control"
так...Любое понимание будет высоко ценится, и надеюсь, что это может послужить справочным материалом для информации, которую я выкопал для любого другого, подходящего к теме.