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.
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:
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!