Come usare Terminal per inviare i tasti?


12

C'è un modo per Terminal di simulare la pressione di più tasti contemporaneamente? Ad esempio, Maiusc + Ctrl + R?

Sto sshentrando in OS X da un client Windows (PuTTY) e mi chiedo se ho bisogno di configurare il client o esiste un modo nativo per OS X per emulare questi comandi sul lato ricevente.


Si tratta di utilizzare il terminale per inviare le scorciatoie da tastiera. In particolare, devo inviare ctrl + opt + shift + e. Devo farlo senza AppleScript, poiché proviene da un computer Windows, utilizzando quello che presumo sia una specie di simulatore di terminale o SSH di cmd.
user84019

AppleScript funziona su SSH utilizzando JavaScript. La risposta di seguito è completamente funzionale su SSH a condizione che sia presente una GUI sulla macchina OS X.
GRG

Risposte:


8

È possibile utilizzare AppleScript sul terminale:

osascript -e 'tell application "System Events" to keystroke "r" using {control down, shift down}'

Quando lo provo, ottengo solo una nuova riga con ">"?
user84019

È specifico del programma? Ad esempio, se voglio digitare "E" in TextEdit, dovrei digitare "osascript -e 'dire all'applicazione" Eventi di sistema "di digitare" e "usando {shift down}'"?
user84019

2
Ok, sto provando a digitare ctrl + opt + shift + e, e ho "osascript -e 'dire all'applicazione" Eventi di sistema "di premere" e "usando {control down, shift down, option down}'" ma mi dice "48:55: errore di sintassi: un identificatore non può seguire questo" "". (-2740) "
user84019

I tasti vengono immessi esattamente come sarebbero se fossero digitati manualmente; non sono specifici per ciascuna applicazione. Se vuoi inserire una sequenza di tasti all'interno di un'applicazione, usa `osascript -e 'per dire all'applicazione" AppName "per attivare'. Questo avvierà l'applicazione se non è già aperta e porta anche in primo piano (cioè il suo nome appare nella barra dei menu). È quindi possibile utilizzare il codice @grg fornito nella sua risposta sopra.
Peter Schorn,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.