Man Linux: Main Page and Category List

NAME

       keyboard_ucallback  - User specified unicode keyboard callback handler.
       Allegro game programming library.

SYNOPSIS

       #include <allegro.h>

       extern int (*keyboard_ucallback)(int key, int *scancode);

DESCRIPTION

       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.

SEE ALSO

       install_keyboard(3alleg),       readkey(3alleg),      ureadkey(3alleg),
       keyboard_callback(3alleg), keyboard_lowlevel_callback(3alleg)