Difference between revisions of "83Plus:BCALLs:4972"
From WikiTI
m (Fixed flag link.) |
(Added special behavior discovered by me: B register is destroyed sometimes) |
||
Line 20: | Line 20: | ||
=== Destroys === | === Destroys === | ||
* DE, HL | * DE, HL | ||
+ | * B, in some cases (mostly when some ''2nd'' key combination is pressed; needs further testing to determine the exact circumstances) | ||
== Comments == | == Comments == |
Latest revision as of 14:23, 25 November 2020
Synopsis
Official Name: GetKey
BCALL Address: 4972h
The standard key input routine.
Inputs
- bit lwrCaseActive, (iy+appLwrCaseFlag) set to enable lowercase entry
- bit 7, (iy+28h) set to disable the usual action of 2nd+Off
- (iy+shiftFlags) contains shift settings
Outputs
- A = keycode
- (keyExtend) = extended keycode
- bit onInterrupt, (iy+onFlags) set (and A=0) if the On key was pressed
- (iy+shiftFlags) contains shift settings
Destroys
- DE, HL
- B, in some cases (mostly when some 2nd key combination is pressed; needs further testing to determine the exact circumstances)
Comments
This routine will wait for a key to be pressed and return it. It will handle the 2nd and Alpha keys, and the values it returns reflect this distinction.
It transparently handles the screen capture and remote control link commands, as well as (on OS 1.15 and higher) the TI-Keyboard. Other silent link commands will cause it to exit from the current app so that data can be transferred. It also handles 2nd+Off, 2nd+Up, and 2nd+Down in the expected ways.
See also GetKeyRetOff.
Example
B_CALL GetKey cp kPi call z,Moo