Как я могу программировать функциональные клавиши на своем MacBook?

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

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

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

  1. Запуск XCode
  2. Откройте некоторый определенный проект

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

5
задан 19.01.2010, 16:32

3 ответа

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

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

    on run {input, parameters}
    tell application "Safari"
    activate
    open location "http://superuser.com/"
    end tell
    return input
    end run

    enter image description here

  • Дополнительный: нажмите Кнопку запуска для тестирования.

  • Хит Cmd-S для сохранения. Имя, которое Вы вводите, будет именем в меню Services. Рабочий процесс будет сохранен в ~/Library/Services.

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

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


Присваивать сочетание клавиш, в 10,6:

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

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

Для присвоения функциональной клавиши существует две опции:

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

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

    • Найдите его шестнадцатеричный код клавиши: F1 = \UF704, F2 = \UF705..., F6 = \UF709, F7 = \UF70A, и т.д.
    • Префикс это с любой комбинацией @ для Команды, ^ для Ctrl, ~ для Опции, и $ для Сдвига.
    • Откройте Terminal. Если название службы Open Super User, затем для отображения того сервиса на F1 работайте:

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

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

        '{ "key_equivalent" = "@$\UF70F"; }'
      
    • Для подавания всех запущенных заявок, знающих об изменении, Вы сделали Терминал использования:

      • Близкие Установки системы, если это уже работало.
      • Найдите, что Вашему новому сервису в Установках системы» Клавиатура» область Keyboard Shortcuts нравится описанный выше.
      • Отключите и повторно позвольте его флажку подать каждую заявку, знающую об изменении.

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

8
ответ дан 07.12.2019, 17:03

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

2
ответ дан 07.12.2019, 17:03

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

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

1
ответ дан 07.12.2019, 17:03

Теги

Похожие вопросы