Как использовать терминал для отправки нажатий клавиш?

12

Есть ли способ для терминала имитировать нажатие нескольких клавиш одновременно? Например, Shift + Ctrl + R?

Я sshвхожу в OS X из клиента Windows (PuTTY) и мне интересно, нужно ли мне настраивать клиент или есть собственный способ OS X для эмуляции этих команд на принимающей стороне.

user84019
источник
Речь идет об использовании терминала для отправки сочетаний клавиш. В частности, мне нужно отправить Ctrl + Opt + Shift + E. Мне нужно сделать это без AppleScript, как это делается с компьютера Windows, используя то, что я предполагаю, что-то вроде симулятора терминала, или SSH из cmd.
user84019
AppleScript работает через SSH, используя osascript. Приведенный ниже ответ полностью функциональн по SSH, если на компьютере с OS X присутствует графический интерфейс.
grg

Ответы:

8

Вы можете использовать AppleScript на Терминале:

osascript -e 'tell application "System Events" to keystroke "r" using {control down, shift down}'
Grg
источник
Когда я пытаюсь это сделать, я просто получаю новую строку с ">"?
user84019
Это конкретная программа? Например, если я хочу ввести «E» в TextEdit, я бы набрал «osascript -e», чтобы сообщить приложению «Системные события» о нажатии клавиши «e» с помощью {shift down} '»?
user84019
2
Хорошо, я пытаюсь набрать ctrl + opt + shift + e, и у меня есть "osascript -e", чтобы приложение "Системные события" сообщало клавише "e", используя {control down, shift down, option down} '", но это говорит мне «48:55: синтаксическая ошибка: идентификатор не может идти после этого« »». (-2740) "
user84019
Клавиши вводятся точно так же, как если бы они были набраны вручную; они не являются специфическими для каждого приложения. Если вы хотите ввести нажатие клавиши в приложении, используйте `osascript -e ', чтобы сообщить приложению« AppName »для активации». Это запустит приложение, если оно еще не открыто, а также выведет его на передний план (т. Е. Его имя появится в строке меню). Затем вы можете использовать код @grg, указанный в его ответе выше.
Питер Шорн
3

инструмент оболочки clicklick довольно хорош. отправляет нажатия клавиш, щелчки, все виды вещей

https://github.com/BlueM/cliclick

boulder_ruby
источник
boulder_ruby - отличное решение, отличная ссылка. Вы cliclickавтор?
Джонни Юта
1
@JohnnyUtahh это негатив, просто ботаник, помешанный на автоматизации
boulder_ruby