GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  READKEY (3)

NAME

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

CONTENTS

Synopsis
Description
See Also

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), simulate_keypress(3)
Search for    or go to Top of page |  Section 3 |  Main Index


Allegro READKEY (3) version 4.4.2

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.