Saltar al contenido

¿Cuáles son los valores ASCII de arriba abajo izquierda derecha?

Estate atento ya que en esta reseña encontrarás la respuesta que buscas.Esta reseña fue aprobado por nuestros especialistas para asegurar la calidad y veracidad de nuestro contenido.

Solución:

En breve:

flecha izquierda: 37
flecha arriba: 38
flecha derecha: 39
flecha hacia abajo: 40

No hay códigos ascii reales para estos keys como tal, deberá verificar los códigos de escaneo para estos keysconocido como hacer y romper key códigos según la información de helppc. La razón por la que los códigos suenan ‘ascii’ es porque el key los códigos son manejados por la antigua interrupción del BIOS 0x16 y la interrupción del teclado 0x9.

                 Normal Mode            Num lock on
                 Make    Break        Make          Break
Down arrow       E0 50   E0 D0     E0 2A E0 50   E0 D0 E0 AA
Left arrow       E0 4B   E0 CB     E0 2A E0 4B   E0 CB E0 AA
Right arrow      E0 4D   E0 CD     E0 2A E0 4D   E0 CD E0 AA
Up arrow         E0 48   E0 C8     E0 2A E0 48   E0 C8 E0 AA

Por lo tanto, mirando los códigos que siguen a E0 para el Make key código, como 0x50, 0x4B, 0x4D, 0x48 respectivamente, ahí es donde surge la confusión al mirar key-códigos y tratándolos como ‘ascii’… la respuesta es no como varía la plataforma, varía el sistema operativo, bajo Windows tendría virtual key código correspondiente a esos keysno necesariamente los mismos que los códigos de BIOS, VK_UP, VK_DOWN, VK_LEFT, VK_RIGHT.. esto se encontrará en el archivo de encabezado de su C++ windows.h, según recuerdo en la carpeta de inclusión del SDK.

No confíes en el key-códigos para tener los mismos códigos ‘idénticos ascii’ que se muestran aquí, ya que el sistema operativo reprogramará todo el código del BIOS en lo que el sistema operativo considere adecuado, naturalmente, eso sería de esperar porque, dado que el código del BIOS es de 16 bits, y el sistema operativo (hoy en día es de 32 bits modo protegido), por supuesto esos códigos de la BIOS ya no serán válidos.

Por lo tanto, la interrupción del teclado original 0x9 y la interrupción del BIOS 0x16 se borrarán de la memoria después de que el BIOS la cargue y cuando el sistema operativo en modo protegido comience a cargarse, sobrescribirá esa área de la memoria y la reemplazará con sus propios controladores de modo protegido de 32 bits para tratar con esos códigos de escaneo del teclado.

Aquí hay una muestra de código de los viejos tiempos de la programación de DOS, usando Borland C v3:

#include 
int getKey(void)
    int key, lo, hi;
    key = bioskey(0);
    lo = key & 0x00FF;
    hi = (key & 0xFF00) >> 8;
    return (lo == 0) ? hi + 256 : lo;

Esta rutina en realidad, devolvió los códigos para arriba, abajo es 328 y 336 respectivamente (no tengo el código para izquierda y derecha en realidad, ¡esto está en mi antiguo libro de cocina!) El código de escaneo real se encuentra en el lo variable. Las teclas que no sean AZ, 0-9, tenían un código de escaneo de 0 a través del bioskey rutina…. se agrega la razón 256, porque la variable lo tiene código de 0 y el hi la variable tendría el código de escaneo y le agregaría 256 para no confundirlo con los códigos ‘ascii’…

Realmente, la respuesta a esta pregunta depende del sistema operativo y el lenguaje de programación que esté utilizando. No existe un “código ASCII” per se. El sistema operativo detecta que golpeas una flecha key y desencadena un evento que los programas pueden capturar. Por ejemplo, en las máquinas Windows modernas, obtendría un evento WM_KEYUP o WM_KEYDOWN. Normalmente pasa un valor de 16 bits para determinar qué key fue empujado

Acuérdate de que te damos el privilegio añadir una puntuación si acertaste tu contratiempo en el momento concreto.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *