Bash shell scripting: como detectar as teclas Alt + N?

6

Eu quero escrever um script que sempre ouça em segundo plano e execute um comando em particular quando o usuário pressionar uma combinação de teclas específica, como Alt + N . Como isso pode ser feito?

    
por Anandu M Das 17.03.2015 / 08:13

1 resposta

7

Faça o download do seguinte módulo em Python: showkey.py

Em seguida, crie um script python (vamos chamá-lo de test.py ):

#!/usr/bin/env python

from showkey import ShowKey

def alt_n(arg):
    print "Alt N was pressed"

sk = ShowKey()
sk.addKeyAction([49, 56], alt_n)    # adds handler for Alt-N comb.
sk.run()

Coloque showkey.py no seu PYTHONPATH ou coloque os dois test.py e showkey.py na mesma pasta.

Execute seu script python desta maneira:

sudo ./test.py

O retorno de chamada alt_n() será acionado quando o usuário atingir a combinação Alt + N . Adapte o conteúdo do manipulador às suas necessidades.

Para saber os códigos de teclas (os mesmos códigos usados pelo comando showkey ) para use com showkey.py , apenas execute-o como um script novamente com sudo . Todos os eventos de pressionamento de tecla serão impressos no seu terminal.

$ sudo ./showkey.py 
Current terminal mode: OFF
Key pressed - keycode: 28
Key pressed - keycode: 56
[...]
    
por Sylvain Pineau 17.03.2015 / 12:45