Como se utiliza XQueryKeymap??

Iniciado por 0xDani, 11 Junio 2012, 19:33 PM

0 Miembros y 1 Visitante están viendo este tema.

0xDani

Tengo entendido que XQueryKeymap retorna un array de bytes que in dica el estado del teclado, pero una vez que lo obtengo como interpreto este array para saber que teclas estan pulsadas? :huh:
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

Foxy Rider

¿Estás leyendo las manpages? está perfectamente descrito en XQueryKeymap(3) →http://linux.die.net/man/3/xquerykeymap


0xDani

Ya eso ya lo he leido varias veces en distintos manuales, pero solo dice que retorna un array de bytes y que cada uno corresponde a una tecla, pero como se a k tecla corresponde cada uno, es decir si me devuelve 00000000000010000010000000000000 se que hay dos teclas pulsadas pero cuales son? :huh:

Saludos ;D
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

0xDani

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM

Foxy Rider

#4
Es literalmente 32 elementos de un byte (8 bits) ... 8*32 → 256
Con bit shifting vas a poder revisar en particular alguna tecla (bit), pero no es portable esta forma de revisar el estado del teclado (los codes pueden variar, acordate que es una lectura RAW del teclado) ... por lo que si vas a usar para keylogger, guardá los keycodes directamente o elaborate todo un código que lidie con los keymaps.

Acá tenés un ejemplo → http://www.cs.bgu.ac.il/~orlovm/code/realkey.C // Otro → http://ur1.ca/9itl4
y una ayudita extra : setxkbmap -query
Ahí tenés tres códigos de ejemplo :)

Saludos.

0xDani

Gracias, despues voy a pasar un rato leyendo codigo.

Saludos ;D
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM