#include #include #define ESC 27 #define SECUNDARIO 224 //Para acceder a las flechas, primero se obtiene ese valor #define INICIO 71 #define ARRIBA 72 #define REPAG 73 #define IZQUIERDA 75 #define DERECHA 77 #define S_FIN 79 #define ABAJO 80 #define AVPAG 81 #define INSERT 82 #define SUPR 83 #define P_ARRIBA 24 #define P_ABAJO 25 #define P_DERECHA 26 #define P_IZQUIERDA 27 int main() { unsigned char C; printf("Presione teclas del teclado: \n\n"); do{ if( (C=getch()) == SECUNDARIO) { switch(C=getch()) { case ARRIBA: printf("\nCaracter presionado: %c" "\n\t Valor num%crico:%i-%i",P_ARRIBA,130,SECUNDARIO,ARRIBA); break; case IZQUIERDA: printf("\nCaracter presionado: %c" "\n\t Valor num%crico:%i-%i",P_IZQUIERDA,130,SECUNDARIO,IZQUIERDA); break; case ABAJO: printf("\nCaracter presionado: %c" "\n\t Valor num%crico:%i-%i",P_ABAJO,130,SECUNDARIO,ABAJO); break; case DERECHA: printf("\nCaracter presionado: %c" "\n\t Valor num%crico:%i-%i",P_DERECHA,130,SECUNDARIO,DERECHA); break; case INICIO: printf("\nCaracter presionado: Inicio" "\n\t Valor num%crico:%i-%i",130,SECUNDARIO,INICIO); break; case REPAG: printf("\nCaracter presionado: RePag" "\n\t Valor num%crico:%i-%i",130,SECUNDARIO,REPAG); break; case AVPAG: printf("\nCaracter presionado: AvPag" "\n\t Valor num%crico:%i-%i",130,SECUNDARIO,AVPAG); break; case S_FIN: printf("\nCaracter presionado: Fin" "\n\t Valor num%crico:%i-%i",130,SECUNDARIO,S_FIN); break; case SUPR: printf("\nCaracter presionado: Suprimir" "\n\t Valor num%crico:%i-%i",130,SECUNDARIO,SUPR); break; case INSERT: printf("\nCaracter presionado: Insert" "\n\t Valor num%crico:%i-%i",130,SECUNDARIO,INSERT); break; default: printf("\nError de ingreso, se ingres%c: %i-%i",162,SECUNDARIO,C); } } else{ printf("\nCaracter presionado: %c" "\n\t Valor num%crico:%i",C,130,C); } }while(C!=ESC); return 0; }