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 affected 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 scancode, 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+15.1.quarterly>

home | help