From QB64 Wiki
Revision as of 22:43, 26 October 2011 by imported>Clippy
Jump to navigation Jump to search

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