keyboard_callback man page

keyboard_callback — User specified keyboard callback handler. Allegro game programming library.

Synopsis

#include <allegro.h>

extern int (*keyboard_callback)(int key);

Description

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.

See Also

install_keyboard(3), readkey(3), ureadkey(3), keyboard_ucallback(3), keyboard_lowlevel_callback(3)

Referenced By

install_keyboard(3), keyboard_lowlevel_callback(3), keyboard_ucallback(3).

version 4.4.2 Allegro manual