Constantes: Códigos de las teclas


Estas constantes se utilizan normalmente como parámetro de la función key(), para indicar qué tecla es la que se desea saber si está pulsada.

También se pueden utilizar para comparar la variable global scan_code, que contiene el código de la última tecla que se ha pulsado, con estos valores.

Normalmente, para designar a cada constante se suele usar el carácter _ (subrayado) seguido del nombre de la tecla, por ejemplo para la tecla [A], la constante referida a su código será _a.

La lista completa de estas constantes, con sus respectivos valores, es la siguiente (según la disposición estándar del teclado):

_esc         = [ESC] o escape
_f1          = [F1] o función 1
_f2          = [F2] o función 2
_f3          = [F3] o función 3
_f4          = [F4] o función 4
_f5          = [F5] o función 5
_f6          = [F6] o función 6
_f7          = [F7] o función 7
_f8          = [F8] o función 8
_f9          = [F9] o función 9
_f10         = [F10] o función 10
_f11         = [F11] o función 11
_f12         = [F12] o función 12 (TRAZADOR)
_prn_scr     = [IMPR PANT] o impresión pantalla
_scroll_lock = [BLOQ DESPL] o bloqueo desplazamiento

_1           = Tecla con el número "1" _2           = Tecla con el número "2" _3           = Tecla con el número "3" _4           = Tecla con el número "4" _5           = Tecla con el número "5" _6           = Tecla con el número "6" _7           = Tecla con el número "7" _8           = Tecla con el número "8" _9           = Tecla con el número "9" _0           = Tecla con el número "0" _minus       = Tecla con el símbolo "'" _plus        = Tecla con el símbolo "¡"

_backspace   = Tecla de borrado _tab         = Tecla de tabulador [TAB] _q           = Tecla con la letra "Q" _w           = Tecla con la letra "W" _e           = Tecla con la letra "E" _r           = Tecla con la letra "R" _t           = Tecla con la letra "T" _y           = Tecla con la letra "Y" _u           = Tecla con la letra "U" _i           = Tecla con la letra "I" _o           = Tecla con la letra "O" _p           = Tecla con la letra "P" _l_brachet   = Tecla [^] o [`] _r_brachet   = Tecla [*] o [+] _enter       = Tecla [ENTER] (Intro o Retorno)

_caps_lock   = Tecla [BLOQ MAYUS] o bloqueo mayúsculas _a           = Tecla con la letra "A" _s           = Tecla con la letra "S" _d           = Tecla con la letra "D" _f           = Tecla con la letra "F" _g           = Tecla con la letra "G" _h           = Tecla con la letra "H" _j           = Tecla con la letra "J" _k           = Tecla con la letra "K" _l           = Tecla con la letra "L" _semicolon   = Tecla con la letra "Ñ" _apostrophe  = Tecla [´] _backslash   = Tecla [ç]

_l_shift     = Tecla [SHIFT] o mayúsculas izquierdo _z           = Tecla con la letra "Z" _x           = Tecla con la letra "X" _c           = Tecla con la letra "C" _v           = Tecla con la letra "V" _b           = Tecla con la letra "B" _n           = Tecla con la letra "N" _m           = Tecla con la letra "M" _comma       = Tecla [;] o [,] _point       = Tecla [:] o [.] _slash       = Tecla [_] o [-] _r_shift     = Tecla [SHIFT] o mayúsculas derecho _l_control   = Tecla [CONTROL IZQUIERDO] _l_win       = Tecla [WIN IZQUIERDO] _alt         = Tecla [ALT] _space       = Tecla [SPACE] o barra espaciadora _alt_gr      = Tecla [ALT GR] _r_win       = Tecla [WIN DERECHO] _menu        = Tecla [MENU] _r_control   = Tecla [CONTROL DERECHO] _ins         = [INSERT] o insertar _home        = [INICIO] o inicio de página _pgup        = [RE PAG] o retroceso de página _del         = [SUPR] o suprimir _end         = [FIN] o fin de página _pgdn        = [AV PAG] o avance de página _up          = Cursor para arriba _down        = Cursor para abajo _left        = Cursor para izquierda _right       = Cursor para derecha _num_lock    = [BLOQ NUM] o bloqueo numérico _c_backslash = Símbolo [/] del teclado numérico _c_asterisk  = Símbolo [*] del teclado numérico _c_minus     = Símbolo [-] del teclado numérico _c_home      = [INICIO] del teclado numérico _c_up        = Cursor arriba del teclado numérico _c_pgup      = [RE PAG] del teclado numérico _c_left      = Cursor izquierda del teclado numérico _c_center    = Tecla [5] del teclado numérico _c_right     = Cursor derecha del teclado numérico _c_end       = [FIN] del teclado numérico _c_down      = Cursor abajo del teclado numérico _c_pgdn      = [AV PAG] del teclado numérico _c_ins       = [INS] del teclado numérico _c_del       = [SUPR] del teclado numérico _c_plus      = Símbolo [+] del teclado numérico _c_enter     = [ENTER] del teclado numérico

int teclas[128];
int shift_status;
MAIN_PROGRAM_CDIV
PRIVATE
    int
    x;
BEGIN_PROGRAM
 set_gfx(GFX_AUTODETECT_WINDOWED);
 set_mode(m320x200);
 
 write(0, 0, 0, 0, "Codigos de las teclas pulsadas");
 
 for(x = 0; x <= 127; x++){
  write_int(0, (x%16)*20, (x/16)*10+20, 0, &(teclas[x]));
 }
 write(0, 0, 160, 0, "Codigo de ultima tecla (scan_code):");
 write_int(0, 320, 160, 2, &scan_code); 
 write(0, 0, 180, 0, "Codigo de ultima tecla (last_key)....:");
 write_int(0, 320, 180, 2, &last_key);
 write(0, 0, 190, 0, "Teclas especiales (shift_status)..:");
 write_int(0, 320, 190, 2, &shift_status)
 
 LOOP{
        shift_status = key_shifts;
        for(x = 0; x <= 127; x++){
            if (key(x))
                teclas[x]=x;
            else
                teclas[x]=0;
        }
        FRAME;
 }
END_PROGRAM

Ver: Constantes - key() - scan_code - key_shifts