ОС: OS X 10.9.1 Маверикс

Можно ли выполнить какие-либо глобальные горячие клавиши из командной строки?

Например, если я хотел скопировать и вставить, есть ли команда, позволяющая мне ввести точную горячую клавишу и выполнить ее?

Вот так (эта команда только для примера, на самом деле не существует):

hotkey "ctrl+c"
hotkey "ctrl+v"

Я знаю, что уже есть команда для копирования и вставки "pbpaste" и "pbcopy", я просто использовал копирование и вставку в качестве примера.

Это было бы очень полезно для выполнения команд, которые могут быть очень длинными в командной строке. Если вы хотите заблокировать компьютер в командной строке, вам нужно сделать что-то вроде:

/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend

Если есть команда для выполнения горячих клавиш, все, что вам нужно сделать, это:

hotkey "ctrl+shift+eject"

2 ответа2

2

Вы можете комбинировать AppleScript Lauri с системой на основе горячих клавиш (Quicksilver, Keyboard Maestro и т.д.) Для создания горячих клавиш для запуска сложных команд. Но "горячие клавиши" обычно являются частью среды GUI, а не CLI. Они не отображаются в Терминале, хотя их результаты могут появиться, если вы используете Command-V для вставки текста.

Вы смотрели псевдонимы оболочки? Вы можете создать псевдоним "lock", который отображается в «/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend». Это не горячая клавиша (GUI), но, поскольку вы спрашивали о CLI, в частности, возможно, это поможет.

1

AppleScript имеет команды keystroke и key code :

osascript -e 'tell app "System Events" to keystroke "a" using command down'

osascript -e 'tell app "System Events" to key code 126 using {control down, shift down}'

Код ключа для ключа извлечения отсутствует.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .