INKEY( ) Function

Returns a number corresponding to the first mouse click or key press in the type-ahead buffer.

INKEY([nSeconds] [, cHideCursor])

Return Values

Numeric

Parameters

  • nSeconds
    Specifies how many seconds INKEY( ) waits for a keystroke. If nSeconds isn't included, INKEY( ) immediately returns a value for a keystroke. INKEY( ) waits indefinitely for a keystroke if nSeconds is 0.

  • cHideCursor
    Shows or hides the cursor, or checks for a mouse click. To show the cursor, include S in cHideCursor. To hide the cursor, include H in cHideCursor. If both S and H are included in cHideCursor, the last character in cHideCursor takes precedence.

    By default, INKEY( ) doesn't detect a mouse click. To check for a mouse click, include M in cHideCursor. If M is included in cHideCursor, INKEY( ) returns the value 151 for a single mouse click. Refer to the second example in the following table to see how you can check for a double click.

    To check for a mouse click and show the cursor, include both M and S. To check for a mouse click and hide the cursor, include H and M.

    When a keyboard macro is assigned to a key or key combination, you can include E in cHideCursor to expand the keyboard macro. When E is included, INKEY( ) returns a value corresponding to the first keystroke assigned to the keyboard macro. You can return successive values for each keystroke in a macro by repeatedly executing INKEY( ) with E included. If you omit E, INKEY( ) returns the value for the key or key combination that triggers the keyboard macro.

    Any characters other than H, M, S, and E in cHideCursor are ignored.

    The following table lists INKEY( ) function return values for keys alone and in combination with the SHIFT, CTRL, and ALT keys. A dash (–) indicates that the key combination returns no value.

    Key Alone SHIFT CTRL ALT
    F1 28 84 94 104
    F2 –1 85 95 105
    F3 –2 86 96 106
    F4 –3 87 97 107
    F5 –4 88 98 108
    F6 –5 89 99 109
    F7 –6 90 100 110
    F8 –7 91 101 111
    F9 –8 92 102 112
    F10 –9 93 103 113
    F11 133 135 137 139
    F12 134 136 138 140
    1 49 33 120
    2 50 64 121
    3 51 35 122
    4 52 36 123
    5 53 37 124
    6 54 94 125
    7 55 38 126
    8 56 42 127
    9 57 40 128
    0 48 41 19
    a 97 65 1 30
    b 98 66 2 48
    c 99 67 3 46
    d 100 68 4 32
    e 101 69 5 18
    f 102 70 6 33
    g 103 71 7 34
    h 104 72 127 35
    I 105 73 9 23
    j 106 74 10 36
    k 107 75 11 37
    l 108 76 12 38
    m 109 77 13 50
    n 110 78 14 49
    o 111 79 15 24
    p 112 80 16 25
    q 113 81 17 16
    r 114 82 18 19
    s 115 83 19 31
    t 116 84 20 20
    u 117 85 21 22
    v 118 86 22 47
    w 119 87 23 17
    x 120 88 24 45
    y 121 89 25 21
    z 122 90 26 44
    INS 22 22 146 162
    HOME 1 55 29 151
    DEL 7 7 147 163
    END 6 49 23 159
    PAGE UP 18 57 31 153
    PAGE DOWN 3 51 30 161
    UP ARROW 5 56 141 152
    DOWN ARROW 24 50 145 160
    RIGHT ARROW 4 54 2 157
    LEFT ARROW 19 52 26 155
    ESC 27 –/27 –*/27 –*/1
    ENTER 13 13 10 –/166
    BACKSPACE 127 127 127 14
    TAB 9 15 148/* *
    SPACEBAR 32 32 32/– 57

    * Keystroke reserved by Windows.

Remarks

INKEY( ) returns 0 if a key isn't pressed. If there are several keys in the type-ahead buffer, INKEY( ) returns the value of the first key entered in the buffer.

See Also

_DBLCLICK | KEYBOARD | KeyPress Event | LASTKEY( ) | ON KEY | READKEY( ) | SET TYPEAHEAD