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

declare function Getkey ( ) as long

result = Getkey

Return Value:
The value of the ascii code returned.

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, and the regular code is returned in the second byte (the third and fourth bytes always being null at least in console mode).
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.

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

Dialect Differences:
Differences from QB:
See also:
Back to User Input
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki phatcode