[Overview][Constants][Types][Procedures and functions][Variables][Index] | Reference for unit 'Crt' (#rtl)

# ReadKey

Read key from keybuffer

## Declaration

Source position: crth.inc line 76

`function ReadKey: Char;`

## Description

ReadKey reads 1 key from the keyboard buffer, and returns this. If an extended or function key has been pressed, then the zero ASCII code is returned. You can then read the scan code of the key with a second ReadKey call.

Key mappings under Linux can cause the wrong key to be reported by ReadKey, so caution is needed when using ReadKey.

## Errors

None.

## See also

KeyPressed |  | Check if there is a keypress in the keybuffer

## Example

    Program Example3;
    uses Crt;

    { Program to demonstrate the ReadKey function. }

    var
      ch : char;
    begin
      writeln('Press Left/Right, Esc=Quit');
      repeat
        ch:=ReadKey;
        case ch of
         #0 : begin
                ch:=ReadKey; {Read ScanCode}
                case ch of
                 #75 : WriteLn('Left');
                 #77 : WriteLn('Right');
                end;
              end;
        #27 : WriteLn('ESC');
        end;
      until ch=#27 {Esc}
    end.

Documentation generated on: Feb 26 2014