Búfer de teclado
Búfer para leer las pulsaciones del teclado de forma síncrona o asíncrona.
Funciones
KeyBuf* | keybuf_create (void) |
void | keybuf_destroy (...) |
void | keybuf_OnUp (...) |
void | keybuf_OnDown (...) |
void | keybuf_clear (...) |
bool_t | keybuf_pressed (...) |
void | keybuf_str (...) |
void | keybuf_dump (...) |
El sistema operativo genera eventos relacionados con la pulsación o liberación de las teclas view_OnDown view_OnUp. En ciertas ocasiones necesitamos saber el estado de una tecla sin tener por ello que estar pendientes de los eventos que generan. KeyBuf nos ofrece un mecanismo muy sencillo de consulta utilizando tan solo el valor de la tecla vkey_t.
- Utiliza keybuf_create para crear el búfer.
- Utiliza view_keybuf para asignar el búfer a cualquier vista genérica, que será la encargada de capturar eventos y actualizarlo. El estado podrá ser consultado desde cualquier función del programa en cualquier momento.
keybuf_create ()
Crea un búfer con el estado del teclado.
KeyBuf* keybuf_create(void);
Retorna
El búfer.
keybuf_destroy ()
Destruye el búfer.
void keybuf_destroy(KeyBuf **bufer);
bufer | El búfer. Será puesto a |
keybuf_OnUp ()
Establece el estado de una tecla como liberada.
void keybuf_OnUp(KeyBuf *bufer, const vkey_t key);
bufer | El búfer. |
key | El código de la tecla. |
Observaciones
Normalmente no será necesario llamar a esta función. Lo hará View o el módulo que capture los eventos de teclado.
keybuf_OnDown ()
Establece el estado de una tecla como pulsado.
void keybuf_OnDown(KeyBuf *bufer, const vkey_t key);
bufer | El búfer. |
key | El código de la tecla. |
Observaciones
Normalmente no será necesario llamar a esta función. Lo hará View o el módulo que capture los eventos de teclado.
keybuf_clear ()
Limpia el búfer. Establece todas las teclas como liberadas.
void keybuf_clear(KeyBuf *bufer);
bufer | El búfer. |
Observaciones
Normalmente no será necesario llamar a esta función. Lo hará View o el módulo que capture los eventos de teclado.
keybuf_pressed ()
Retorna el estado de una tecla.
bool_t keybuf_pressed(const KeyBuf *bufer, const vkey_t key);
bufer | El búfer. |
key | El código de la tecla. |
Retorna
Pulsada (TRUE
) o liberada (FALSE
).
keybuf_str ()
Retorna una cadena de texto asociada a una tecla.
void keybuf_str(const vkey_t key);
key | El código de la tecla. |
keybuf_dump ()
Vuelca en el Log el estado del búfer.
void keybuf_dump(const KeyBuf *bufer);
bufer | El búfer. |