Existe uma maneira de executar hotkey global usando a linha de comando?

0

OS: OS X 10.9.1 Mavericks

É possível executar qualquer tecla de atalho global na linha de comando?

Por exemplo, se eu quisesse copiar e colar, há um comando para me permitir digitar a tecla de atalho exata e executá-la?

Assim (Este comando é apenas para um exemplo, na verdade não existe):

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

Eu sei que já existe um comando para copiar e colar "pbpaste" e "pbcopy", eu estava apenas usando copiar e colar como exemplo.

Isso seria muito útil para executar comandos que poderiam ser muito longos na linha de comando. Se você quisesse bloquear o computador na linha de comando, teria que fazer algo como:

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

Se houver um comando para executar teclas de atalho, tudo o que você precisa fazer é:

hotkey "ctrl+shift+eject"
    
por Timber 17.02.2014 / 06:01

2 respostas

1

O AppleScript tem os comandos keystroke e 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}'

Não existe código chave para a chave de ejeção.

    
por 18.02.2014 / 13:59
2

Você pode combinar o AppleScript de Lauri com um sistema baseado em teclas de atalho (Quicksilver, Keyboard Maestro, etc.) para criar teclas de atalho para executar comandos complexos. Mas as "teclas de atalho" normalmente fazem parte do ambiente da GUI, não da CLI. Eles não aparecem no Terminal, embora seus resultados possam ocorrer se você estiver usando o Command-V para colar texto.

Você já pesquisou aliases de shell? Você pode criar um alias chamado "lock" que mapeia para "/ System / Library / CoreServices / Menu \ Extras / User.menu / Contents / Resources / CGSession -suspend". Não é uma tecla de atalho (GUI), mas desde que você perguntou sobre o CLI em particular, talvez isso ajude.

    
por 21.02.2014 / 07:16