Я хотел бы эти сочетания клавиш:

Cmd+PageUp = volumeUp
Cmd+PageDown = volumeDown

Я следовал этим инструкциям:

создание AppleScript работало нормально, но невозможно установить ярлык Cmd+PageUp в SystemPreferences -> Keyboard -> Shortcuts -> Services.

скрипт настройки

Можно ли запустить AppleScript из ~Library/KeyBindings/DefaultKeyBindings.dict?

2 ответа2

0

Зачастую выполняется заметная задержка перед запуском службы (или сценария AppleScript, который не запускается как служба), и сочетания клавиш для служб недоступны в приложениях, в которых нет меню служб. Лучшим вариантом является использование private.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>
0

Это очень выполнимо. Ключ заключается в создании службы из вашего AppleScript с помощью Automator.

  1. Запустите Automator и выберите "Файл", "Новый", а затем выберите « Сервис».
  2. Установите службу, чтобы получать "нет ввода" от "любого приложения".
  3. В меню "Действия" выберите « Запустить AppleScript» и перетащите его в рабочую область справа.
  4. Скопируйте / вставьте ваш скрипт в редактор
  5. Сохраните сервис с соответствующим именем.
  6. Запустите Системные настройки, Клавиатуру и название используемой вами службы.
  7. Установите свой ярлык по желанию.

Единственным другим методом может быть использование Automator для создания службы, которая запускает скрипт bash, который будет вызывать ossascript your_script . Я не уверен, как бы вы назвали файл .dict чтобы получить то, что вы хотите достичь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .