Jak przypisać skrót klawiaturowy do napisanego kodu AppleScript?

43

Jak przypisać skrót klawiaturowy do AppleScript? Znalazłem skrypt do automatycznego powrotu do skrzynki odbiorczej w pakiecie Office 2011.

Tomek
źródło
1
Jak wskazano w tej odpowiedzi, skróty klawiaturowe przypisywane za pośrednictwem usług nie zawsze są spójne.
William

Odpowiedzi:

48

Jest to również możliwe bez płatnych aplikacji innych firm!
1. Otwórz Automator.
2. Wykonaj nową szybką akcję.
3.Upewnij się, że we wszystkich programach nie odbiera.
4. Wybierz Uruchom skrypt Apple i wpisz swój kod.
5. Zapisz!

Teraz przejdź do Preferencji systemowych> Klawiatura> Skróty. Wybierz Usługi z paska bocznego i znajdź swoją usługę. Dodaj skrót, klikając dwukrotnie (none).

Na koniec przejdź do Preferencji systemowych> Bezpieczeństwo> Prywatność> Dostępność i dodaj Automator i preferowaną aplikację, aby uruchomić skrót.

MegaCookie
źródło
2
To ostatnie „Wreszcie” jest ważne - przegap go, a pojawi się mylące okno dialogowe „Działanie [...] napotkało błąd”, po prostu oferując Pokaż przepływ pracy, prawdopodobnie nie czyniąc cię mądrzejszym.
ecmanaut
Odkryłem problem, że ostatni krok jest inny na moim systemie operacyjnym mizage.com/help/accessibility.html#10.7
William
5
Co rozumiesz przez preferowaną aplikację?
William
Byłoby miło, gdyby istniał sposób na zautomatyzowanie kroku „teraz go to System Preferences > Keyboard > Shortcuts. Select Services from the sidebar and find your service. Add a shortcut by double clicking (none).” To musi być możliwe, nie mam pojęcia jak…
Sancarn
3
@ William, tak jakbyś napisał AppleScript dla Findera, po prostu wybierz zarówno Automatora, jak i Findera w ustawieniach dostępności.
MegaCookie
15

Podsumowując, będziesz musiał użyć:

  • Automator, aby utworzyć usługę uruchamiającą skrypt Apple
  • Preferencje systemowe, aby przypisać skrót klawiaturowy do usługi

Poniżej znajdują się kroki dla każdego z nich.

1. Utwórz usługę za pomocą Automatora

  1. Uruchom Automator (zwykle znajduje się w folderze Aplikacje)
  2. Przejdź do Plik> Nowy
  3. Wybierz usługę i kliknij Wybierz
  4. W prawym górnym rogu okna, które się pojawi, upewnij się, że z listy rozwijanej Usługa wybrano opcję „Brak danych wejściowych”
  5. Upewnij się, że na liście rozwijanej W widnieje „Dowolna aplikacja”
  6. W drugiej kolumnie zawierającej długą listę znajdź „Uruchom AppleScript” i kliknij go dwukrotnie
  7. Spowoduje to dodanie okna Uruchom AppleScript po prawej stronie
  8. Teraz zamień (* Twój skrypt idzie tutaj *) na skrypt, który chcesz
  9. Zapisz usługę, używając sensownej nazwy (np. GoToInbox).

Teraz do następnego kroku.

2. Tworzenie skrótu

  1. Wybierz Preferencje systemowe> Klawiatura> Skróty
  2. Wybierz Usługi z paska bocznego
  3. Znajdź swoją usługę (będzie na liście po prawej stronie)
  4. Dodaj skrót, klikając dwukrotnie nazwę usługi
  5. Teraz przejdź do Preferencji systemowych> Bezpieczeństwo i prywatność> Prywatność
  6. Wybierz Ułatwienia dostępu na pasku bocznym
  7. Kliknij znak + (może być konieczne odblokowanie kłódki, jeśli jest zamknięta)
  8. Dodaj Automator.
  9. Dodaj Finder (aby to znaleźć, musisz przejść do /System/Library/CoreServices/Finder.app ).
  10. Wyjdź z Preferencji systemowych.

Teraz powinieneś być w stanie zrobić dwie rzeczy:

1. Uruchom usługę z dowolnej aplikacji, przechodząc do listy usług w dowolnym menu aplikacji (np. Finder> Usługi, Safari> Usługi, TextEdit> Usługi itp.) I wybierz właśnie utworzoną usługę.

2. Użyj skrótu klawiaturowego, aby uruchomić usługę.

UWAGA: Zdaję sobie sprawę, że dla niektórych użytkowników skróty klawiaturowe wydają się nie działać, mimo że zostały przypisane do usługi. Jest to zupełnie inny temat, ale jeśli tak się stanie, przynajmniej możesz uruchomić usługę z poziomu dowolnej aplikacji, z której korzystasz.

Daj mi znać jak ci idzie.

