Como usar o Terminal para enviar pressionamentos de tecla?

12

Existe uma maneira do Terminal simular o pressionamento de várias teclas ao mesmo tempo? Por exemplo, Shift + Ctrl + R?

Estou sshentrando no OS X a partir de um cliente Windows (PuTTY) e estou pensando se preciso configurar o cliente ou se existe uma maneira nativa do OS X emular esses comandos no terminal de recebimento.

user84019
fonte
Trata-se de usar o terminal para enviar atalhos de teclado. Especificamente, preciso enviar ctrl + opt + shift + e. Preciso fazer isso sem o AppleScript, como é de um computador Windows, usando o que presumo ser algum tipo de simulador de terminal ou SSH do cmd.
User84019
AppleScript trabalha sobre SSH usando osascript. A resposta abaixo é totalmente funcional sobre SSH, desde que uma GUI esteja presente na máquina OS X.
grg

Respostas:

8

Você pode usar AppleScript no terminal:

osascript -e 'tell application "System Events" to keystroke "r" using {control down, shift down}'
grg
fonte
Quando tento isso, recebo uma nova linha com ">"?
user84019
É programa específico? Por exemplo, se eu quiser digitar "E" no TextEdit, digite "osascript -e 'diga ao aplicativo" System Events "para pressionar a tecla" e "usando {shift down}'"?
precisa saber é o seguinte
2
Ok, estou tentando digitar ctrl + opt + shift + e, e tenho "osascript -e 'diga ao aplicativo" System Events "para pressionar" e "usando {control down, shift down, option down}'", mas me diz "48:55: erro de sintaxe: um identificador não pode seguir esse" "". (-2740) "
user84019 01/07/19
As teclas são inseridas exatamente como seriam se fossem digitadas manualmente; eles não são específicos para cada aplicativo. Se quiser digitar um pressionamento de tecla em um aplicativo, use `osascript -e 'diga ao aplicativo" AppName "para ativar'. Isso iniciará o aplicativo se ele ainda não estiver aberto e também o trará em primeiro plano (ou seja, o nome será exibido na barra de menus). Você pode usar o código @grg fornecido na resposta acima.
precisa
3

a ferramenta cliclick shell é bastante impressionante. envia pressionamentos de tecla, cliques, todo tipo de coisa

https://github.com/BlueM/cliclick

boulder_ruby
fonte
boulder_ruby - uma excelente solução, ótima referência. Você é o cliclickautor?
Johnny Utahh
@JohnnyUtahh que é um negativo, apenas um nerd obcecado com a automação
boulder_ruby