Allegro 5 - estado del teclado

Iniciado por NOIS, 10 Marzo 2015, 05:21 AM

0 Miembros y 1 Visitante están viendo este tema.

NOIS

Hola a todos,
Estoy intentando crear mis propias cajas de texto con C++/Allegro5 y necesitaría saber como detectar si una tecla está activa, como BLOQ_MAYUS o BLOQ_NUM sin tener que esperar a que el usuario haya pulsado la tecla para evaluar su estado.

Necesito un método que no sea el de Windows, uno propio de Allegro o uno de C++ que valga para varias plataformas.

Gracias de antemano.
NOIS dev7

NOIS

Ya encontré una solución más sencilla que lo que pretendía hacer, la dejo aquí por si a alguien le interesa.

No lo sabía, pero ayer buscando vi que hay un evento en A5 llamado ALLEGRO_EVENT_KEY_CHAR que registra los caracteres generados por la pulsación de las teclas y devuelve su valor en ASCII, así se puede crear una entrada de texto en tiempo real por si quisieramos pedir algún dato a los usuarios.

Un ejemplo podría ser este:

Código (cpp) [Seleccionar]

if(ev.type == ALLEGRO_EVENT_KEY_CHAR)
        {       
         end = str.strlength();     
             if(key[BACKSPACE]) str = str.substr(0, end-1); // Para borrar el ultimo caracter si se presiona la tecla "BACKSPACE".
             else
             {
                  str += (char)ev.keyboard.unichar;
             }
        }


Espero que a alguien le sirva  ;)

Saludos!
NOIS dev7