Monomeeth
źródło
1
Dlaczego muszę dodawać wyszukiwarkę ręcznie i na jakich aplikacjach to w ogóle nie działa? Wydaje się, że czasami muszę uruchomić skrypt w ramach usług, aby go zarejestrować, zanim zarejestruje skrót klawiaturowy, co jest wstydem.
William
2
Tak, mam problem, o którym mowa w mojej nocie na końcu często (ale nie zawsze) zostać usunięte przez pierwszego uruchomienia usługi (a czasem po prostu dostępu do menu Usługi wystarczy) przed skrótu klawiatury będą rozpoznawane. Jest to bardzo irytujący błąd, który istnieje już od dłuższego czasu i zdecydowanie polecam wysłanie raportu o błędzie do Apple . Jeśli chodzi o to, dlaczego musisz dodać Findera ręcznie , po prostu dlatego, że nie jest dodawany domyślnie. Wreszcie, nie rozumiem, co masz na myśli, przez jakie aplikacje to ogólnie nie działa ?
Monomeeth
Ignorowanie mojego pytania o niedziałanie aplikacji w niektórych aplikacjach. Wygląda na to, że uruchomienie skryptu raz w menu Serwis rozwiązuje ten problem, a wyjaśnienie wyjaśnia problem, który miałem. Dlaczego muszę dodać Automator Finder na liście Lista ułatwień dostępu, wydaje się, że nie robi to różnicy przy uruchamianiu poleceń (to było moje podstawowe pytanie)?
William
Dobre pytanie! Jeśli okaże się, że kroki od 5 do 9 powyżej, aby utworzyć skrót, nie są dla Ciebie konieczne, to świetnie. Pomogłem jednak wielu osobom tworzyć skróty klawiaturowe do uruchamiania niestandardowych skryptów i odkryłem, że wykonanie tych kroków często pozwala uniknąć komunikatu o błędzie (nie pamiętam, co to jest teraz ani w jakich okolicznościach się pojawi). Być może nie powinienem domyślnie uwzględniać tych kroków, ale to właśnie robiłem od kilku lat (chociaż dokładne kroki będą się różnić w zależności od wersji systemu macOS - powyżej podałem kroki dla El Capitan zgodnie z Twoim hojność).
Monomeeth
Kroki od 5 do 9 powinny być całkowicie niepotrzebne do przypisania skrótu, choć mogą być potrzebne do płynnego działania uruchamianego skryptu, jeśli korzysta on z funkcji automatyzacji interfejsu użytkownika (symulowane kliknięcia myszą i naciśnięcia klawiszy). Jednak ten ostatni przypadek jest zupełnie inną kwestią; nie powinieneś łączyć dwóch problemów, włączając te kroki w swojej odpowiedzi.
kopischke
9

Nie można przypisywać skrótów klawiaturowych do skryptów AppleScript po wyjęciu z pudełka. Możesz jednak:

  1. użyj programu uruchamiającego, który obsługuje ustawianie globalnych skrótów klawiszowych i wykonywanie AppleScripts ( Alfred , Keyboard Maestro , FastScripts - cokolwiek ci się podoba), lub
  2. umieść skrypt w akcji Uruchom AppleScript w usłudze Automator . Pamiętaj, że musi to być usługa, a nie aplikacja lub zwykły przepływ pracy: usługom można przypisać skróty klawiszowe w ustawieniach klawiatury Preferencji systemowych.
kopischke
źródło
Wystarczy postępować zgodnie z instrukcjami w odpowiedzi na @ MegaCookie .
kopischke
Jakiej wersji systemu operacyjnego posiadasz mój Mac 10.6.5 nie wydaje się mieć opcji „Wybierz Uruchom skrypt Apple i wpisz swój kod”?
William
1
To nie jest „Wybierz Uruchom AppleScript”, to - jak zauważono w mojej odpowiedzi - działanie Uruchom AppleScript, które musisz dodać do usługi Automator; po prostu przeciągnij go do obszaru akcji z biblioteki, która da ci pole tekstowe z rusztowaniem funkcyjnym, do którego możesz dodać swój kod. Wątpię też, czy potrzebne są ustawienia dostępności w odpowiedzi @ MegaCookie - dotyczą one automatyzacji interfejsu użytkownika.
kopischke
3

Uwaga: w systemie macOS Mojave przemianowano go z „Service” na „Quick Action” w Automatorze.

  1. cmd+ spacei wpisz „automator”
  2. Wybierz: Plik> Nowy
  3. Wybierz „Szybkie działania”
  4. Wyszukaj w górnej części lewej sekcji słowa „applecript”, „shellscript” lub „javascript”
  5. Przeciągnij pożądane działanie do przepływu pracy po prawej stronie
  6. Plik> Zapisz z żądaną nazwą

Aby dodać naciśnięcie klawisza do przepływu pracy:

  1. Otwórz Preferencje systemowe
  2. Wybierz Klawiatura> Skróty
  3. Wybierz Usługi po lewej stronie
  4. Znajdź nowo utworzoną usługę i kliknij dwukrotnie „brak”, aby dodać skrót klawiaturowy
spencer.sm
źródło
Uwaga: jeśli nie zmienisz go w Szybkie działanie (np. Zmienisz go w „Przepływ pracy”), lista skrótów go nie wykryje.
Sridhar Sarnobat
-2

Możesz przejść do Preferencji systemowych -> Klawiatura -> Skróty -> dodaj nowy skrót. Następnie możesz wybrać skrypt.

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

Arecibo
źródło
3
To nie zadziała. Dokument, do którego prowadzi łącze, opisuje, w jaki sposób (ponownie) przypisać skrót klawiszowy do polecenia menu aplikacji .
kopischke
Zepsuty link, Apple już dawno wyłączyło tę funkcję jednym kliknięciem, zastępując ją operacją 90-kliknięcia obejmującą aplikacje innych firm.
Eric Leschinski