Zautomatyzuj sekwencję naciśnięć klawiszy w komputerze Mac

10

Chcę zautomatyzować długą sekwencję naciśnięć klawiszy, które muszę pisać za każdym razem, gdy korzystam z określonej strony internetowej. Jak mogę to zrobić w Mac OS X. Wypróbowałem Automator. Nagrywam sekwencję, ale po uruchomieniu mam błąd:

Działanie „Watch Me Do” napotkało błąd.

Sprawdź właściwości akcji i spróbuj ponownie uruchomić przepływ pracy.

Daniel Cukier
źródło

Odpowiedzi:

14

Aby to zrobić, utworzyłem przepływ pracy automatyzatora z obiektem Run AppleScript o następującej treści:

on run {input, parameters}

tell application "Google Chrome" to activate

tell application "System Events"
    keystroke "A"
    keystroke "B"
    keystroke "C"
end tell

return input
 end run

To działało dobrze dla mnie

Daniel Cukier
źródło
2
W systemie OS X El Capitan wystąpił błąd podczas dołączania pierwszej i ostatniej linii. Usunięcie ich spowodowało, że skrypt działał poprawnie.
Eneko Alonso,
3

Oprócz pisania własnego skryptu, Keyboard Maestro może służyć do komponowania sekwencji klawiszy takich jak ten.

Matthew Shanley
źródło
1
Użyłem Keyboard Maestro - doskonały produkt i świetne wsparcie!
JESii,
2

Możesz utworzyć makro za pomocą aplikacji takich jak Keyboard Maestro , iKey lub QuicKeys . Wiele z nich obsługuje także coś takiego jak szybkie makra w Keyboard Maestro. Możesz nacisnąć ⌃F1, aby rozpocząć lub zatrzymać nagrywanie makra, a następnie odtworzyć je za pomocą ⌥F1.

Możesz także emulować naciśnięcia klawiszy za pomocą AppleScript. Opóźnienie przy uruchomieniu nie jest potrzebne, jeśli skrypt jest uruchamiany za pomocą FastScripts .

delay 0.5 -- if the script is run with a shortcut that has modifier keys
activate application "TextEdit"
tell application "System Events"
    keystroke "aa"
    key code 123 using {shift down, command down}
end tell

keystrokeKomenda może być używana tylko wstawić znaki, które są zawarte w bieżącym układ klawiatury. Jeśli tekst jest wystarczająco długi, widoczne jest również opóźnienie po jego wstawieniu.

Innym sposobem wstawiania tekstu jest użycie schowka:

set the clipboard to "aa"
delay 0.05
tell application "System Events" to keystroke "v" using command down
Lri
źródło
0

Możesz także spojrzeć na iKey i QuicKeys . Nie sądzę, że którykolwiek z nich zrobi więcej niż Automator / AppleScript w tym przypadku, ale w przeciwnym razie mogą być przydatne.

wfaulk
źródło
0

Niestety nie można dodać funkcji kliknięcia myszką w żadnym z nich ani w przepływie pracy. Nawet applecript ma trudności z implementacją kliknięcia myszą w aplikacji.

S Louie
źródło