Como simular a entrada do teclado?

12

Esta é a maior coisa que me impede de desfrutar do Ubuntu / Linux.

Idealmente, gostaria de poder executar o meu script AutoHotKey no Ubuntu, mas não tive muita sorte em trabalhar com o Wine.

Aqui está o que eu estou fazendo no AHK (usando modificadores extras também funciona, Shift + Alt + l é Shift + certo ).

!l:: Send, {Right}
+!l:: Send, +{Right}
^!l:: Send, ^{Right}
^+!l:: Send, ^+{Right}

Eu tentei o AutoKey, mas não estava consumindo a entrada, remapeando Alt + I para a tecla de seta para a direita, mas ainda executava Alt + I , que às vezes seleciona um item no menu do aplicativo.

O mais próximo que eu cheguei foi xbindkeys para configurar teclas de atalho, isso parece funcionar muito bem. E xvkbd para simular entrada; esta parte é realmente buggy; ele não funciona em todos os programas e faz com que eu perca muito o foco, entre outras questões.

Para qualquer um que esteja se perguntando o que estou tentando fazer: Eu uso J K L como seta chaves enquanto Alt está desativado.

    
por Stephen Bugs Kamenar 29.04.2013 / 22:30

1 resposta

14

Eu nunca usei o xvkbd, mas existem outros dois ótimos programas para simular a entrada do teclado que eu gosto e uso. Um é xte e o outro é xdotool .

sudo apt-get install xautomation xdotool  

Tanto o xdotool quanto o xte são muito semelhantes, mas como eu uso xte mais eu vou entrar nesse.

xte:

A sintaxe mais básica para xte é:

xte 'command key/mousebutton/xyCoordinates'

xte pode fazer muito mais do que apenas criar entradas de teclado, mas também pode mover o mouse e simular pressionamentos de botão do mouse, entre outras coisas.

Exemplos de sintaxe:

  • Para chamar uma única tecla, pressione: xte 'key keyName'

  • Para chamar uma combinação de teclas: xte 'keydown keyName' 'keydown secondKeyName' 'keyup keyName' 'keyup secondKeyName

  • Para chamar um botão do mouse: xte 'mouseclick buttonNumber' (você pode encontrar números de botões em xev )

  • Para mover o mouse: xte 'mousemove xCoordinate yCoordinate'

  • E mais! Leia man xte

Keynames:

Aqui está uma lista de nomes-chave (além dos óbvios):

Home
Left
Up
Right
Down
Page_Up
Page_Down
End
Return
BackSpace
Tab
Escape
Delete
Shift_L
Shift_R
Control_L
Control_R
Meta_L
Meta_R
Alt_L
Alt_R
Multi_key  
Super_L  
Super_R

Leitura:

Você também pode estar interessado em ler:

Como eu posso mudar o que chaves no meu teclado faz? (Como posso criar comandos / atalhos de teclado personalizados?)

Como faço o remapeamento de certas chaves ou dispositivos?

    
por Seth 29.04.2013 / 22:39