keyboard_callback - User specified keyboard callback handler. Allegro game
programming library.
#include <allegro.h>
extern int (*keyboard_callback)(int key);
If set, this function is called by the keyboard handler in response to every
keypress. It is passed a copy of the value that is about to be added into the
input buffer, and can either return this value unchanged, return zero to cause
the key to be ignored, or return a modified value to change what readkey()
will later return. This routine executes in an interrupt context, so it must
be in locked memory. Example:
int enigma_scrambler(int key)
{
/* Add one to both the scancode and ascii values. */
return (((key >> 8) + 1)
}
END_OF_FUNCTION(enigma_scrambler)
...
install_timer();
LOCK_FUNCTION(enigma_scrambler);
install_keyboard();
keyboard_callback = enigma_scrambler;
Note that this callback will be ignored if you also set the
unicode keyboard callback.
install_keyboard(3), readkey(3), ureadkey(3),
keyboard_ucallback(3), keyboard_lowlevel_callback(3)