Advertisement
Guest User

Teclado.h (por Ruben A. Calabuig, no soy yo)

a guest
Mar 2nd, 2010
619
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 8.22 KB | None | 0 0
  1. //////////////////////////////////////////////////////////////////////// // ARCHIVO : teclado.h
  2. // AUTOR : Ruben A. Calabuig.
  3. // VERSIÓN : 1.0 Estable.
  4. // FECHA : 21/08/2008.
  5. // LICENCIA : GPL (General Public License).
  6. //......................................................................
  7. // IDE : Code::Blocks.
  8. // COMPILADOR: GNU GCC Compiler (Mingway).
  9. //......................................................................
  10. // DESCRIPCION: Esta libreria contiene las funciones necesarias para
  11. // eventos del teclado en modo texto utilizando las API
  12. // de Windows.
  13. ////////////////////////////////////////////////////////////////////////
  14. #ifndef _TECLADO_H
  15. #define _TECLADO_H
  16. #include <windows.h>
  17. //using namespace std;
  18.  
  19. #define TRUE  1
  20. #define FALSE 0
  21. //======================================================================
  22. // CONSTANTES DECLARADAS PARA LAS FUNCIONES
  23. //---------------------------------------------------------------------
  24. // Todas las constantes definidas en este bloque se basan en los codigos
  25. // de teclas virtuales definidas en las API de Windows.
  26. //---------------------------------------------------------------------
  27. // TECLAS ESPECIALES
  28. //---------------------------------------------------------------------
  29. const WORD TECLA_CTRL_BREAK = 0x03; // CANCELA PROCESOS
  30. const WORD TECLA_RETROCESO = 0x08; // BACKSPACE
  31. const WORD TECLA_TAB = 0x09; // TAB
  32. const WORD TECLA_CLEAR = 0x0C; // CLEAR
  33. const WORD TECLA_ENTER = 0x0D; // ENTER
  34. const WORD TECLA_SHIFT = 0x10; // SHIFT
  35. const WORD TECLA_SHIFT_IZQUIERDO = 0xA0; // SHIFT IZQUIERDO
  36. const WORD TECLA_SHIFT_DERECHO = 0xA1; // SHIFT DERECHO
  37. const WORD TECLA_CTRL = 0x11; // CONTROL
  38. const WORD TECLA_CTRL_IZQUIERDO = 0xA2; // CONTROL IZQUIERDO
  39. const WORD TECLA_CTRL_DERECHO = 0xA3; // CONTROL DERECHO
  40. const WORD TECLA_ALT = 0x12; // ALT
  41. const WORD TECLA_ALT_IZQUIERDO = 0xA4; // ALT IZQUIERDO
  42. const WORD TECLA_ALT_DERECHO = 0xA5; // ALT DERECHO
  43. const WORD TECLA_PAUSA = 0x13; // PAUSA
  44. const WORD TECLA_CAPS_LOCK = 0x14; // BLOQUEO DE MAYUSCULAS
  45. const WORD TECLA_ESC = 0x1B; // ESCAPE
  46. const WORD TECLA_ESPACIO = 0x20; // BARRA ESPACIADORA
  47. const WORD TECLA_PAGE_UP = 0x21; // PAGINA ARRIBA
  48. const WORD TECLA_PAGE_DOWN = 0x22; // PAGINA ABAJO
  49. const WORD TECLA_FIN = 0x23; // FIN
  50. const WORD TECLA_INICIO = 0x24; // INICIO
  51. const WORD TECLA_FLECHA_IZQUIERDA= 0x25; // FLECHA IZQUIERDA
  52. const WORD TECLA_FLECHA_ARRIBA = 0x26; // FLECHA ARRIBA
  53. const WORD TECLA_FLECHA_DERECHA = 0x27; // FLECHA DERECHA
  54. const WORD TECLA_FLECHA_ABAJO = 0x28; // FLECHA ABAJO
  55. const WORD TECLA_IMP_PANT = 0x2C; // IMPRIMIR PANTALLA
  56. const WORD TECLA_INSERT = 0x2D; // INSERTAR
  57. const WORD TECLA_SUPR = 0x2E; // BORRAR
  58. const WORD TECLA_SLEEP = 0x5F; // SUSPENDER
  59. const WORD TECLA_NUMLOCK = 0x90; // BLOQUEO DE TECLADO NUMERICO
  60. const WORD TECLA_SCROLL = 0x91; // BLOQUE DE DESPLAZAMIENTO
  61. //---------------------------------------------------------------------
  62. // TECLAS DE DIGITOS DEL TECLADO NUMERICO (NUMPAD)
  63. //---------------------------------------------------------------------
  64. const WORD TECLA_NUMPAD_0 = 0x60; // 0
  65. const WORD TECLA_NUMPAD_1 = 0x61; // 1
  66. const WORD TECLA_NUMPAD_2 = 0x62; // 2
  67. const WORD TECLA_NUMPAD_3 = 0x63; // 3
  68. const WORD TECLA_NUMPAD_4 = 0x64; // 4
  69. const WORD TECLA_NUMPAD_5 = 0x65; // 5
  70. const WORD TECLA_NUMPAD_6 = 0x66; // 6
  71. const WORD TECLA_NUMPAD_7 = 0x67; // 7
  72. const WORD TECLA_NUMPAD_8 = 0x68; // 8
  73. const WORD TECLA_NUMPAD_9 = 0x69; // 9
  74. const WORD TECLA_NUMPAD_PRODUCTO = 0x6A; // *
  75. const WORD TECLA_NUMPAD_SUMA = 0x6B; // +
  76. const WORD TECLA_NUMPAD_RESTA = 0x6D; // -
  77. const WORD TECLA_NUMPAD_PUNTO = 0x6E; // .
  78. const WORD TECLA_NUMPAD_DIVISION = 0x6F; // /
  79. //---------------------------------------------------------------------
  80. // TECLAS DE FUNCION
  81. //---------------------------------------------------------------------
  82. const WORD TECLA_F1 = 0x70; // F1
  83. const WORD TECLA_F2 = 0x71; // F2
  84. const WORD TECLA_F3 = 0x72; // F3
  85. const WORD TECLA_F4 = 0x73; // F4
  86. const WORD TECLA_F5 = 0x74; // F5
  87. const WORD TECLA_F6 = 0x75; // F6
  88. const WORD TECLA_F7 = 0x76; // F7
  89. const WORD TECLA_F8 = 0x77; // F8
  90. const WORD TECLA_F9 = 0x78; // F9
  91. const WORD TECLA_F10 = 0x79; // F10
  92. const WORD TECLA_F11 = 0x7A; // F11
  93. const WORD TECLA_F12 = 0x7B; // F12
  94. //---------------------------------------------------------------------
  95. // TECLAS RESERVADAS PARA FUNCIONES DE TECLADOS MAS COMPLEJOS
  96. //---------------------------------------------------------------------
  97. const WORD TECLA_F13 = 0x7C; // F13
  98. const WORD TECLA_F14 = 0x7D; // F14
  99. const WORD TECLA_F15 = 0x7E; // F15
  100. const WORD TECLA_F16 = 0x7F; // F16
  101. const WORD TECLA_F17 = 0x80; // F17
  102. const WORD TECLA_F18 = 0x81; // F18
  103. const WORD TECLA_F19 = 0x82; // F19
  104. const WORD TECLA_F20 = 0x83; // F20
  105. const WORD TECLA_F21 = 0x84; // F21
  106. const WORD TECLA_F22 = 0x85; // F22
  107. const WORD TECLA_F23 = 0x86; // F23
  108. const WORD TECLA_F24 = 0x87; // F24
  109. //---------------------------------------------------------------------
  110. // TECLAS DE DIGITOS DEL TECLADO ALFANUMERICO
  111. //---------------------------------------------------------------------
  112. const WORD TECLA_0 = 0x30; // 0
  113. const WORD TECLA_1 = 0x31; // 1
  114. const WORD TECLA_2 = 0x32; // 2
  115. const WORD TECLA_3 = 0x33; // 3
  116. const WORD TECLA_4 = 0x34; // 4
  117. const WORD TECLA_5 = 0x35; // 5
  118. const WORD TECLA_6 = 0x36; // 6
  119. const WORD TECLA_7 = 0x37; // 7
  120. const WORD TECLA_8 = 0x38; // 8
  121. const WORD TECLA_9 = 0x39; // 9
  122. //---------------------------------------------------------------------
  123. // TECLAS PARA LETRAS
  124. //- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  125. // La teclas definidas a continuacion representan a las letras mayusculas.
  126. //
  127. // Para trabajar con las minusculas hay que realizar lo siguiente:
  128. // // 1) Declarar una variable de tipo bool que contenga el estado de las
  129. // mayusculas (Ej. bool MAYUSCULAS = FALSE;).
  130. // // 2) Verificar si se no se presiono SHIFT.
  131. // // 3) Si no esta presionada asignar FALSE a la variable MAYSCULAS y leer
  132. // otra tecla.
  133. // // 4) Si la nueva tecla es una letra, y la variable MAYUYSCULAS es igual
  134. // a FALSE hay que sumarle 32 al valor de la tecla.
  135. //-----------------------------------------------------------------------
  136. const WORD TECLA_a = 0x41; // a
  137. const WORD TECLA_b = 0x42; // b
  138. const WORD TECLA_c = 0x43; // c
  139. const WORD TECLA_d = 0x44; // d
  140. const WORD TECLA_e = 0x45; // e
  141. const WORD TECLA_f = 0x46; // f
  142. const WORD TECLA_g = 0x47; // g
  143. const WORD TECLA_h = 0x48; // h
  144. const WORD TECLA_i = 0x49; // i
  145. const WORD TECLA_j = 0x4A; // j
  146. const WORD TECLA_k = 0x4B; // k
  147. const WORD TECLA_l = 0x4C; // l
  148. const WORD TECLA_m = 0x4D; // m
  149. const WORD TECLA_n = 0x4E; // n
  150. const WORD TECLA_o = 0x4F; // o
  151. const WORD TECLA_p = 0x50; // p
  152. const WORD TECLA_q = 0x51; // q
  153. const WORD TECLA_r = 0x52; // r
  154. const WORD TECLA_s = 0x53; // s
  155. const WORD TECLA_t = 0x54; // t
  156. const WORD TECLA_u = 0x55; // u
  157. const WORD TECLA_v = 0x56; // v
  158. const WORD TECLA_w = 0x57; // w
  159.  
  160. WORD TECLA_x = 0x58; // x
  161. const WORD TECLA_y = 0x59; // y
  162. const WORD TECLA_z = 0x5A; // z
  163. //---------------------------------------------------------------------
  164. // EL CASO ESPECIAL DE LETRA ñ
  165. //---------------------------------------------------------------------
  166. // La ñ da como resultado de la lectura el
  167. // codigo 192 (0xC0) cuando el verdadero
  168. // codigo para ser mostrado es:
  169. // // a) ñ = 164 (0xA4)
  170. // b) ñ = 165 (0xA5)
  171. //---------------------------------------------------------------------
  172. const WORD TECLA_enie = 0xC0; // ñ
  173. //**********************************************************************
  174. // DEFINICION DE FUNCIONES
  175. //======================================================================
  176. // FUNCION : WORD leerTecla() // ACCION : Realiza la lectura de un registro en el buffer del teclado
  177. // y devuelve el codigo ASCII de la tecla correspondiente.
  178. // PARAMETROS: NADA
  179. // DEVUELVE : WORD -> codigo ASCII.
  180. // // NOTA: La lectura elimina al registro del buffer.
  181. //---------------------------------------------------------------------
  182. WORD leerTecla(void);
  183. BOOL hayTecla(void);
  184. //*********************************************************************
  185. #endif // _TECLADO_H
  186. ///// FIN DE ARCHIVO /////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement