keyboard_ucallback - User specified unicode keyboard callback handler. Allegro
game programming library.
#include <allegro.h>
extern int (*keyboard_ucallback)(int key, int
*scancode);
Unicode-aware version of keyboard_callback(). If set, this function is called by
the keyboard handler in response to every keypress. It is passed the character
value and scancode that are about to be added into the input buffer, can
modify the scancode value, and returns a new or modified key code. If it both
sets the scancode to zero and returns zero, the keypress will be ignored. This
routine executes in an interrupt context, so it must be in locked memory.
Example:
int silence_g_key(int key, int *scancode)
{
if (key == 'g') {
*scancode = 0;
return 0;
}
return key;
} END_OF_FUNCTION(silence_g_key)
...
install_timer();
LOCK_FUNCTION(silence_g_key);
install_keyboard();
keyboard_ucallback = silence_g_key;
Note that this keyboard callback has priority over the non unicode
callback. If you set both, only the unicode one will work.
install_keyboard(3), readkey(3), ureadkey(3),
keyboard_callback(3), keyboard_lowlevel_callback(3)