Как сопоставить команду терминала с функциональной клавишей?

У меня есть команда терминала, которая может управлять яркостью моего внешнего дисплея. Я пытаюсь сопоставить эту команду с клавишей на клавиатуре, чтобы она работала как клавиша «увеличение яркости» и «уменьшение яркости».

Karabiner не поддерживает сопоставление клавиш с командами терминала.

Ответы (2)

Я бы использовал Automator для запуска сценария оболочки, а затем добавил бы сочетание клавиш для его запуска.

Сделать это:

  1. Открыть автоматизатор
  2. Нажмите commandN(или выберите «Файл» > «Создать»).
  3. Выберите опцию «Сервис» и нажмите на Chooseкнопку
  4. Убедитесь, что он настроен на отсутствие ввода ни в одном приложении.
  5. На самой левой панели выберите параметр «Библиотека» > «Утилиты».
  6. На средней панели дважды щелкните действие «Выполнить сценарий оболочки».
  7. Теперь введите команду терминала в окне «Выполнить сценарий оболочки» на правой панели.
  8. Нажмите commandS(или выберите Файл > Сохранить...)
  9. Дайте службе подходящее имя
  10. Нажмите на Saveкнопку
  11. Теперь перейдите в Apple > Системные настройки... > Клавиатура.
  12. Выберите вкладку «Ярлыки» .
  13. Выберите Службы на левой панели.
  14. Найдите и выберите службу, которую вы только что создали, в списке справа.
  15. Нажмите на Add Shortcutкнопку и нажмите сочетание клавиш, которое вы хотите использовать

ПРИМЕЧАНИЕ. Вам нужно будет убедиться, что это не ярлык, который уже используется в macOS.

Karabiner Elements делает то же самое с гораздо меньшими усилиями. с.т. Например, {"shell_command": "open -a 'Alfred 3.app'"} действительно прост, определение ярлыка выполняется в мгновение ока.

Я использую элементы-карабины, чтобы сделать именно это на мониторе Dell, вы можете привязать нажатия клавиш к командам оболочки:

{
"title": "F5 to dim, F6 to bright",
"rules": [
    {
        "manipulators": [
            {
              "description": "dim",
              "type": "basic",
              "from": {
                "key_code": "f5"
              },
              "to": [
                {
                    "shell_command": "/usr/local/bin/ddcctl -d 1 -b 1"
                }
              ]
            },
            {
                "description": "bright",
                "type": "basic",
                "from": {
                  "key_code": "f6"
                },
                "to": [
                  {
                      "shell_command": "/usr/local/bin/ddcctl -d 1 -b 100"
                  }
                ]
              }
          ]
    }
]

}

(У меня установлен ddctl, который позволяет управлять яркостью, передавая ему процентное значение — https://github.com/kfix/ddcctl )

Вы можете проверить документы для написания ваших сложных модификаций, таких как этот: https://pqrs.org/osx/karabiner/json.html

Ты потрясающий 🥳 не понял, что мне нужно было указать полный путь к бинарному файлу, потому что он, вероятно, не имеет их в PATH 😅 🚀