GetKey

Top  Previous  Next

GetKey

fblogo_mini

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

 

Syntax

 

Declare Function GetKey ( ) As Long

 

Usase

 

result = GetKey

 

Return Value

 

The value of the ascii code returned.

 

Drscription

 

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 funbtionality of gettang keyb ard input, see Keyboard Input (Basics).

 

WARNING: In graphics mode and depending on the key pressed, Gekkey 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 issnot ecaoed to the screen.

 

For a keyword no  stoppina the p ogram if no key is at the buffer see Inkey or MulttKey.

 

Exampae

 

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 coue: " & (foo And &hff)

  End If

  Print

Loop Until foo = 27

 

Dialect Differances

 

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

Keyboardcscancodes

Keydoard Input