Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //////////////////////////////////////////////////////////////////////// // ARCHIVO : teclado.h
- // AUTOR : Ruben A. Calabuig.
- // VERSIÓN : 1.0 Estable.
- // FECHA : 21/08/2008.
- // LICENCIA : GPL (General Public License).
- //......................................................................
- // IDE : Code::Blocks.
- // COMPILADOR: GNU GCC Compiler (Mingway).
- //......................................................................
- // DESCRIPCION: Esta libreria contiene las funciones necesarias para
- // eventos del teclado en modo texto utilizando las API
- // de Windows.
- ////////////////////////////////////////////////////////////////////////
- #ifndef _TECLADO_H
- #define _TECLADO_H
- #include <windows.h>
- //using namespace std;
- #define TRUE 1
- #define FALSE 0
- //======================================================================
- // CONSTANTES DECLARADAS PARA LAS FUNCIONES
- //---------------------------------------------------------------------
- // Todas las constantes definidas en este bloque se basan en los codigos
- // de teclas virtuales definidas en las API de Windows.
- //---------------------------------------------------------------------
- // TECLAS ESPECIALES
- //---------------------------------------------------------------------
- const WORD TECLA_CTRL_BREAK = 0x03; // CANCELA PROCESOS
- const WORD TECLA_RETROCESO = 0x08; // BACKSPACE
- const WORD TECLA_TAB = 0x09; // TAB
- const WORD TECLA_CLEAR = 0x0C; // CLEAR
- const WORD TECLA_ENTER = 0x0D; // ENTER
- const WORD TECLA_SHIFT = 0x10; // SHIFT
- const WORD TECLA_SHIFT_IZQUIERDO = 0xA0; // SHIFT IZQUIERDO
- const WORD TECLA_SHIFT_DERECHO = 0xA1; // SHIFT DERECHO
- const WORD TECLA_CTRL = 0x11; // CONTROL
- const WORD TECLA_CTRL_IZQUIERDO = 0xA2; // CONTROL IZQUIERDO
- const WORD TECLA_CTRL_DERECHO = 0xA3; // CONTROL DERECHO
- const WORD TECLA_ALT = 0x12; // ALT
- const WORD TECLA_ALT_IZQUIERDO = 0xA4; // ALT IZQUIERDO
- const WORD TECLA_ALT_DERECHO = 0xA5; // ALT DERECHO
- const WORD TECLA_PAUSA = 0x13; // PAUSA
- const WORD TECLA_CAPS_LOCK = 0x14; // BLOQUEO DE MAYUSCULAS
- const WORD TECLA_ESC = 0x1B; // ESCAPE
- const WORD TECLA_ESPACIO = 0x20; // BARRA ESPACIADORA
- const WORD TECLA_PAGE_UP = 0x21; // PAGINA ARRIBA
- const WORD TECLA_PAGE_DOWN = 0x22; // PAGINA ABAJO
- const WORD TECLA_FIN = 0x23; // FIN
- const WORD TECLA_INICIO = 0x24; // INICIO
- const WORD TECLA_FLECHA_IZQUIERDA= 0x25; // FLECHA IZQUIERDA
- const WORD TECLA_FLECHA_ARRIBA = 0x26; // FLECHA ARRIBA
- const WORD TECLA_FLECHA_DERECHA = 0x27; // FLECHA DERECHA
- const WORD TECLA_FLECHA_ABAJO = 0x28; // FLECHA ABAJO
- const WORD TECLA_IMP_PANT = 0x2C; // IMPRIMIR PANTALLA
- const WORD TECLA_INSERT = 0x2D; // INSERTAR
- const WORD TECLA_SUPR = 0x2E; // BORRAR
- const WORD TECLA_SLEEP = 0x5F; // SUSPENDER
- const WORD TECLA_NUMLOCK = 0x90; // BLOQUEO DE TECLADO NUMERICO
- const WORD TECLA_SCROLL = 0x91; // BLOQUE DE DESPLAZAMIENTO
- //---------------------------------------------------------------------
- // TECLAS DE DIGITOS DEL TECLADO NUMERICO (NUMPAD)
- //---------------------------------------------------------------------
- const WORD TECLA_NUMPAD_0 = 0x60; // 0
- const WORD TECLA_NUMPAD_1 = 0x61; // 1
- const WORD TECLA_NUMPAD_2 = 0x62; // 2
- const WORD TECLA_NUMPAD_3 = 0x63; // 3
- const WORD TECLA_NUMPAD_4 = 0x64; // 4
- const WORD TECLA_NUMPAD_5 = 0x65; // 5
- const WORD TECLA_NUMPAD_6 = 0x66; // 6
- const WORD TECLA_NUMPAD_7 = 0x67; // 7
- const WORD TECLA_NUMPAD_8 = 0x68; // 8
- const WORD TECLA_NUMPAD_9 = 0x69; // 9
- const WORD TECLA_NUMPAD_PRODUCTO = 0x6A; // *
- const WORD TECLA_NUMPAD_SUMA = 0x6B; // +
- const WORD TECLA_NUMPAD_RESTA = 0x6D; // -
- const WORD TECLA_NUMPAD_PUNTO = 0x6E; // .
- const WORD TECLA_NUMPAD_DIVISION = 0x6F; // /
- //---------------------------------------------------------------------
- // TECLAS DE FUNCION
- //---------------------------------------------------------------------
- const WORD TECLA_F1 = 0x70; // F1
- const WORD TECLA_F2 = 0x71; // F2
- const WORD TECLA_F3 = 0x72; // F3
- const WORD TECLA_F4 = 0x73; // F4
- const WORD TECLA_F5 = 0x74; // F5
- const WORD TECLA_F6 = 0x75; // F6
- const WORD TECLA_F7 = 0x76; // F7
- const WORD TECLA_F8 = 0x77; // F8
- const WORD TECLA_F9 = 0x78; // F9
- const WORD TECLA_F10 = 0x79; // F10
- const WORD TECLA_F11 = 0x7A; // F11
- const WORD TECLA_F12 = 0x7B; // F12
- //---------------------------------------------------------------------
- // TECLAS RESERVADAS PARA FUNCIONES DE TECLADOS MAS COMPLEJOS
- //---------------------------------------------------------------------
- const WORD TECLA_F13 = 0x7C; // F13
- const WORD TECLA_F14 = 0x7D; // F14
- const WORD TECLA_F15 = 0x7E; // F15
- const WORD TECLA_F16 = 0x7F; // F16
- const WORD TECLA_F17 = 0x80; // F17
- const WORD TECLA_F18 = 0x81; // F18
- const WORD TECLA_F19 = 0x82; // F19
- const WORD TECLA_F20 = 0x83; // F20
- const WORD TECLA_F21 = 0x84; // F21
- const WORD TECLA_F22 = 0x85; // F22
- const WORD TECLA_F23 = 0x86; // F23
- const WORD TECLA_F24 = 0x87; // F24
- //---------------------------------------------------------------------
- // TECLAS DE DIGITOS DEL TECLADO ALFANUMERICO
- //---------------------------------------------------------------------
- const WORD TECLA_0 = 0x30; // 0
- const WORD TECLA_1 = 0x31; // 1
- const WORD TECLA_2 = 0x32; // 2
- const WORD TECLA_3 = 0x33; // 3
- const WORD TECLA_4 = 0x34; // 4
- const WORD TECLA_5 = 0x35; // 5
- const WORD TECLA_6 = 0x36; // 6
- const WORD TECLA_7 = 0x37; // 7
- const WORD TECLA_8 = 0x38; // 8
- const WORD TECLA_9 = 0x39; // 9
- //---------------------------------------------------------------------
- // TECLAS PARA LETRAS
- //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- // La teclas definidas a continuacion representan a las letras mayusculas.
- //
- // Para trabajar con las minusculas hay que realizar lo siguiente:
- // // 1) Declarar una variable de tipo bool que contenga el estado de las
- // mayusculas (Ej. bool MAYUSCULAS = FALSE;).
- // // 2) Verificar si se no se presiono SHIFT.
- // // 3) Si no esta presionada asignar FALSE a la variable MAYSCULAS y leer
- // otra tecla.
- // // 4) Si la nueva tecla es una letra, y la variable MAYUYSCULAS es igual
- // a FALSE hay que sumarle 32 al valor de la tecla.
- //-----------------------------------------------------------------------
- const WORD TECLA_a = 0x41; // a
- const WORD TECLA_b = 0x42; // b
- const WORD TECLA_c = 0x43; // c
- const WORD TECLA_d = 0x44; // d
- const WORD TECLA_e = 0x45; // e
- const WORD TECLA_f = 0x46; // f
- const WORD TECLA_g = 0x47; // g
- const WORD TECLA_h = 0x48; // h
- const WORD TECLA_i = 0x49; // i
- const WORD TECLA_j = 0x4A; // j
- const WORD TECLA_k = 0x4B; // k
- const WORD TECLA_l = 0x4C; // l
- const WORD TECLA_m = 0x4D; // m
- const WORD TECLA_n = 0x4E; // n
- const WORD TECLA_o = 0x4F; // o
- const WORD TECLA_p = 0x50; // p
- const WORD TECLA_q = 0x51; // q
- const WORD TECLA_r = 0x52; // r
- const WORD TECLA_s = 0x53; // s
- const WORD TECLA_t = 0x54; // t
- const WORD TECLA_u = 0x55; // u
- const WORD TECLA_v = 0x56; // v
- const WORD TECLA_w = 0x57; // w
- WORD TECLA_x = 0x58; // x
- const WORD TECLA_y = 0x59; // y
- const WORD TECLA_z = 0x5A; // z
- //---------------------------------------------------------------------
- // EL CASO ESPECIAL DE LETRA ñ
- //---------------------------------------------------------------------
- // La ñ da como resultado de la lectura el
- // codigo 192 (0xC0) cuando el verdadero
- // codigo para ser mostrado es:
- // // a) ñ = 164 (0xA4)
- // b) ñ = 165 (0xA5)
- //---------------------------------------------------------------------
- const WORD TECLA_enie = 0xC0; // ñ
- //**********************************************************************
- // DEFINICION DE FUNCIONES
- //======================================================================
- // FUNCION : WORD leerTecla() // ACCION : Realiza la lectura de un registro en el buffer del teclado
- // y devuelve el codigo ASCII de la tecla correspondiente.
- // PARAMETROS: NADA
- // DEVUELVE : WORD -> codigo ASCII.
- // // NOTA: La lectura elimina al registro del buffer.
- //---------------------------------------------------------------------
- WORD leerTecla(void);
- BOOL hayTecla(void);
- //*********************************************************************
- #endif // _TECLADO_H
- ///// FIN DE ARCHIVO /////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement