gpt4 book ai didi

macos - 以编程方式获取/设置 Macos 默认系统键盘快捷键

转载 作者:行者123 更新时间:2023-12-02 01:23:04 25 4
gpt4 key购买 nike

我正在尝试找到一种方法来以编程方式获取/设置系统首选项 -> 键盘和鼠标 -> 键盘快捷键选项卡中的默认 OSX 系统键盘快捷键(热键)。我需要能够在后台执行此操作,因此 GUI 脚本不是解决方案。

我无法找到 plist 或任何可能存储此信息的内容。我尝试在使用系统偏好设置时使用仪器“文件事件”跟踪,但再次空手而归。

感谢任何帮助。

最佳答案

实际上有一个 Plist,信息存储在 com.apple.symbolichotkeys AppleSymbolicHotKeys 中,这是一个复杂的嵌套字典和列表:

$ defaults read com.apple.symbolichotkeys AppleSymbolicHotKeys
{
10 = {
enabled = 1;
value = {
parameters = (
65535,
96,
8650752
);
type = standard;
};
};
11 = {
enabled = 1;
value = {
parameters = (
65535,
97,
8650752
);
type = standard;
};
};
[...]
}

假设您想要以编程方式修改系统偏好设置 -> 键盘 -> 快捷方式选项卡 -> 应用程序快捷方式 -> 所有应用程序中的“显示帮助菜单”快捷方式。要找到正确的条目,请打印文本文件中的所有 Plist,请修改系统偏好设置中的快捷方式,再次打印第二个文件中的 Plist 并比较它们:

$ defaults read com.apple.symbolichotkeys AppleSymbolicHotKeys > 1
$ # modify System Preferences
$ defaults read com.apple.symbolichotkeys AppleSymbolicHotKeys > 2
$ diff -U 5 1 2
--- 1 2019-05-27 23:37:58.000000000 -0300
+++ 2 2019-05-27 23:38:24.000000000 -0300
@@ -5063,13 +5063,13 @@
};
98 = {
enabled = 1;
value = {
parameters = (
- 32,
- 49,
- 524288
+ 105,
+ 34,
+ 655360
);
type = standard;
};
};
};

因此要修改的条目是 98,因为它是一个复杂的结构,您必须使用 /usr/libexec/PlistBuddy 来完成它:

# Set "alt + Space" as shortcut for "Help menu"
/usr/libexec/PlistBuddy -c "Delete :AppleSymbolicHotKeys:98:value:parameters" ~/Library/Preferences/com.apple.symbolichotkeys.plist
/usr/libexec/PlistBuddy -c "Add :AppleSymbolicHotKeys:98:value:parameters array" ~/Library/Preferences/com.apple.symbolichotkeys.plist
/usr/libexec/PlistBuddy -c "Add :AppleSymbolicHotKeys:98:value:parameters: integer 32" ~/Library/Preferences/com.apple.symbolichotkeys.plist
/usr/libexec/PlistBuddy -c "Add :AppleSymbolicHotKeys:98:value:parameters: integer 49" ~/Library/Preferences/com.apple.symbolichotkeys.plist
/usr/libexec/PlistBuddy -c "Add :AppleSymbolicHotKeys:98:value:parameters: integer 524288" ~/Library/Preferences/com.apple.symbolichotkeys.plist
/usr/libexec/PlistBuddy -c "Delete :AppleSymbolicHotKeys:98:enabled" ~/Library/Preferences/com.apple.symbolichotkeys.plist
/usr/libexec/PlistBuddy -c "Add :AppleSymbolicHotKeys:98:enabled bool true" ~/Library/Preferences/com.apple.symbolichotkeys.plist

注意:

  • 我必须删除 bool 参数才能修改它
  • 必须重新启动计算机才能应用更改

关于macos - 以编程方式获取/设置 Macos 默认系统键盘快捷键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/823705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com