我想要這些鍵綁定:
- Cmd+ PageUp= 音量增大
- Cmd+ PageDown= 音量減少
我跟著這些說明:
建立 AppleScript 腳本工作正常,但無法在中設定Cmd+PageUp快捷方式系統偏好設定→鍵盤→快速方式→服務。
是否可以執行 AppleScript 腳本〜庫/KeyBindings/DefaultKeyBindings.dict?
答案1
這是非常可行的。關鍵是使用 Automator 從 AppleScript 建立服務。
- 啟動 Automator 並選擇“檔案”、“新建”,然後選擇服務。
- 設定接收服務“沒有輸入”從“任何應用程式”。
- 從操作中選擇運行AppleScript並將其拖到右側的工作區。
- 將腳本複製/貼上到編輯器中
- 使用適當的名稱保存服務。
- 啟動系統偏好設定、鍵盤和您使用的服務名稱將可用。
- 根據需要設定快捷方式。
唯一的其他方法可能是使用 Automator 創建一個運行 bash 腳本的服務,該腳本將調用ossascript your_script
.我不確定您如何調用該.dict
文件來完成您想要的任務。
答案2
在執行服務(或不作為服務運行的 AppleScript 腳本)之前通常會出現明顯的延遲,並且服務的鍵盤快捷鍵在沒有服務選單的應用程式中不可用。更好的選擇是使用私有.xml就像 Karabiner 一樣:
<?xml version="1.0"?>
<root>
<item>
<name>custom</name>
<identifier>custom</identifier>
<autogen>__KeyToKey__ KeyCode::PAGEUP, VK_COMMAND, ModifierFlag::NONE, KeyCode::VK_CONSUMERKEY_VOLUME_UP</autogen>
<autogen>__KeyToKey__ KeyCode::PAGEDOWN, VK_COMMAND, ModifierFlag::NONE, KeyCode::VK_CONSUMERKEY_VOLUME_DOWN</autogen>
</item>
</root>
, ModifierFlag::NONE
例如,如果沒有,第一個autogen
條目也會將選項+指令+向上翻頁變更為選項+音量向上。
若要以四分之一條為增量變更音量,請, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L
在 之前新增</autogen>
。
這會將右側選項鍵在按住時對應到額外的修飾鍵,在按下時對應到 F19,例如,在按住額外修飾鍵的同時按鍵盤 0 鍵會增加音量:
<?xml version="1.0"?>
<root>
<item>
<name>custom</name>
<identifier>custom</identifier>
<autogen>__KeyOverlaidModifier__ KeyCode::OPTION_R, KeyCode::VK_MODIFIER_EXTRA1, KeyCode::F19</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_1, ModifierFlag::EXTRA1, KeyCode::VK_CONSUMERKEY_BRIGHTNESS_DOWN</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_2, ModifierFlag::EXTRA1, KeyCode::VK_CONSUMERKEY_BRIGHTNESS_UP</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_6, ModifierFlag::EXTRA1, KeyCode::VK_CONSUMERKEY_MUSIC_PREV</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_7, ModifierFlag::EXTRA1, KeyCode::VK_CONSUMERKEY_MUSIC_PLAY</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_8, ModifierFlag::EXTRA1, KeyCode::VK_CONSUMERKEY_MUSIC_NEXT</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_9, ModifierFlag::EXTRA1, KeyCode::VK_CONSUMERKEY_VOLUME_DOWN, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_0, ModifierFlag::EXTRA1, KeyCode::VK_CONSUMERKEY_VOLUME_UP, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L</autogen>
</item>
</root>