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:
¿Estás leyendo las manpages? está perfectamente descrito en XQueryKeymap(3) →http://linux.die.net/man/3/xquerykeymap
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
hola?
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 (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.
Gracias, despues voy a pasar un rato leyendo codigo.
Saludos ;D