Macos AppleSymbolicHotKeys plist dict中的参数值代表什么? tl;博士
Macos AppleSymbolicHotKeys plist dict中的参数值代表什么? tl;博士,macos,plist,hotkeys,Macos,Plist,Hotkeys,com.apple.symbolichotkeys:AppleSymbolicHotKeys中的第一个参数值代表什么 细节 AppleSymbolicHotKeys结构 OS X符号热键plist文件位于 ~/Library/Preferences/com.apple.symbolichotkeys.plist 将热键存储在名为“AppleSymbolicHotKeys”的dict中,其条目如下所示 <action:int> = Dict { enabled = <e
com.apple.symbolichotkeys:AppleSymbolicHotKeys
中的第一个参数值代表什么
细节
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>
}
}
}
专业提示:您可以用
/usr/libexec/PlistBuddy -c "Print :AppleSymbolicHotKeys" ~/Library/Preferences/com.apple.symbolichotkeys.plist
价值观
操作:int
这是热键将执行的操作的id。网上有相当完整的列表,做一些谷歌搜索,因为我没有足够的点数来发布链接或其他什么
已启用:bool
是否启用热键
类型:字符串
似乎总是“标准”
param_1:int
这是一个我无法获取的参数。它似乎不一定与参数2和3相连,尽管它经常在其他参数更改时更改。例如
我可以点击系统首选项->键盘->快捷键->任务控制
视图中的恢复默认值
,它会将“切换到桌面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
参数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"
所以
如果您有任何见解,我们将不胜感激,并希望这可以作为我向其他接近该主题的人提供的信息的参考。这是钥匙上字母的ascii码,如果没有ascii码,则为-1(65535)。注意,字母是小写的,所以D是100(小写的D)
有时,通常使用ascii码的键使用65535。当使用“控制键”修改器时,例如使用特定空间的热键时,会出现这种情况
这里有一个很好的2011年的键和值列表,以及其他一些很好的细节:
以十六进制形式查看时,nrser答案中的数值更有意义:
0x000000 => "No modifier",
0x020000 => "Shift",
0x040000 => "Control",
0x080000 => "Option",
0x100000 => "Command",
其他值只是上述值的按位OR,例如:
0x060000 => "Shift + Control",
0x180000 => "Command + Option",
提示链接现在已断开,但可以通过archive.org访问:您能否提供指向此操作列表的链接。我无法在“键盘快捷键首选项”窗格中解析哪个操作id对应哪个操作:(它如何连接到函数CopySymbolicChotKeys())?对于修饰符,请在中搜索NX\u SHIFTMASK
。对于操作(“参数2”),我认为可能会有所帮助。键代码似乎来自。
0x060000 => "Shift + Control",
0x180000 => "Command + Option",