To return one character read from the keyboard.
v$=INKEY$
If no character is pending in the keyboard buffer, a null string (length zero) is returned.
If several characters are pending, only the first is returned. The string will be one or two characters in length.
Two character strings are used to return the extended codes described in Appendix C of the GW-BASIC User's Guide. The first character of a two character code is zero.
No characters are displayed on the screen, and all characters except the following are passed to the program:
CTRL-BREAK
CTRL-NUM LOCK
CTRL-ALT-DEL
CTRL-PRTSCR
PRTSCR
10 CLS: PRINT"PRESS RETURN 20 TIMELIMIT% = 1000 30 GOSUB 1010 40 IF TIMEOUT% THEN PRINT "TOO LONG" ELSE PRINT "GOOD SHOW" 50 PRINT RESPONSE$ 60 END . . . 1000 REM TIMED INPUT SUBROUTINE 1010 RESPONSE$="" 1020 FOR N%=1 TO TIMELIMIT% 1030 A$=INKEY$:IF LEN(A$)=0 THEN 1060 1040 IF ASC(A$)=13 THEN TIMEOUT%=0: RETURN 1050 RESPONSE$=RESPONSE$+A$ 1060 NEXT N% 1070 TIMEOUT%=1: RETURN
When this program is executed, and if the RETURN key is pressed before 1000 loops are completed, then "GOOD SHOW" is printed on the screen. Otherwise, "TOO LONG" is printed.
Since an INKEY$ statement scans the keyboard only once, place INKEY$ statements within loops to provide adequate response times for the operator.