Come tradurre questi comandi in AppleScript

0

Non sono molto esperto di tecnologia e ho appena sentito parlare di AppleScript che può automatizzare alcune semplici operazioni di digitazione per me. Voglio solo digitare continuamente un ciclo. Qualcuno potrebbe aiutarmi a tradurre le istruzioni di seguito in un ciclo AppleScript? Lo apprezzo molto!

click the right arrow key
delay 2 seconds
type "l"
delay 2 seconds
type "c"
delay 2 seconds
type "cool!"
delay 2 seconds
hit return
delay 2 seconds
hit escape
delay 2 seconds
repeat this whole thing

Qualcuno può aiutarmi con quello? Ulteriori informazioni di base: Sono già nel programma quindi non ho bisogno di questo per aprirlo per me. Ho solo bisogno dello script per andare immediatamente a destra e quindi iniziare a digitare.

Per favore aiuto! Grazie mille!

    
posta James 29.03.2017 - 06:56
fonte

2 risposte

1

Prima di tutto, fai attenzione a questo genere di cose. L'automazione del sistema che utilizza qualcosa come una tastiera virtuale come questa può portare a sfortunati effetti collaterali se si finisce per inviare i tratti chiave a un target non desiderato.

Tuttavia, qui:

repeat
    tell application "TextEdit"
        activate
        tell application "System Events" to key code 124
        delay 2
        tell application "System Events" to keystroke "l"
        delay 2
        tell application "System Events" to keystroke "c"
        delay 2
        tell application "System Events" to keystroke "cool!"
        delay 2
        tell application "System Events" to keystroke return
        delay 2
        tell application "System Events" to key code 53
        delay 2
    end tell
end repeat

Analizziamo questo codice:

In primo luogo, stiamo facendo una semplice ripetizione senza fine. Questa non è una buona idea, ma tu l'hai chiesta e questo è ciò che ottieni. Se desideri un numero limitato di volte, puoi aggiungere # times dopo repeat . Es .: repeat 3 times . Ci sono molte altre metodologie a repeat oltre questa risposta.

Quindi creerai un blocco tell e activate dell'applicazione a cui stai inviando questi comandi. Se non lo fai, invierai le sequenze di tasti a chiunque sia l'applicazione attiva in quel momento.

Quindi eseguirai una serie di applicazioni "System Events" che emulano un tasto e ritardano il conteggio. delay accetta decimali e numeri interi per numero di secondi. Nota che per Freccia destra ed Escape ho usato key code 124 e key code 53 rispettivamente. L'elenco dei codici chiave può essere trovato in varie località online con una ricerca di Google per "codici chiave applecript". Ecco uno attuale al momento in cui è stata scritta questa risposta: link

Infine, si termina il blocco tell , non si invia più AppleScript a "TextEdit" e quindi si termina il blocco repeat .

    
risposta data 29.03.2017 - 08:12
fonte
0

Senza l'intero script (e il contesto dietro questo) è un po 'difficile essere sicuri di una risposta, specialmente quella efficiente .

Tuttavia, qui sotto è qualcosa che potrebbe aiutare (anche se non sono di fronte a un computer in questo momento che posso testarlo con):

tell application "System Events" to keystroke (key code 124) -- right
delay 2
tell application "System Events" to keystroke "1"
delay 2
tell application "System Events" to keystroke "c"
delay 2
tell application "System Events" to keystroke "cool!"
delay 2
-- simulate pressing the Return/Enter key
tell application "System Events" to keystroke (key code 36)
delay 2
-- simulate pressing the ESC key
tell application "System Events" to keystroke (key code 53)
delay 2

Ora, a seconda dello script generale potresti non aver bisogno di tutte le tell application "System Events" to lines.

Inoltre, ogni chiave ha un carattere, un codice ASCII, un codice esadecimale e un codice decimale. Ho cercato di commentare lo script precedente per spiegare a cosa corrispondono i codici chiave (ad esempio, il codice tasto 53 si riferisce al codice decimale per il tasto ESC).

Fammi sapere come va.

    
risposta data 29.03.2017 - 08:08
fonte

Leggi altre domande sui tag