Як призначити ярлик клавіатури написаному вами AppleScript?


43

Як призначити ярлик клавіатури AppleScript? Я знайшов сценарій для автоматичного повернення до папки "Вхідні" в Office 2011.


1
Як вказується в цій відповіді, скорочення клавіатури, призначені через сервіси, не завжди відповідають.
Вільям

Відповіді:


48

Також це можливо без платних додатків сторонніх розробників!
1. Відкрийте Автоматизатор.
2. Зробіть нову швидку дію.
3. Переконайтеся, що він не отримує "жодного входу" для всіх програм.
4. Виберіть Запустити сценарій Apple і введіть свій код.
5. Збережіть!

Тепер перейдіть до системних налаштувань> клавіатура> ярлики. Виберіть Послуги на бічній панелі та знайдіть свою послугу. Додайте ярлик подвійним клацанням(none) .

Нарешті перейдіть до системних налаштувань> Безпека> Конфіденційність> Доступність і додайте Автоматизатор та бажаний додаток для запуску цього ярлика.


2
Останнє "Нарешті" є важливим - пропустіть його, і ви отримаєте заплутану діалогове вікно "Дія [...] зіткнулася з помилкою", просто пропонуючи вам Показати робочий процес, що, ймовірно, не робить вас розумнішим.
еманаут

Виявив, що останній крок відрізняється від моєї ОС mizage.com/help/accessibility.html#10.7
William

5
Що ви маєте на увазі під бажаним додатком?
Вільям

Було б добре, якби був спосіб автоматизувати крок "зараз go to System Preferences > Keyboard > Shortcuts. Select Services from the sidebar and find your service. Add a shortcut by double clicking (none)." Це повинно бути можливо, не маю уявлення, як все-таки ...
Sancarn

3
@ Як, якби ви писали AppleScript для в Finder, просто виберіть Автоматизатор і Finder у налаштуваннях Доступності.
MegaCookie

15

Підсумовуючи, вам потрібно буде скористатися:

  • Автоматизатор для створення служби, яка запускає Apple Script
  • Налаштування системи для призначення комбінації клавіш на клавіатурі

Нижче наведені кроки для кожного.

1. Створіть сервіс за допомогою Automator

  1. Запустити Автоматизатор (зазвичай знаходиться у папці Програми)
  2. Перейдіть у меню Файл> Створити
  3. Виберіть Сервіс та натисніть кнопку Вибрати
  4. У правій верхній частині вікна, що з’явиться, переконайтесь, що у спадному списку Служби надсилань вибрано "Немає даних"
  5. Переконайтеся, що в розкривному списку In відображається "Будь-яка програма"
  6. У другому стовпчику, що містить довгий список, знайдіть «Запустити AppleScript» і двічі клацніть по ньому
  7. Це додасть вікно Запустити AppleScript справа
  8. Тепер замініть (* Ваш скрипт йде *) на потрібний сценарій
  9. Збережіть послугу за допомогою значущого імені (наприклад, GoToInbox).

Тепер до наступного кроку.

2. Створення ярлика

  1. Перейдіть до системних налаштувань> клавіатура> ярлики
  2. Виберіть Послуги на бічній панелі
  3. Знайдіть свою послугу (вона буде в списку праворуч)
  4. Додайте ярлик, двічі клацнувши назву послуги
  5. Тепер перейдіть до Налаштування системи> Безпека та конфіденційність> Конфіденційність
  6. Виберіть Доступність на бічній панелі
  7. Клацніть на знаку + (можливо, вам потрібно буде розблокувати замок, якщо він заблокований)
  8. Додати Автоматизатор.
  9. Додати Finder (щоб знайти це, вам потрібно буде перейти до /System/Library/CoreServices/Finder.app ).
  10. Вийдіть із налаштувань системи.

Тепер ви повинні вміти робити дві речі:

1. Запустіть службу з будь-якого програми, перейшовши до списку служб у будь-якому меню програми (наприклад, Finder> Services, Safari> Services, TextEdit> Services тощо) та виберіть службу, яку ви тільки що створили.

2. Використовуйте комбінацію клавіш для запуску послуги.

ПРИМІТКА: Я знаю, що для деяких користувачів комбінації клавіш, здається, не працюють, навіть якщо вони були призначені для послуги. Це зовсім інша тема, але якщо це трапиться у вашому випадку, принаймні ви можете запустити послугу з будь-якої програми, яку ви використовуєте.

Дайте мені знати, як ви йдете.


1
Чому я повинен додати Finder вручну і в яких додатках це взагалі не працює? Здається, мені іноді доводиться запускати скрипт під сервіси, щоб змусити його зареєструватися, перш ніж він зареєструє комбінацію клавіш, що шкода.
Вільям

