Provided by: allegro4-doc_4.4.2-13_all bug

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(3alleg4),              readkey(3alleg4),               ureadkey(3alleg4),
       keyboard_callback(3alleg4), keyboard_lowlevel_callback(3alleg4)