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


12

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

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


Речь идет об использовании терминала для отправки сочетаний клавиш. В частности, мне нужно отправить 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}'

Когда я пытаюсь это сделать, я просто получаю новую строку с ">"?
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 - отличное решение, отличная ссылка. Вы cliclickавтор?
Джонни Юта

1
@JohnnyUtahh это негатив, просто ботаник, помешанный на автоматизации
boulder_ruby
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.