5

Я хотел бы назначить основные задачи функциональным клавишам (или другим клавишам, если это проще) на моем MacBook. Например, я хотел бы, чтобы при нажатии клавиши F1 (или любой другой клавиши) происходило следующее:

  1. Запустить Safari
  2. Открыть новое окно
  3. Перейдите на какой-либо указанный сайт

Другой пример может быть:

  1. Запустить Xcode
  2. Откройте какой-то конкретный проект

Я экспериментировал с Automator для таких вещей, как переименование десятков файлов в определенном каталоге, но я не знаю, с чего начать для приведенных выше примеров.

3 ответа3

8

Это довольно легко сделать в OS X 10.6 Snow Leopard, создав новый сервис. Это не поддерживается в более ранних версиях OS X. Например:

  • Запуск приложений »Automator.
  • Выберите "Сервис" для шаблона нового рабочего процесса Automator.
  • В верхней части правой панели выберите «Служба не получает никакой информации ни в одном приложении ».
  • Перетащите действие "Запустить AppleScript" из левой панели в рабочий процесс на правой панели.
  • Заменить по умолчанию на:

    при запуске {вход, параметры} сообщить приложению "Safari" активировать открытое местоположение "http://superuser.com/"

  • Необязательно: нажмите кнопку "Выполнить" для проверки.

  • Нажмите Cmd-S, чтобы сохранить. Введенное вами имя будет именем в меню "Услуги". Рабочий процесс будет сохранен в ~/Library/Services .

Или, чтобы приложение по умолчанию открывало файл или местоположение :

  • Вместо перетаскивания действия "Запустить AppleScript" в рабочий процесс используйте "Выполнить сценарий оболочки".
  • Оставьте Shell по умолчанию "/bin/bash" и замените команду по умолчанию cat на:
    открыть "http://superuser.com"
    или же
    открыть "/Developer/Examples/OpenGL/Cocoa/CocoaGL/CocoaGL.xcodeproj"


Чтобы назначить сочетание клавиш, в 10.6:

  • Откройте Системные настройки »Клавиатура» Панель Сочетания клавиш.
  • Выберите "Услуги" в левой панели.
  • Прокрутите вниз до General в правой панели.
  • Дважды щелкните справа от рабочего процесса Automator, который вы только что создали.
  • Нажмите клавиши, которые вы хотите использовать (и, если применимо, удалите существующие ассоциации, если вы получите предупреждение "Ярлык используется другим действием"), и переключите панели, чтобы новый ярлык был сохранен.

К сожалению, кажется, что таким образом Службам нельзя назначить функциональную клавишу (клавиша отображается, но остается в "режиме редактирования", и при нажатии в другом месте она теряется, что отличается от назначения функциональных клавиш встроенным вещам, таким как Exposé, или при добавлении ярлыка приложения).

Чтобы назначить функциональную клавишу, есть две опции:

  1. Предположим, что большинство приложений имеют меню "Службы", и, следовательно, найдут имя так, как оно там отображается. Итак, если сервис называется "Открыть суперпользователя", сопоставьте пункт меню "Услуги" "Открыть суперпользователя":

    • Откройте Системные настройки »Клавиатура» Панель Сочетания клавиш.
    • Выберите "Ярлыки приложений" на левой панели.
    • Выберите "Все приложения" в правой панели.
    • Добавьте запись для точного имени "Open Super User" и назначьте некоторую функциональную клавишу.
  2. Или используйте командную строку:

    • Найдите его шестнадцатеричный код: F1 = \UF704 , F2 = \UF705 , ..., F6 = \UF709 , F7 = \UF70A и т. Д.
    • Добавьте префикс к любой комбинации @ для Command, ^ для Ctrl, ~ для Option и $ для Shift.
    • Откройте Терминал. Если сервис называется Open Super User , то для сопоставления сервиса с F1 выполните:

      defaults write pbs NSServicesStatus -dict-add \
        '"(null) - Open Super User - runWorkflowAsService"' \
        '{ "key_equivalent" = "\UF704"; }'
      

      Или для Command-Shift-F12:

        '{ "key_equivalent" = "@$\UF70F"; }'
      
    • Чтобы все работающие приложения знали о внесенных вами изменениях с помощью терминала:

      • Закройте Системные настройки, если он уже запущен.
      • Найдите свой новый сервис в Системных настройках »Клавиатура» Панель "Сочетания клавиш", как описано выше.
      • Отключите и снова включите его флажок, чтобы все приложения знали об изменениях.

Должна быть версия AppleScript, но я не эксперт ... Кто-нибудь?

2

Вы можете использовать FastScripts для назначения сочетаний клавиш для AppleScripts или действий Automator.

1

Я не верю, что в Mac OS X есть способ сделать это, не прибегая к сторонним приложениям.

Quicksilver является одним из этих сторонних приложений, и в Quicksilver есть отличное руководство по настройке триггеров. С помощью Quicksilver вы можете настроить его так, чтобы активировать любую программу, которую вы хотите активировать, и даже запускать внешние сценарии, которые затем выполняют такие действия, как сценарии Automator.

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