Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
keyboard_ucallback(3)		Allegro	manual		 keyboard_ucallback(3)

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

Allegro				 version 4.4.3		 keyboard_ucallback(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=keyboard_ucallback&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help