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
