Versión sin post-procesado del software del VmRideR
Dependencies: mbed
ScreenManager/Teclado.cpp@0:3d456b8ce449, 2015-06-15 (annotated)
- Committer:
- JuanManuelAmador
- Date:
- Mon Jun 15 15:34:27 2015 +0000
- Revision:
- 0:3d456b8ce449
prueba
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
JuanManuelAmador | 0:3d456b8ce449 | 1 | #include "mbed.h" |
JuanManuelAmador | 0:3d456b8ce449 | 2 | #include "Teclado.h" |
JuanManuelAmador | 0:3d456b8ce449 | 3 | |
JuanManuelAmador | 0:3d456b8ce449 | 4 | extern ScreenManager SC; |
JuanManuelAmador | 0:3d456b8ce449 | 5 | |
JuanManuelAmador | 0:3d456b8ce449 | 6 | extern DigitalIn boton1; |
JuanManuelAmador | 0:3d456b8ce449 | 7 | extern DigitalIn boton2; |
JuanManuelAmador | 0:3d456b8ce449 | 8 | extern DigitalIn boton3; |
JuanManuelAmador | 0:3d456b8ce449 | 9 | extern DigitalIn boton4; |
JuanManuelAmador | 0:3d456b8ce449 | 10 | extern DigitalIn boton5; |
JuanManuelAmador | 0:3d456b8ce449 | 11 | |
JuanManuelAmador | 0:3d456b8ce449 | 12 | extern DigitalOut myled; |
JuanManuelAmador | 0:3d456b8ce449 | 13 | |
JuanManuelAmador | 0:3d456b8ce449 | 14 | void Teclado::initialize(DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 15 | // Se inicializa la variable que guarda el último nombre introducido |
JuanManuelAmador | 0:3d456b8ce449 | 16 | for(int i = 0; i < MAXCARACTERESESCRITURA; i++){ |
JuanManuelAmador | 0:3d456b8ce449 | 17 | nombre[i] = 0; |
JuanManuelAmador | 0:3d456b8ce449 | 18 | } |
JuanManuelAmador | 0:3d456b8ce449 | 19 | |
JuanManuelAmador | 0:3d456b8ce449 | 20 | // Se inicializa la selección |
JuanManuelAmador | 0:3d456b8ce449 | 21 | setSelect(0); |
JuanManuelAmador | 0:3d456b8ce449 | 22 | |
JuanManuelAmador | 0:3d456b8ce449 | 23 | indiceEscritura = 0; |
JuanManuelAmador | 0:3d456b8ce449 | 24 | |
JuanManuelAmador | 0:3d456b8ce449 | 25 | mostrarRecuadro(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 26 | |
JuanManuelAmador | 0:3d456b8ce449 | 27 | // Por defecto se muestran caracteres de letras minusculas |
JuanManuelAmador | 0:3d456b8ce449 | 28 | asignarMinusculas(); |
JuanManuelAmador | 0:3d456b8ce449 | 29 | ifMayus = false; |
JuanManuelAmador | 0:3d456b8ce449 | 30 | |
JuanManuelAmador | 0:3d456b8ce449 | 31 | // Se muestran los caracteres normales |
JuanManuelAmador | 0:3d456b8ce449 | 32 | mostrarCaracteres(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 33 | |
JuanManuelAmador | 0:3d456b8ce449 | 34 | // Se muestran los caracteres especiales |
JuanManuelAmador | 0:3d456b8ce449 | 35 | mostrarEspeciales(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 36 | |
JuanManuelAmador | 0:3d456b8ce449 | 37 | // Se inicializa la selección |
JuanManuelAmador | 0:3d456b8ce449 | 38 | Xsel = 0; |
JuanManuelAmador | 0:3d456b8ce449 | 39 | Ysel = 0; |
JuanManuelAmador | 0:3d456b8ce449 | 40 | lastXsel = 0; |
JuanManuelAmador | 0:3d456b8ce449 | 41 | lastYsel = 0; |
JuanManuelAmador | 0:3d456b8ce449 | 42 | // Se pinta la selección por defecto |
JuanManuelAmador | 0:3d456b8ce449 | 43 | drawSelection(OFFSETX-2, WRITTENSPACE, CARACTER11, CARACTER11, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 44 | |
JuanManuelAmador | 0:3d456b8ce449 | 45 | // transmit work screen to physical screen: |
JuanManuelAmador | 0:3d456b8ce449 | 46 | lcd->Flush(); |
JuanManuelAmador | 0:3d456b8ce449 | 47 | |
JuanManuelAmador | 0:3d456b8ce449 | 48 | } |
JuanManuelAmador | 0:3d456b8ce449 | 49 | |
JuanManuelAmador | 0:3d456b8ce449 | 50 | // El botón 5 envía a la pantalla correspondiente según el elemento seleccionado |
JuanManuelAmador | 0:3d456b8ce449 | 51 | void Teclado::button5pressed(DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 52 | |
JuanManuelAmador | 0:3d456b8ce449 | 53 | // Si no es una tecla especial |
JuanManuelAmador | 0:3d456b8ce449 | 54 | if(m[Ysel][Xsel] > ULTIMOCARACTERESPECIAL){ |
JuanManuelAmador | 0:3d456b8ce449 | 55 | // select font to use: |
JuanManuelAmador | 0:3d456b8ce449 | 56 | lcd->XFont = xfont_8; |
JuanManuelAmador | 0:3d456b8ce449 | 57 | if(indiceEscritura < MAXCARACTERESESCRITURA){ |
JuanManuelAmador | 0:3d456b8ce449 | 58 | // Si se ha pulsado sobre un caracter normal se añade este al recuadro donde se muestra lo escrito |
JuanManuelAmador | 0:3d456b8ce449 | 59 | if(m[Ysel][Xsel] > ULTIMOCARACTERESPECIAL){ // Si el elemento no es un caracter o tecla especial |
JuanManuelAmador | 0:3d456b8ce449 | 60 | // Se asigna el caracter en la cedena |
JuanManuelAmador | 0:3d456b8ce449 | 61 | nombre[indiceEscritura] = m[Ysel][Xsel]; |
JuanManuelAmador | 0:3d456b8ce449 | 62 | indiceEscritura++; |
JuanManuelAmador | 0:3d456b8ce449 | 63 | // Se actualiza el caracter finde cadena |
JuanManuelAmador | 0:3d456b8ce449 | 64 | if(indiceEscritura < MAXCARACTERESESCRITURA){ |
JuanManuelAmador | 0:3d456b8ce449 | 65 | nombre[indiceEscritura] = '\0'; |
JuanManuelAmador | 0:3d456b8ce449 | 66 | } |
JuanManuelAmador | 0:3d456b8ce449 | 67 | |
JuanManuelAmador | 0:3d456b8ce449 | 68 | // Se borra la cadena mostrada actualmente |
JuanManuelAmador | 0:3d456b8ce449 | 69 | lcd->Rect(POSCADENAX,1,WIDTH-2, WRITTENSPACE-2, DOGMLCD_full, wipe); |
JuanManuelAmador | 0:3d456b8ce449 | 70 | |
JuanManuelAmador | 0:3d456b8ce449 | 71 | // Se escribe la nueva cadena |
JuanManuelAmador | 0:3d456b8ce449 | 72 | lcd->XString(POSCADENAX, 1, nombre); |
JuanManuelAmador | 0:3d456b8ce449 | 73 | } |
JuanManuelAmador | 0:3d456b8ce449 | 74 | } |
JuanManuelAmador | 0:3d456b8ce449 | 75 | }else{ // Teclas especiales |
JuanManuelAmador | 0:3d456b8ce449 | 76 | if(m[Ysel][Xsel] == SPACEBAR){ // Barra espaciadora |
JuanManuelAmador | 0:3d456b8ce449 | 77 | // Se aplica un espacio |
JuanManuelAmador | 0:3d456b8ce449 | 78 | nombre[indiceEscritura] = ' '; |
JuanManuelAmador | 0:3d456b8ce449 | 79 | indiceEscritura++; |
JuanManuelAmador | 0:3d456b8ce449 | 80 | // Se actualiza el caracter fin de cadena |
JuanManuelAmador | 0:3d456b8ce449 | 81 | if(indiceEscritura < MAXCARACTERESESCRITURA){ |
JuanManuelAmador | 0:3d456b8ce449 | 82 | nombre[indiceEscritura] = '\0'; |
JuanManuelAmador | 0:3d456b8ce449 | 83 | } |
JuanManuelAmador | 0:3d456b8ce449 | 84 | }else if(m[Ysel][Xsel] == MAYUS){ |
JuanManuelAmador | 0:3d456b8ce449 | 85 | // Se intercambian los caracteres actuales mayúsculas/minúculas |
JuanManuelAmador | 0:3d456b8ce449 | 86 | // Primero se limpia la pantalla |
JuanManuelAmador | 0:3d456b8ce449 | 87 | lcd->Clear(); |
JuanManuelAmador | 0:3d456b8ce449 | 88 | mostrarRecuadro(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 89 | // Se asignan los caracteres que corresponden |
JuanManuelAmador | 0:3d456b8ce449 | 90 | if(ifMayus){ |
JuanManuelAmador | 0:3d456b8ce449 | 91 | asignarMinusculas(); |
JuanManuelAmador | 0:3d456b8ce449 | 92 | ifMayus = false; |
JuanManuelAmador | 0:3d456b8ce449 | 93 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 94 | asignarMayusculas(); |
JuanManuelAmador | 0:3d456b8ce449 | 95 | ifMayus = true; |
JuanManuelAmador | 0:3d456b8ce449 | 96 | } |
JuanManuelAmador | 0:3d456b8ce449 | 97 | // Se muestran los caracteres normales |
JuanManuelAmador | 0:3d456b8ce449 | 98 | mostrarCaracteres(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 99 | |
JuanManuelAmador | 0:3d456b8ce449 | 100 | // Se muestran los caracteres especiales |
JuanManuelAmador | 0:3d456b8ce449 | 101 | mostrarEspeciales(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 102 | |
JuanManuelAmador | 0:3d456b8ce449 | 103 | // Se escribe la selección del mayus |
JuanManuelAmador | 0:3d456b8ce449 | 104 | drawSelection(OFFSETX-2 + Xsel*CARACTER11, WRITTENSPACE + Ysel*CARACTER11, CARACTER11, CARACTER11-1, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 105 | |
JuanManuelAmador | 0:3d456b8ce449 | 106 | // select font to use: |
JuanManuelAmador | 0:3d456b8ce449 | 107 | lcd->XFont = xfont_8; |
JuanManuelAmador | 0:3d456b8ce449 | 108 | |
JuanManuelAmador | 0:3d456b8ce449 | 109 | // Se escribe la nueva cadena |
JuanManuelAmador | 0:3d456b8ce449 | 110 | lcd->XString(POSCADENAX, 1, nombre); |
JuanManuelAmador | 0:3d456b8ce449 | 111 | |
JuanManuelAmador | 0:3d456b8ce449 | 112 | // transmit work screen to physical screen: |
JuanManuelAmador | 0:3d456b8ce449 | 113 | lcd->Flush(); |
JuanManuelAmador | 0:3d456b8ce449 | 114 | }else if(m[Ysel][Xsel] == BACK){ |
JuanManuelAmador | 0:3d456b8ce449 | 115 | // Se borra el último caracter de la cadena escribiendo en su lugar un caracter fin de cadena |
JuanManuelAmador | 0:3d456b8ce449 | 116 | if(indiceEscritura > 0){ // Si hay algo que borrar |
JuanManuelAmador | 0:3d456b8ce449 | 117 | indiceEscritura--; |
JuanManuelAmador | 0:3d456b8ce449 | 118 | nombre[indiceEscritura] = '\0'; |
JuanManuelAmador | 0:3d456b8ce449 | 119 | |
JuanManuelAmador | 0:3d456b8ce449 | 120 | // Se borra la cadena mostrada actualmente |
JuanManuelAmador | 0:3d456b8ce449 | 121 | lcd->Rect(POSCADENAX,1,WIDTH-2, WRITTENSPACE-2, DOGMLCD_full, wipe); |
JuanManuelAmador | 0:3d456b8ce449 | 122 | |
JuanManuelAmador | 0:3d456b8ce449 | 123 | // Se escribe la nueva cadena |
JuanManuelAmador | 0:3d456b8ce449 | 124 | lcd->XString(POSCADENAX, 1, nombre); |
JuanManuelAmador | 0:3d456b8ce449 | 125 | } |
JuanManuelAmador | 0:3d456b8ce449 | 126 | }else if(m[Ysel][Xsel] == APLICAR){ |
JuanManuelAmador | 0:3d456b8ce449 | 127 | SC.changeScreen(nameNextScreen); |
JuanManuelAmador | 0:3d456b8ce449 | 128 | } |
JuanManuelAmador | 0:3d456b8ce449 | 129 | } |
JuanManuelAmador | 0:3d456b8ce449 | 130 | |
JuanManuelAmador | 0:3d456b8ce449 | 131 | // transmit work screen to physical screen: |
JuanManuelAmador | 0:3d456b8ce449 | 132 | lcd->Flush(); |
JuanManuelAmador | 0:3d456b8ce449 | 133 | } |
JuanManuelAmador | 0:3d456b8ce449 | 134 | |
JuanManuelAmador | 0:3d456b8ce449 | 135 | void Teclado::mostrarEspeciales(DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 136 | // Se pinta la flecha de borrado de caracteres |
JuanManuelAmador | 0:3d456b8ce449 | 137 | lcd->Rect(OFFSETX + CARACTER11*10 + 2, WRITTENSPACE + CARACTER11*3 + 3, OFFSETX + CARACTER11*10 + 2 + 6, WRITTENSPACE + CARACTER11*3 + 3 + 5); |
JuanManuelAmador | 0:3d456b8ce449 | 138 | lcd->LineV(OFFSETX + CARACTER11*10 + 1, WRITTENSPACE + CARACTER11*3 + 4, WRITTENSPACE + CARACTER11*3 + 7); |
JuanManuelAmador | 0:3d456b8ce449 | 139 | lcd->LineV(OFFSETX + CARACTER11*10, WRITTENSPACE + CARACTER11*3 + 5, WRITTENSPACE + CARACTER11*3 + 6); |
JuanManuelAmador | 0:3d456b8ce449 | 140 | |
JuanManuelAmador | 0:3d456b8ce449 | 141 | // Se pinta la flecha de mayus |
JuanManuelAmador | 0:3d456b8ce449 | 142 | lcd->Rect(OFFSETX + 2, WRITTENSPACE + CARACTER11*4 + 5, OFFSETX + 2 + 3, WRITTENSPACE + CARACTER11*4 + 5 + 4); |
JuanManuelAmador | 0:3d456b8ce449 | 143 | lcd->LineH(OFFSETX + 1, WRITTENSPACE + CARACTER11*4 + 4, OFFSETX + 1 + 5); |
JuanManuelAmador | 0:3d456b8ce449 | 144 | lcd->LineH(OFFSETX + 2, WRITTENSPACE + CARACTER11*4 + 3, OFFSETX + 2 + 3); |
JuanManuelAmador | 0:3d456b8ce449 | 145 | lcd->LineH(OFFSETX + 3, WRITTENSPACE + CARACTER11*4 + 2, OFFSETX + 3 + 1); |
JuanManuelAmador | 0:3d456b8ce449 | 146 | |
JuanManuelAmador | 0:3d456b8ce449 | 147 | // Se pinta el intro (abarca el espacio de dos elementos de la matriz) |
JuanManuelAmador | 0:3d456b8ce449 | 148 | lcd->Rect(OFFSETX + CARACTER11*10 + 5, WRITTENSPACE + CARACTER11*4 + 1, OFFSETX + CARACTER11*10 + 5 + 2, WRITTENSPACE + CARACTER11*4 + 5); |
JuanManuelAmador | 0:3d456b8ce449 | 149 | lcd->Rect(OFFSETX + CARACTER11*9 + 3, WRITTENSPACE + CARACTER11*4 + 6, OFFSETX + CARACTER11*9 + 3 + 15, WRITTENSPACE + CARACTER11*4 + 6 + 2); |
JuanManuelAmador | 0:3d456b8ce449 | 150 | lcd->LineV(OFFSETX + CARACTER11*9 + 2, WRITTENSPACE + CARACTER11*4 + 5, WRITTENSPACE + CARACTER11*4 + 5 + 4); |
JuanManuelAmador | 0:3d456b8ce449 | 151 | lcd->LineV(OFFSETX + CARACTER11*9 + 1, WRITTENSPACE + CARACTER11*4 + 6, WRITTENSPACE + CARACTER11*4 + 6 + 2); |
JuanManuelAmador | 0:3d456b8ce449 | 152 | lcd->LineV(OFFSETX + CARACTER11*9 , WRITTENSPACE + CARACTER11*4 + 7, WRITTENSPACE + CARACTER11*4 + 7); |
JuanManuelAmador | 0:3d456b8ce449 | 153 | |
JuanManuelAmador | 0:3d456b8ce449 | 154 | // Se pinta la barra espaciadora (abarca el espacio de 8 elementos de la matriz) |
JuanManuelAmador | 0:3d456b8ce449 | 155 | lcd->Rect(OFFSETX + CARACTER11 + 3, WRITTENSPACE + CARACTER11*4 + 6, OFFSETX + CARACTER11 + 79, WRITTENSPACE + CARACTER11*4 + 6 + 1); |
JuanManuelAmador | 0:3d456b8ce449 | 156 | lcd->Rect(OFFSETX + CARACTER11 + 3, WRITTENSPACE + CARACTER11*4 + 2, OFFSETX + CARACTER11 + 3 + 1, WRITTENSPACE + CARACTER11*4 + 2 + 3); |
JuanManuelAmador | 0:3d456b8ce449 | 157 | lcd->Rect(OFFSETX + CARACTER11 + 78, WRITTENSPACE + CARACTER11*4 + 2, OFFSETX + CARACTER11 + 79, WRITTENSPACE + CARACTER11*4 + 2 + 3); |
JuanManuelAmador | 0:3d456b8ce449 | 158 | } |
JuanManuelAmador | 0:3d456b8ce449 | 159 | |
JuanManuelAmador | 0:3d456b8ce449 | 160 | void Teclado::seleccionarAplicar(DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 161 | drawSelection(OFFSETX + CARACTER11 + 84, WRITTENSPACE + CARACTER11*4, 24, 10, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 162 | } |
JuanManuelAmador | 0:3d456b8ce449 | 163 | |
JuanManuelAmador | 0:3d456b8ce449 | 164 | void Teclado::deseleccionarAplicar(DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 165 | drawDeselection(OFFSETX + CARACTER11 + 84, WRITTENSPACE + CARACTER11*4, 24, 10, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 166 | } |
JuanManuelAmador | 0:3d456b8ce449 | 167 | |
JuanManuelAmador | 0:3d456b8ce449 | 168 | void Teclado::seleccionarBarraEspaciadora(DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 169 | drawSelection(OFFSETX + CARACTER11 - 1, WRITTENSPACE + CARACTER11*4, 84, 10, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 170 | } |
JuanManuelAmador | 0:3d456b8ce449 | 171 | |
JuanManuelAmador | 0:3d456b8ce449 | 172 | void Teclado::deseleccionarBarraEspaciadora(DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 173 | drawDeselection(OFFSETX + CARACTER11 - 1, WRITTENSPACE + CARACTER11*4, 84, 10, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 174 | } |
JuanManuelAmador | 0:3d456b8ce449 | 175 | |
JuanManuelAmador | 0:3d456b8ce449 | 176 | void Teclado::mostrarCaracteres(DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 177 | // select font to use: |
JuanManuelAmador | 0:3d456b8ce449 | 178 | lcd->XFont = xfont_11; |
JuanManuelAmador | 0:3d456b8ce449 | 179 | |
JuanManuelAmador | 0:3d456b8ce449 | 180 | // Se recorre la matriz mostrando todo lo que no sean caracteres o teclas especiales |
JuanManuelAmador | 0:3d456b8ce449 | 181 | for(int i = 0; i < FILASMATRIZ; i++){ |
JuanManuelAmador | 0:3d456b8ce449 | 182 | for(int j = 0; j < COLUMNASMATRIZ; j++){ |
JuanManuelAmador | 0:3d456b8ce449 | 183 | if(m[i][j] > ULTIMOCARACTERESPECIAL){ // SI el elemento no es un caracter o tecla especial |
JuanManuelAmador | 0:3d456b8ce449 | 184 | // se muestra |
JuanManuelAmador | 0:3d456b8ce449 | 185 | lcd->XChar(OFFSETX + CARACTER11*j, WRITTENSPACE + CARACTER11*i, m[i][j]); |
JuanManuelAmador | 0:3d456b8ce449 | 186 | } |
JuanManuelAmador | 0:3d456b8ce449 | 187 | } |
JuanManuelAmador | 0:3d456b8ce449 | 188 | } |
JuanManuelAmador | 0:3d456b8ce449 | 189 | } |
JuanManuelAmador | 0:3d456b8ce449 | 190 | |
JuanManuelAmador | 0:3d456b8ce449 | 191 | void Teclado::mostrarRecuadro(DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 192 | lcd->Frame(0, 0,WIDTH-1, WRITTENSPACE-1); |
JuanManuelAmador | 0:3d456b8ce449 | 193 | } |
JuanManuelAmador | 0:3d456b8ce449 | 194 | |
JuanManuelAmador | 0:3d456b8ce449 | 195 | // El botón 1 sube la selección al elemento superior al actual |
JuanManuelAmador | 0:3d456b8ce449 | 196 | void Teclado::button1pressed(DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 197 | // Si sales de los elementos seleccionables no se cambia de selección |
JuanManuelAmador | 0:3d456b8ce449 | 198 | if((Ysel - 1) >= 0){ |
JuanManuelAmador | 0:3d456b8ce449 | 199 | // Si se venía de la última fila (teclas especiales) |
JuanManuelAmador | 0:3d456b8ce449 | 200 | if(Ysel == (FILASMATRIZ-1) ){ |
JuanManuelAmador | 0:3d456b8ce449 | 201 | // Si se venía la barra espaciadora se selecciona esta |
JuanManuelAmador | 0:3d456b8ce449 | 202 | if(m[Ysel][Xsel] == SPACEBAR){ |
JuanManuelAmador | 0:3d456b8ce449 | 203 | deseleccionarBarraEspaciadora(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 204 | }else if(m[Ysel][Xsel] == APLICAR){ // Si se venía de la tecla aplicar se selecciona esta |
JuanManuelAmador | 0:3d456b8ce449 | 205 | deseleccionarAplicar(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 206 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 207 | // se venía del mayus mayus |
JuanManuelAmador | 0:3d456b8ce449 | 208 | drawDeselection(OFFSETX-2 + Xsel*CARACTER11, WRITTENSPACE + Ysel*CARACTER11, CARACTER11, CARACTER11-1, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 209 | } |
JuanManuelAmador | 0:3d456b8ce449 | 210 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 211 | // Se deselecciona la tecla anterior |
JuanManuelAmador | 0:3d456b8ce449 | 212 | drawDeselection(OFFSETX-2 + Xsel*CARACTER11, WRITTENSPACE + Ysel*CARACTER11, CARACTER11, CARACTER11, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 213 | } |
JuanManuelAmador | 0:3d456b8ce449 | 214 | |
JuanManuelAmador | 0:3d456b8ce449 | 215 | // Se selecciona el nuevo elemento |
JuanManuelAmador | 0:3d456b8ce449 | 216 | Ysel--; |
JuanManuelAmador | 0:3d456b8ce449 | 217 | |
JuanManuelAmador | 0:3d456b8ce449 | 218 | // Se escribe la nueva selección |
JuanManuelAmador | 0:3d456b8ce449 | 219 | drawSelection(OFFSETX-2 + Xsel*CARACTER11, WRITTENSPACE + Ysel*CARACTER11, CARACTER11, CARACTER11, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 220 | |
JuanManuelAmador | 0:3d456b8ce449 | 221 | // transmit work screen to physical screen: |
JuanManuelAmador | 0:3d456b8ce449 | 222 | lcd->Flush(); |
JuanManuelAmador | 0:3d456b8ce449 | 223 | } |
JuanManuelAmador | 0:3d456b8ce449 | 224 | } |
JuanManuelAmador | 0:3d456b8ce449 | 225 | |
JuanManuelAmador | 0:3d456b8ce449 | 226 | // El botón 2 desplaza la selección al elemento izquierdo al actual |
JuanManuelAmador | 0:3d456b8ce449 | 227 | void Teclado::button2pressed(DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 228 | // Si sales de los elementos seleccionables no se cambia de selección |
JuanManuelAmador | 0:3d456b8ce449 | 229 | if((Xsel - 1) >= 0){ |
JuanManuelAmador | 0:3d456b8ce449 | 230 | // Si se está en la última fila |
JuanManuelAmador | 0:3d456b8ce449 | 231 | if(Ysel == (FILASMATRIZ-1) ){ |
JuanManuelAmador | 0:3d456b8ce449 | 232 | // Se se venía de la tecla aplicar |
JuanManuelAmador | 0:3d456b8ce449 | 233 | if(m[Ysel][Xsel] == APLICAR){ |
JuanManuelAmador | 0:3d456b8ce449 | 234 | deseleccionarAplicar(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 235 | seleccionarBarraEspaciadora(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 236 | // Se mueven dos elementos a la izquierda |
JuanManuelAmador | 0:3d456b8ce449 | 237 | Xsel -= 2; |
JuanManuelAmador | 0:3d456b8ce449 | 238 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 239 | deseleccionarBarraEspaciadora(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 240 | // Se mueve la selección al elemento de la izquierda |
JuanManuelAmador | 0:3d456b8ce449 | 241 | Xsel = 0; |
JuanManuelAmador | 0:3d456b8ce449 | 242 | // Se escribe la nueva selección (la selección es CARACTER11-1 por razones de espacio) (tecla mayus) |
JuanManuelAmador | 0:3d456b8ce449 | 243 | drawSelection(OFFSETX-2 + Xsel*CARACTER11, WRITTENSPACE + Ysel*CARACTER11, CARACTER11, CARACTER11-1, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 244 | } |
JuanManuelAmador | 0:3d456b8ce449 | 245 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 246 | // Se borra la selección anterior |
JuanManuelAmador | 0:3d456b8ce449 | 247 | drawDeselection(OFFSETX-2 + Xsel*CARACTER11, WRITTENSPACE + Ysel*CARACTER11, CARACTER11, CARACTER11, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 248 | // Se selecciona el nuevo elemento |
JuanManuelAmador | 0:3d456b8ce449 | 249 | Xsel--; |
JuanManuelAmador | 0:3d456b8ce449 | 250 | // Se escribe la nueva selección |
JuanManuelAmador | 0:3d456b8ce449 | 251 | drawSelection(OFFSETX-2 + Xsel*CARACTER11, WRITTENSPACE + Ysel*CARACTER11, CARACTER11, CARACTER11, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 252 | } |
JuanManuelAmador | 0:3d456b8ce449 | 253 | // transmit work screen to physical screen: |
JuanManuelAmador | 0:3d456b8ce449 | 254 | lcd->Flush(); |
JuanManuelAmador | 0:3d456b8ce449 | 255 | } |
JuanManuelAmador | 0:3d456b8ce449 | 256 | } |
JuanManuelAmador | 0:3d456b8ce449 | 257 | |
JuanManuelAmador | 0:3d456b8ce449 | 258 | // El botón 3 desplaza la selección al elemento derecho al actual |
JuanManuelAmador | 0:3d456b8ce449 | 259 | void Teclado::button3pressed(DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 260 | // Si sales de los elementos seleccionables no se cambia de selección |
JuanManuelAmador | 0:3d456b8ce449 | 261 | if((Xsel + 1) < COLUMNASMATRIZ){ |
JuanManuelAmador | 0:3d456b8ce449 | 262 | // Si se está en la última fila |
JuanManuelAmador | 0:3d456b8ce449 | 263 | if(Ysel == (FILASMATRIZ-1) ){ |
JuanManuelAmador | 0:3d456b8ce449 | 264 | // Se se venía de la tecla mayus |
JuanManuelAmador | 0:3d456b8ce449 | 265 | if(m[Ysel][Xsel] == MAYUS){ |
JuanManuelAmador | 0:3d456b8ce449 | 266 | drawDeselection(OFFSETX-2 + Xsel*CARACTER11, WRITTENSPACE + Ysel*CARACTER11, CARACTER11, CARACTER11-1, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 267 | seleccionarBarraEspaciadora(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 268 | // Se mueven un elemento a la derecha |
JuanManuelAmador | 0:3d456b8ce449 | 269 | Xsel++; |
JuanManuelAmador | 0:3d456b8ce449 | 270 | }else if(m[Ysel][Xsel] == SPACEBAR){ //si se venía de la barra espaciadora |
JuanManuelAmador | 0:3d456b8ce449 | 271 | deseleccionarBarraEspaciadora(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 272 | // Se mueve la selección al penultimo elemento |
JuanManuelAmador | 0:3d456b8ce449 | 273 | Xsel = 9; |
JuanManuelAmador | 0:3d456b8ce449 | 274 | // Se escribe la nueva selección (la selección es CARACTER11-1 por razones de espacio) (tecla mayus) |
JuanManuelAmador | 0:3d456b8ce449 | 275 | seleccionarAplicar(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 276 | } |
JuanManuelAmador | 0:3d456b8ce449 | 277 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 278 | // Se borra la selección anterior |
JuanManuelAmador | 0:3d456b8ce449 | 279 | drawDeselection(OFFSETX-2 + Xsel*CARACTER11, WRITTENSPACE + Ysel*CARACTER11, CARACTER11, CARACTER11, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 280 | // Se selecciona el nuevo elemento |
JuanManuelAmador | 0:3d456b8ce449 | 281 | Xsel++; |
JuanManuelAmador | 0:3d456b8ce449 | 282 | // Se escribe la nueva selección |
JuanManuelAmador | 0:3d456b8ce449 | 283 | drawSelection(OFFSETX-2 + Xsel*CARACTER11, WRITTENSPACE + Ysel*CARACTER11, CARACTER11, CARACTER11, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 284 | } |
JuanManuelAmador | 0:3d456b8ce449 | 285 | |
JuanManuelAmador | 0:3d456b8ce449 | 286 | // transmit work screen to physical screen: |
JuanManuelAmador | 0:3d456b8ce449 | 287 | lcd->Flush(); |
JuanManuelAmador | 0:3d456b8ce449 | 288 | } |
JuanManuelAmador | 0:3d456b8ce449 | 289 | } |
JuanManuelAmador | 0:3d456b8ce449 | 290 | |
JuanManuelAmador | 0:3d456b8ce449 | 291 | // El botón 4 baja la selección al elemento superior al actual |
JuanManuelAmador | 0:3d456b8ce449 | 292 | void Teclado::button4pressed(DogMLCD* lcd){ |
JuanManuelAmador | 0:3d456b8ce449 | 293 | // Si sales de los elementos seleccionables no se cambia de selección |
JuanManuelAmador | 0:3d456b8ce449 | 294 | if((Ysel + 1) < FILASMATRIZ){ |
JuanManuelAmador | 0:3d456b8ce449 | 295 | // Se borra la selección anterior |
JuanManuelAmador | 0:3d456b8ce449 | 296 | drawDeselection(OFFSETX-2 + Xsel*CARACTER11, WRITTENSPACE + Ysel*CARACTER11, CARACTER11, CARACTER11, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 297 | // Se selecciona el nuevo elemento |
JuanManuelAmador | 0:3d456b8ce449 | 298 | Ysel++; |
JuanManuelAmador | 0:3d456b8ce449 | 299 | |
JuanManuelAmador | 0:3d456b8ce449 | 300 | // Si la siguiente fila es la última (teclas especiales) |
JuanManuelAmador | 0:3d456b8ce449 | 301 | if(Ysel == (FILASMATRIZ-1) ){ |
JuanManuelAmador | 0:3d456b8ce449 | 302 | // Se guarda la última tecla que estaba seleccionada |
JuanManuelAmador | 0:3d456b8ce449 | 303 | lastXsel = Xsel; |
JuanManuelAmador | 0:3d456b8ce449 | 304 | lastYsel = Ysel-1; |
JuanManuelAmador | 0:3d456b8ce449 | 305 | // Si se va hacia la barra espaciadora se selecciona esta |
JuanManuelAmador | 0:3d456b8ce449 | 306 | if(m[Ysel][Xsel] == SPACEBAR){ |
JuanManuelAmador | 0:3d456b8ce449 | 307 | seleccionarBarraEspaciadora(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 308 | }else if(m[Ysel][Xsel] == APLICAR){ // Si se va hacia la tecla aplicar se selecciona esta |
JuanManuelAmador | 0:3d456b8ce449 | 309 | seleccionarAplicar(lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 310 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 311 | // Se escribe la nueva selección (la selección es CARACTER11-1 por razones de espacio) (tecla mayus) |
JuanManuelAmador | 0:3d456b8ce449 | 312 | drawSelection(OFFSETX-2 + Xsel*CARACTER11, WRITTENSPACE + Ysel*CARACTER11, CARACTER11, CARACTER11-1, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 313 | } |
JuanManuelAmador | 0:3d456b8ce449 | 314 | }else{ |
JuanManuelAmador | 0:3d456b8ce449 | 315 | // Se escribe la nueva selección |
JuanManuelAmador | 0:3d456b8ce449 | 316 | drawSelection(OFFSETX-2 + Xsel*CARACTER11, WRITTENSPACE + Ysel*CARACTER11, CARACTER11, CARACTER11, lcd); |
JuanManuelAmador | 0:3d456b8ce449 | 317 | } |
JuanManuelAmador | 0:3d456b8ce449 | 318 | |
JuanManuelAmador | 0:3d456b8ce449 | 319 | // transmit work screen to physical screen: |
JuanManuelAmador | 0:3d456b8ce449 | 320 | lcd->Flush(); |
JuanManuelAmador | 0:3d456b8ce449 | 321 | } |
JuanManuelAmador | 0:3d456b8ce449 | 322 | } |
JuanManuelAmador | 0:3d456b8ce449 | 323 | |
JuanManuelAmador | 0:3d456b8ce449 | 324 | char *Teclado::getNombre(){ |
JuanManuelAmador | 0:3d456b8ce449 | 325 | return nombre; |
JuanManuelAmador | 0:3d456b8ce449 | 326 | } |
JuanManuelAmador | 0:3d456b8ce449 | 327 | |
JuanManuelAmador | 0:3d456b8ce449 | 328 | // Esta función guarda la pantalla a la que se debe volver en caso de ser pulsado el boton atras |
JuanManuelAmador | 0:3d456b8ce449 | 329 | void Teclado::setNextScreen(char nameScreen[NCARSCREEN]){ |
JuanManuelAmador | 0:3d456b8ce449 | 330 | strcpy(nameNextScreen, nameScreen); |
JuanManuelAmador | 0:3d456b8ce449 | 331 | } |
JuanManuelAmador | 0:3d456b8ce449 | 332 | |
JuanManuelAmador | 0:3d456b8ce449 | 333 | void Teclado::asignarMinusculas(){ |
JuanManuelAmador | 0:3d456b8ce449 | 334 | // Primera fila |
JuanManuelAmador | 0:3d456b8ce449 | 335 | m[0][0] = 'q'; |
JuanManuelAmador | 0:3d456b8ce449 | 336 | m[0][1] = 'w'; |
JuanManuelAmador | 0:3d456b8ce449 | 337 | m[0][2] = 'e'; |
JuanManuelAmador | 0:3d456b8ce449 | 338 | m[0][3] = 'r'; |
JuanManuelAmador | 0:3d456b8ce449 | 339 | m[0][4] = 't'; |
JuanManuelAmador | 0:3d456b8ce449 | 340 | m[0][5] = 'y'; |
JuanManuelAmador | 0:3d456b8ce449 | 341 | m[0][6] = 'u'; |
JuanManuelAmador | 0:3d456b8ce449 | 342 | m[0][7] = 'i'; |
JuanManuelAmador | 0:3d456b8ce449 | 343 | m[0][8] = 'o'; |
JuanManuelAmador | 0:3d456b8ce449 | 344 | m[0][9] = 'p'; |
JuanManuelAmador | 0:3d456b8ce449 | 345 | m[0][10] = '('; |
JuanManuelAmador | 0:3d456b8ce449 | 346 | |
JuanManuelAmador | 0:3d456b8ce449 | 347 | // Segunda fila |
JuanManuelAmador | 0:3d456b8ce449 | 348 | m[1][0] = 'a'; |
JuanManuelAmador | 0:3d456b8ce449 | 349 | m[1][1] = 's'; |
JuanManuelAmador | 0:3d456b8ce449 | 350 | m[1][2] = 'd'; |
JuanManuelAmador | 0:3d456b8ce449 | 351 | m[1][3] = 'f'; |
JuanManuelAmador | 0:3d456b8ce449 | 352 | m[1][4] = 'g'; |
JuanManuelAmador | 0:3d456b8ce449 | 353 | m[1][5] = 'h'; |
JuanManuelAmador | 0:3d456b8ce449 | 354 | m[1][6] = 'j'; |
JuanManuelAmador | 0:3d456b8ce449 | 355 | m[1][7] = 'k'; |
JuanManuelAmador | 0:3d456b8ce449 | 356 | m[1][8] = 'l'; |
JuanManuelAmador | 0:3d456b8ce449 | 357 | m[1][9] = 164; |
JuanManuelAmador | 0:3d456b8ce449 | 358 | m[1][10] = ')'; |
JuanManuelAmador | 0:3d456b8ce449 | 359 | |
JuanManuelAmador | 0:3d456b8ce449 | 360 | // Tercera fila |
JuanManuelAmador | 0:3d456b8ce449 | 361 | m[2][0] = 'z'; |
JuanManuelAmador | 0:3d456b8ce449 | 362 | m[2][1] = 'x'; |
JuanManuelAmador | 0:3d456b8ce449 | 363 | m[2][2] = 'c'; |
JuanManuelAmador | 0:3d456b8ce449 | 364 | m[2][3] = 'v'; |
JuanManuelAmador | 0:3d456b8ce449 | 365 | m[2][4] = 'b'; |
JuanManuelAmador | 0:3d456b8ce449 | 366 | m[2][5] = 'n'; |
JuanManuelAmador | 0:3d456b8ce449 | 367 | m[2][6] = 'm'; |
JuanManuelAmador | 0:3d456b8ce449 | 368 | m[2][7] = ','; |
JuanManuelAmador | 0:3d456b8ce449 | 369 | m[2][8] = '.'; |
JuanManuelAmador | 0:3d456b8ce449 | 370 | m[2][9] = ';'; |
JuanManuelAmador | 0:3d456b8ce449 | 371 | m[2][10] = '_'; |
JuanManuelAmador | 0:3d456b8ce449 | 372 | |
JuanManuelAmador | 0:3d456b8ce449 | 373 | // Cuarta fila |
JuanManuelAmador | 0:3d456b8ce449 | 374 | m[3][0] = '1'; |
JuanManuelAmador | 0:3d456b8ce449 | 375 | m[3][1] = '2'; |
JuanManuelAmador | 0:3d456b8ce449 | 376 | m[3][2] = '3'; |
JuanManuelAmador | 0:3d456b8ce449 | 377 | m[3][3] = '4'; |
JuanManuelAmador | 0:3d456b8ce449 | 378 | m[3][4] = '5'; |
JuanManuelAmador | 0:3d456b8ce449 | 379 | m[3][5] = '6'; |
JuanManuelAmador | 0:3d456b8ce449 | 380 | m[3][6] = '7'; |
JuanManuelAmador | 0:3d456b8ce449 | 381 | m[3][7] = '8'; |
JuanManuelAmador | 0:3d456b8ce449 | 382 | m[3][8] = '9'; |
JuanManuelAmador | 0:3d456b8ce449 | 383 | m[3][9] = '0'; |
JuanManuelAmador | 0:3d456b8ce449 | 384 | m[3][10] = BACK; |
JuanManuelAmador | 0:3d456b8ce449 | 385 | |
JuanManuelAmador | 0:3d456b8ce449 | 386 | // Quinta fila |
JuanManuelAmador | 0:3d456b8ce449 | 387 | m[4][0] = MAYUS; |
JuanManuelAmador | 0:3d456b8ce449 | 388 | m[4][1] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 389 | m[4][2] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 390 | m[4][3] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 391 | m[4][4] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 392 | m[4][5] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 393 | m[4][6] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 394 | m[4][7] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 395 | m[4][8] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 396 | m[4][9] = APLICAR; |
JuanManuelAmador | 0:3d456b8ce449 | 397 | m[4][10] = APLICAR; |
JuanManuelAmador | 0:3d456b8ce449 | 398 | } |
JuanManuelAmador | 0:3d456b8ce449 | 399 | |
JuanManuelAmador | 0:3d456b8ce449 | 400 | void Teclado::asignarMayusculas(){ |
JuanManuelAmador | 0:3d456b8ce449 | 401 | // Primera fila |
JuanManuelAmador | 0:3d456b8ce449 | 402 | m[0][0] = 'Q'; |
JuanManuelAmador | 0:3d456b8ce449 | 403 | m[0][1] = 'W'; |
JuanManuelAmador | 0:3d456b8ce449 | 404 | m[0][2] = 'E'; |
JuanManuelAmador | 0:3d456b8ce449 | 405 | m[0][3] = 'R'; |
JuanManuelAmador | 0:3d456b8ce449 | 406 | m[0][4] = 'T'; |
JuanManuelAmador | 0:3d456b8ce449 | 407 | m[0][5] = 'Y'; |
JuanManuelAmador | 0:3d456b8ce449 | 408 | m[0][6] = 'U'; |
JuanManuelAmador | 0:3d456b8ce449 | 409 | m[0][7] = 'I'; |
JuanManuelAmador | 0:3d456b8ce449 | 410 | m[0][8] = 'O'; |
JuanManuelAmador | 0:3d456b8ce449 | 411 | m[0][9] = 'P'; |
JuanManuelAmador | 0:3d456b8ce449 | 412 | m[0][10] = '('; |
JuanManuelAmador | 0:3d456b8ce449 | 413 | |
JuanManuelAmador | 0:3d456b8ce449 | 414 | // Segunda fila |
JuanManuelAmador | 0:3d456b8ce449 | 415 | m[1][0] = 'A'; |
JuanManuelAmador | 0:3d456b8ce449 | 416 | m[1][1] = 'S'; |
JuanManuelAmador | 0:3d456b8ce449 | 417 | m[1][2] = 'D'; |
JuanManuelAmador | 0:3d456b8ce449 | 418 | m[1][3] = 'F'; |
JuanManuelAmador | 0:3d456b8ce449 | 419 | m[1][4] = 'G'; |
JuanManuelAmador | 0:3d456b8ce449 | 420 | m[1][5] = 'H'; |
JuanManuelAmador | 0:3d456b8ce449 | 421 | m[1][6] = 'J'; |
JuanManuelAmador | 0:3d456b8ce449 | 422 | m[1][7] = 'K'; |
JuanManuelAmador | 0:3d456b8ce449 | 423 | m[1][8] = 'L'; |
JuanManuelAmador | 0:3d456b8ce449 | 424 | m[1][9] = 165; |
JuanManuelAmador | 0:3d456b8ce449 | 425 | m[1][10] = ')'; |
JuanManuelAmador | 0:3d456b8ce449 | 426 | |
JuanManuelAmador | 0:3d456b8ce449 | 427 | // Tercera fila |
JuanManuelAmador | 0:3d456b8ce449 | 428 | m[2][0] = 'Z'; |
JuanManuelAmador | 0:3d456b8ce449 | 429 | m[2][1] = 'X'; |
JuanManuelAmador | 0:3d456b8ce449 | 430 | m[2][2] = 'C'; |
JuanManuelAmador | 0:3d456b8ce449 | 431 | m[2][3] = 'V'; |
JuanManuelAmador | 0:3d456b8ce449 | 432 | m[2][4] = 'B'; |
JuanManuelAmador | 0:3d456b8ce449 | 433 | m[2][5] = 'N'; |
JuanManuelAmador | 0:3d456b8ce449 | 434 | m[2][6] = 'M'; |
JuanManuelAmador | 0:3d456b8ce449 | 435 | m[2][7] = ','; |
JuanManuelAmador | 0:3d456b8ce449 | 436 | m[2][8] = '.'; |
JuanManuelAmador | 0:3d456b8ce449 | 437 | m[2][9] = ';'; |
JuanManuelAmador | 0:3d456b8ce449 | 438 | m[2][10] = '_'; |
JuanManuelAmador | 0:3d456b8ce449 | 439 | |
JuanManuelAmador | 0:3d456b8ce449 | 440 | // Cuarta fila |
JuanManuelAmador | 0:3d456b8ce449 | 441 | m[3][0] = '1'; |
JuanManuelAmador | 0:3d456b8ce449 | 442 | m[3][1] = '2'; |
JuanManuelAmador | 0:3d456b8ce449 | 443 | m[3][2] = '3'; |
JuanManuelAmador | 0:3d456b8ce449 | 444 | m[3][3] = '4'; |
JuanManuelAmador | 0:3d456b8ce449 | 445 | m[3][4] = '5'; |
JuanManuelAmador | 0:3d456b8ce449 | 446 | m[3][5] = '6'; |
JuanManuelAmador | 0:3d456b8ce449 | 447 | m[3][6] = '7'; |
JuanManuelAmador | 0:3d456b8ce449 | 448 | m[3][7] = '8'; |
JuanManuelAmador | 0:3d456b8ce449 | 449 | m[3][8] = '9'; |
JuanManuelAmador | 0:3d456b8ce449 | 450 | m[3][9] = '0'; |
JuanManuelAmador | 0:3d456b8ce449 | 451 | m[3][10] = BACK; |
JuanManuelAmador | 0:3d456b8ce449 | 452 | |
JuanManuelAmador | 0:3d456b8ce449 | 453 | // Quinta fila |
JuanManuelAmador | 0:3d456b8ce449 | 454 | m[4][0] = MAYUS; |
JuanManuelAmador | 0:3d456b8ce449 | 455 | m[4][1] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 456 | m[4][2] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 457 | m[4][3] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 458 | m[4][4] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 459 | m[4][5] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 460 | m[4][6] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 461 | m[4][7] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 462 | m[4][8] = SPACEBAR; |
JuanManuelAmador | 0:3d456b8ce449 | 463 | m[4][9] = APLICAR; |
JuanManuelAmador | 0:3d456b8ce449 | 464 | m[4][10] = APLICAR; |
JuanManuelAmador | 0:3d456b8ce449 | 465 | } |