GetKey

Returns the ascii code of the first key in the keyboard buffer

Syntax
   Declare Function GetKey ( ) As Long

Usage
   result = GetKey

Return Value
   The value of the ascii code returned.

Description
   It returns the ascii code of the first key in the keyboard buffer. The 
   key is removed from the buffer. If no key is present, GetKey waits for 
   it.

   For extended keys (returning two characters), the extended code is 
   returned in the first byte (255), and the scancode for keyboard is 
   returned in the second byte (the third and fourth bytes always being 
   null at least in console mode).

   For FB's built-in functionality of getting keyboard input, see 
   Keyboard Input (Basics).

   WARNING: In graphics mode and depending on the key pressed,   Getkey   
   may not always return the exact same value as in console mode (for a 
   non-extended key, the most significant bit of the ascii code byte may be 
   propagated to the higher 3 bytes of the return value, such as a sign 
   bit).
   For a compatible code of the 2 screen modes, see the example below.

   The key read is not echoed to the screen.

   For a keyword not stopping the program if no key is at the buffer see 
   Inkey or MultiKey.

Example
   Dim As Long foo
   Do
      foo = GetKey
      Print "total return: " & foo
      
      If( foo > 255 ) Then
         Print "extended code: " & (foo And &hff)
         Print "regular code: " & (foo Shr 8)
      Else
         Print "regular code: " & (foo And &hff)
      End If
      Print 
   Loop Until foo = 27

Dialect Differences
   * Not available in the -lang qb dialect unless referenced with the 
     alias __Getkey.

Differences from QB
   * New to FreeBASIC

See also
   * GetMouse
   * Inkey
   * Input()
   * MultiKey
   * Keyboard scancodes
   * Keyboard Input

