Ayuda con alt+tecla
Publicado por Lokinkc (1 intervención) el 24/04/2013 22:41:15
Buenas, tengo un pequeño problema, estoy intentando detectar por teclado la pulsado de alt+tecla.
El problema viene en que, al pulsar alt+loquesea, el registro al siempre me devuelve 0, por tanto no puedo leer el caracter ascii de la tecla que he pulsado. El codigo que estoy usando es este:
Agradeceria cualquier tipo de ayuda.
Muchas gracias.
El problema viene en que, al pulsar alt+loquesea, el registro al siempre me devuelve 0, por tanto no puedo leer el caracter ascii de la tecla que he pulsado. El codigo que estoy usando es este:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
void main(){
char scanCode, Carac;
while(1) {
printf ("\nPulsa una tecla (ESC para salir): ");
asm {
mov ah,0 ; /* Leemos el carácter desde el buffer de teclado*/
int 16h; /*Llamada a la interrupción*/
mov scanCode,ah; /*Copiamos el valor del scancode*/
mov Carac,al ; /*Copiamos el valor del codigo ascii*/
}
printf("\nHas pulsado una tecla con ScanCode=%d, Codigo ascii=%d,'",scanCode, Carac);
asm {
mov ah,2 ; /* Leemos el estado de la tecla especial*/
int 16h; /*Llamada a la interrupción*/
mov scanCode,ah; /*Copiamos el valor del scancode*/
mov Carac,al ; /*Copiamos el valor del codigo ascii*/
}
printf("\n Codigo de tecla especial %d,'", Carac);
if (scanCode==1) /*Analizamos si la tecla pulsada es escape comprobando su scancode*/ {
printf("\nHas pulsado ESC, el programa saldrá");
break; }
} }
Agradeceria cualquier tipo de ayuda.
Muchas gracias.
Valora esta pregunta
0