La Web del Programador: Comunidad de Programadores
 
    Pregunta:  1393 - NECESITO LEER TECLAS QUE SON PRESIONADAS AL MISMO TIEMPO
Autor:  Rodrigo López
¿Como puedo leer las teclas que el usuario presiona al mismo tiempo?. Por ejemplo si el usuario presiona "Arriba" y "Izquierda" al mismo tiempo mi programa debe mover una figura en diagonal hacia arriba y a la izquierda .
El problema es que cuando detecto que se ha presionado una tecla (con getch() por ejemplo) ésta bloquea a las demás si se mantiene presionada. Prové leyendo los bytes diréctamente desde el puerto 0x60 con la instrucción import() pero si presiono una tecla A y luego una tecla B obtengo el código de B y ya no puedo saber si el usuario sigue manteniendo presionada la tecla A o la soltó. ¡¡¡ Ayúdenme !!! Gracias.

  Respuesta:  Victor Marzo
Lo que tienes que hacer es enchufarte a la interrupción 9, que ocurre cada vez que se aprieta o se suelta una tecla.
Cuando te llegue una interrupcion y la tengas cogida haces una cosa al estilo de:
if (inp(0x60)<128)
tecla[inp(0x60)] = PULSADA;
else
tecla[inp(0x60)&127] = SOLTADA;