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

FreeBSD Manual Pages


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

       readkey	- Returns the next character from the keyboard buffer. Allegro
       game programming	library.

       #include	<allegro.h>

       int readkey();

       Returns the next	character from the keyboard buffer, in	ASCII  format.
       If the buffer is	empty, it waits	until a	key is pressed.	You can	see if
       there are queued	keypresses with	keypressed().

       The low byte of the return value	contains the ASCII code	 of  the  key,
       and  the	high byte the scancode.	The scancode remains the same whatever
       the state of the	shift, ctrl and	alt keys, while	the ASCII code is  af-
       fected  by  shift  and  ctrl  in	 the  normal  way (shift changes case,
       ctrl+letter gives the position of that  letter  in  the	alphabet,  eg.
       ctrl+A  =  1, ctrl+B = 2, etc). Pressing	alt+key	returns	only the scan-
       code, with a zero ASCII code in the low byte. For example:

	  int val;
	  val =	readkey();
	  if ((val & 0xff) == 'd')     /* by ASCII code	*/
	     allegro_message("You pressed 'd'\n");

	  if ((val >> 8) == KEY_SPACE) /* by scancode */
	     allegro_message("You pressed Space\n");

	  if ((val & 0xff) == 3)       /* ctrl+letter */
	     allegro_message("You pressed Control+C\n");

	  if (val == (KEY_X << 8))     /* alt+letter */
	     allegro_message("You pressed Alt+X\n");

       This function cannot return character values greater than 255.  If  you
       need to read Unicode input, use ureadkey() instead.

       install_keyboard(3), ureadkey(3), keypressed(3),	clear_keybuf(3), simu-

Allegro				 version 4.4.3			    readkey(3)


Want to link to this manual page? Use this URL:

home | help