1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-03 12:21:20 +00:00
QB64-PE/internal/help/ON_KEY(n)_11_111(0).txt
Roland Heyder aeb9c0668b Updates help files for use with new Wiki parser (2nd try)
Note: Many files were removed (not yet existing/empty pages). The parser will try to download them on demand and will auto-generate text for missing pages (eg. most _gl pages).
2022-05-21 00:18:31 +02:00

66 lines
2.3 KiB
Plaintext

{{QBDLDATE:05-20-2022}}
{{QBDLTIME:23:15:01}}
The [[ON KEY(n)]] statement defines a line number or label to go to (or a [[SUB]] to run) when a specified key is pressed.
{{PageSyntax}}
: [[ON KEY(n)]] [[GOSUB]] {{Parameter|linelabel}}|{{Parameter|linenumber}}
: [[ON KEY(n)]] [[SUB]]procedure
{{PageDescription}}
* Predefined and user defined KEY event number assignments to use with ON KEY(n):
{{WhiteStart}} '''1 to 10'''.............Reserved '''F1 to F10''' function keys only.
'''11, 12, 13 and 14'''...Reserved '''Up, Left, Right and Down''' numeric keypad arrows only
'''15 to 29'''............'''user-defined keys''' using value: [[CHR$]](keyflag) + [[CHR$]]([[Keyboard scancodes|scancode]])
'''30 and 31'''...........Reserved '''F11 and F12''' function keys only.
{{WhiteEnd}}
* See the [[KEY n]] page for user defined key or key combination presses and F function softkey assignments.
* [[GOSUB]] with a {{Parameter|linelabel}} or {{Parameter|linenumber}} or a [[SUB]] procedure (without the [[CALL]] keyword) can be triggered in '''QB64'''.
{{PageExamples}}
''Example 1:'' Using ON KEY with [[GOSUB]] to execute code.
{{CodeStart}}
{{Cl|KEY(n)|KEY(1) ON}}
{{Cl|ON KEY(n)|ON KEY}}(1) {{Cl|GOSUB}} trap
{{Cl|PRINT}} "Press F1 to quit!"
{{Cl|DO}}:{{Cl|LOOP}} 'never ending loop
trap:
{{Cl|PRINT}} "You pressed F1 like I told you to :)"
{{Cl|END}}
{{Cl|RETURN}}
{{CodeEnd}}
''Example 2:'' Setting multiple ON KEY statements to send different values to a [[SUB]] procedure.
{{CodeStart}}
{{Cl|FOR...NEXT|FOR}} n = 1 {{Cl|TO}} 10
{{Cl|KEY n|KEY}} n, {{Cl|STR$}}(n) ' assigns soft key as a numerical string
{{Cl|ON KEY(n)|ON KEY}}(n) Funct n 'designate SUB procedure and parameter value passed
{{Cl|KEY(n)|KEY}}(n) ON ' turns each key event monitor on
{{Cl|NEXT}}
{{Cl|KEY n|KEY}} ON 'displays F1 to F10 soft key assignments at bottom of screen
{{Cl|DO}}
{{Cl|LOOP}} {{Cl|UNTIL}} {{Cl|INKEY$}} = {{Cl|CHR$}}(27)
{{Cl|END}}
{{Cl|SUB}} Funct (num%)
{{Cl|CLS}}' clears the screen and refreshes bottom soft key list
{{Cl|PRINT}} "You pressed F"; {{Cl|LTRIM$}}({{Cl|STR$}}(num%))
{{Cl|END SUB}}
{{CodeEnd}}
{{PageSeeAlso}}
* [[KEY(n)]], [[KEY n]] {{text|(soft key)}}
* [[ON...GOSUB]], [[Scancodes]]
* [[_KEYHIT]], [[_KEYDOWN]]
{{PageNavigation}}