parameters
中的第一个com.apple.symbolichotkeys:AppleSymbolicHotKeys
值代表什么?
详细资料...
OS X符号热键plist文件
~/Library/Preferences/com.apple.symbolichotkeys.plist
将热键存储在名为'AppleSymbolicHotKeys'的dict中,其条目看起来像
<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
这是热键将采取的动作的ID。网上有相当完整的清单,做一些谷歌搜索,因为我没有足够的积分来发布链接或其他什么。
enabled:bool
是否启用了热键。
type:string
似乎总是'标准'。
param_1:int
这是我无法得到的。它似乎并不一定与第2和第3段相关,尽管它经常在其他参数更改时发生变化。例如......
我可以点击Restore Defaults
视图中的System Preferences -> Keyboard -> Shortcuts -> Mission Control
,然后将“切换到桌面1”设置为“ctrl + 1”。读取该操作的值(编号118),我看到param_1
设置为65535
。如果我在UI中手动将键组合设置为“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"
任何见解都会受到高度赞赏,并希望这可以作为我向其他任何接触该主题的人提供的信息的参考。
答案 0 :(得分:4)
它是键上字母的ascii代码,如果没有ascii代码,则为-1(65535)。请注意,字母是小写的,因此D是100(小写d)。
有时,通常具有ascii代码的密钥使用65535代替。这似乎发生在使用控制键修饰符时,例如使用特定空格的热键。
2011年有一个很好的键和值列表,以及其他一些好的细节:
答案 1 :(得分:3)
以十六进制形式查看时,nrser的答案中的数值更有意义:
0x000000 => "No modifier",
0x020000 => "Shift",
0x040000 => "Control",
0x080000 => "Option",
0x100000 => "Command",
其他的只是上述值的按位OR,例如:
0x060000 => "Shift + Control",
0x180000 => "Command + Option",