2
Так, проблему, про яку я згадував у своїй примітці наприкінці, часто (але не завжди) можна усунути спочатку запуск сервісу (а іноді достатньо лише доступу до меню Сервісів), перш ніж розпізнавання комбінації клавіш. Це надзвичайно дратівлива помилка, яка існує вже давно, і я, безумовно, рекомендую надіслати звіт про помилку в Apple . Що стосується того, чому ви повинні додавати Finder вручну , просто тому, що він не доданий за замовчуванням. Нарешті, я не зрозумів, що ви маєте на увазі під якими програмами взагалі це не працює ?
Мономет

Ігнорування мого запитання про те, що програма не працює в деяких додатках. З'являється запуск сценарію один раз у меню Сервіс, виправляє цю проблему, і ваше пояснення пояснює проблему, яка була у мене. Чому я повинен додати Automator Finder до списку Список доступності? Це, здається, не має значення для виконання команд (Це було моє основне питання)?
Вільям

Гарне питання! Якщо ви знайдете кроки 5–9 вище для створення ярлика для вас не потрібні, то це чудово. Однак я допомогла багатьом людям створити комбінації клавіш для запуску користувацьких скриптів і виявила, що включення цих кроків часто уникає повідомлення про помилку (не пам'ятайте, що це зараз або за яких обставин воно з’явиться). Можливо, я не повинен включати ці кроки за замовчуванням, але це те, що я роблю зараз уже декілька років (хоча точні кроки будуть відрізнятися залежно від вашої версії macOS - вище я включив кроки для El Capitan відповідно до вашої щедрість).
Мономет

Кроки від 5 до 9 повинні бути абсолютно непотрібними для призначення ярлика, хоча вони можуть знадобитися для безперебійного запуску сценарію, якщо він використовує функції автоматичного інтерфейсу користувача (імітовані клацання миші та натискання клавіш). Однак останній випадок - це зовсім інше питання; не слід поєднувати два питання, включивши ці кроки у свою відповідь.
kopischke

9

Ви не можете призначити ярлики клавіатури для AppleScripts поза полем. Однак ви можете:

  1. використовуйте пусковий апарат, який підтримує встановлення глобальних гарячих клавіш та виконання AppleScripts ( Альфред , Клавіатура Maestro , FastScripts - все, що вам захочеться), або
  2. введіть сценарій в запуск дії AppleScript всередині служби Automator . Зауважте, що це має бути служба, а не програма або звичайний робочий процес: сервісам можна призначити гарячі клавіші в налаштуваннях клавіатури System Preferences.

Просто виконайте кроки у відповіді @ MegaCookie .
kopischke

Якою версією ОС ви володієте, для мого Mac 10.6.5, мабуть, немає опції "Вибрати запуск сценарію Apple і введіть свій код"?
Вільям

1
Це не "Вибрати запуск AppleScript", це - як зазначалося у моїй відповіді - Запуск програми AppleScript, яку потрібно додати до служби Автоматизатор; просто перетягніть його в область дій з бібліотеки, щоб отримати текстове поле з функціональним каркасом, до якого ви можете додати свій код. Також я сумніваюся, що потрібні налаштування доступності у відповіді @ MegaCookie - вони стосуються автоматичного інтерфейсу користувача.
kopischke

3

Примітка. У macOS Mojave він був перейменований з "Сервіс" на "Швидка дія" в Automator.

  1. cmd+ spaceі введіть "автоматизатор"
  2. Виберіть: Файл> Створити
  3. Виберіть "Швидкі дії"
  4. Знайдіть у верхній частині лівого розділу "яблучний скрипт" або "оболонку" або "javascript"
  5. Перетягніть потрібну дію в правий бічний робочий процес
  6. Файл> Зберегти з потрібним іменем

Щоб додати натискання клавіші до робочого процесу:

  1. Відкрийте Налаштування системи
  2. Виберіть Клавіатура> Ярлики
  3. Виберіть Послуги ліворуч
  4. Знайдіть щойно створений сервіс та двічі клацніть на "немає", щоб додати ярлик клавіатури

Примітка: якщо ви не зробите це швидкою дією (наприклад, ви робите це "Workflow"), тоді список ярликів не виявить його.
Шрідхар Сарнобат

-2

Ви можете перейти до Налаштування системи -> Клавіатура -> Ярлики -> додати нову ярлик. Потім ви можете вибрати свій сценарій.

https://support.apple.com/kb/PH18418?locale=en_US


3
Це не спрацює. Документ, на який ви посилаєтесь, описує, як (повторно) призначити гарячу клавішу команді меню програми .
kopischke

Перервана посилання, Apple давно відключила цю функцію одним клацанням, замінивши її операцією в 90 кліків за участю сторонніх додатків.
Ерік Лещинський
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.