From QB64 Wiki
Revision as of 22:43, 26 October 2011 by imported>Clippy
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The ON KEY(n) statement defines a line number or label to go to when a specified key is pressed.


ON KEY (n) {GOSUB {linelabel|linenumber}|SUBprocedure}


  • Predefined key numbers are shown below, where n is the number that represents that key.
1 - 10 for F1 - F10 function keys respectively
11, 12, 13 and 14 for UP, LEFT, RIGHT and DOWN numberpad arrows respectively.
15-25(29 in QB64) for user-defined keys. See: KEY n, Keyboard scancodes
30 - 31 for F11 - F12 function keys
  • GOSUB with a linelabel or linenumber or a SUB procedure can be used in QB64. Don't use CALL!

Example 1: Using ON KEY with GOSUB to execute code.

KEY(1) ON ON KEY(1) GOSUB trap PRINT "Press F1 to quit!" DO:LOOP 'never ending loop trap: PRINT "You pressed F1 like I told you to :)" END RETURN

Example 2: Setting multiple ON KEY statements to send different values to a SUB procedure.

FOR n = 1 TO 10 KEY n, STR$(n) ON KEY(n) Funct n KEY(n) ON NEXT KEY ON DO LOOP UNTIL INKEY$ = CHR$(27) END SUB Funct (num%) CLS PRINT "You pressed F"; LTRIM$(STR$(num%)) END SUB

See also:

Keyword Reference - Alphabetical
Keyword Reference - By Usage
Main Wiki Page