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

FreeBSD Manual Pages

  
 
  

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

NAME
       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  un-
       changed,	 return	zero to	cause the key to be ignored, or	return a modi-
       fied value to change what readkey() will	later return. This routine ex-
       ecutes in an interrupt context, so it must be in	locked	memory.	 Exam-
       ple:

	  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)

Allegro				 version 4.4.3		  keyboard_callback(3)

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

home | help