如何以编程方式重新分配OSX中的密钥?

时间:2015-11-12 19:40:36

标签: macos keyboard-shortcuts key-bindings

是否有一种简单的方法可以在OSX El Capitan中将一次按键重新映射到另一次?

我想将 F13 分配给⇧⌥⌘4。 (我使用了一个名为Imgup的小应用程序,这是上传屏幕截图的按键。)

This answer建议使用Keyboard Maestro。但我已经在运行Karabiner和USB Overdrive,所以我对安装更多软件犹豫不决。

我正在浏览Karabiner中的选项,我不知道如何将一个按键重新映射到另一个按键,显然"将屏幕截图上传到Imgur"不是选择之一,因为它不是系统命令。此外,我无法使用"应用程序快捷方式"因为在Imgup中没有这个动作的菜单项。

是否有一种在Karabiner中编写XML片段的简单格式可以实现这一点?像这样的东西?

<item>
<name>F13 to ⇧⌥⌘4</name>
<key><f13>
<definition>4 with Command AND Option and Shift down</definition>
</item>

2 个答案:

答案 0 :(得分:1)

对不起,我迟到了,但是这里有怎么做:

  1. 打开Automator
  2. 创建服务
  3. 类型的新文档
  4. 在右侧窗格的顶部,更改&#34;服务接收选定的 [文字] &#34;到&#34;服务接收 [无输入] &#34;在 [任何应用程序]
  5. 在左侧窗格中,找到运行AppleScript 并将其拖到右侧窗格中的空白区域
  6. 删除AppleScript框中已有的所有内容,然后将其复制并粘贴到:

    on run {input, parameters}
    
        tell application "System Events"
            key code 21 using {command down, option down, shift down}
        end tell
    
        return input
    end run
    
  7. 使用窗口右上角的播放按钮运行服务,以确保它能够满足您的需求。

  8. 使用您喜欢的标题保存服务。这将使其在整个系统范围内可用。

    现在是快捷时间。

  9. 打开系统偏好设置&gt;键盘&gt;快捷方式,然后在左侧窗格中选择服务

  10. 向下滚动到底部以查找新创建的服务条目,并通过选择右侧的单词 none 来添加快捷方式。在您的情况下,您可以在键盘上按 F13 键。
  11. 将焦点切换到任何其他应用程序(例如,Finder)并为新的快捷方式提供一个镜头。
  12. 利润

答案 1 :(得分:0)

Karabiner-Elements 11.6.0在MacOSX 10.11 El Capitan和更高版本中将 F13 映射到⇧⌥⌘4

{"title": "Imgup F13 to ⇧⌥⌘4",
 "rules": [
   {"description": "Imgup F13 to ⇧⌥⌘4.",
    "manipulators": [
      {"type": "basic",
       "from": {"key_code": "f13"},
       "to": [{"key_code": "4", "modifiers": ["shift", "option", "command"]}]}]}]}

Karabiner-Elements> Window> Karabiner-Elements Preferences> Complex Modifications> Rules> Add启用的文件,例如〜/ .config / karabiner / assets / complex_modifications / imgup.json 规则