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

FreeBSD Manual Pages

  
 
  

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

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

SYNOPSIS
       #include	<allegro.h>

       int readkey();

DESCRIPTION
       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.

SEE ALSO
       install_keyboard(3), ureadkey(3), keypressed(3),	clear_keybuf(3), simu-
       late_keypress(3)

Allegro				 version 4.4.3			    readkey(3)

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

home | help