Um artifício interessante quando precisa-se capturar inputs do teclado é utilizar o aplicativo que vem por padrão em algumas distros linux, o xinput. Com ele é possível capturar o keycode da tecla digitada de uma maneira muito fácil e sem precisar ser root.

Vejam:

trash@debian:/tmp$ xinput list
"Configured Mouse"      id=2    [XExtensionPointer]
Num_buttons is 9
Num_axes is 2
Mode is Relative
Motion_buffer is 256
Axis 0 :
Min_value is -1
Max_value is -1
Resolution is 1
Axis 1 :
Min_value is -1
Max_value is -1
Resolution is 1
"Generic Keyboard"      id=3    [XExtensionKeyboard]
Num_keys is 248
Min_keycode is 8
Max_keycode is 255

 

Temos acima, o  “Generic Keyboard” id=3

Passaremos por parâmetro o id que será o device que iremos capturar e mostrar os eventos recebidos.

 

trash@debian:/tmp$ xinput test 3

key release 36

key press   46

lkey release 46

key press   31

ikey release 31

nkey press   57

key release 57

ukey press   30

key release 30

xkey press   53

key release 53

 

Acima foi capturado todas as keycodes que foram digitadas pelo usuário “trash”, que no caso digitei a palavra “linux”. O “key release 36″ = ENTER

 

Caso não tenha o xinput, instale!! “aptitude install xinput” =D

Dica simples e “útil”

 

[]‘s

Sergito