Difference between revisions of "83Plus:Flags:2C"
(This should be documented) |
|||
Line 42: | Line 42: | ||
=== Bit 7 === | === Bit 7 === | ||
− | + | BCALL 4D68 AppDispPrevMouse is known to use this flag for some purpose |
Latest revision as of 03:38, 10 May 2014
Contents
Synopsis
Flag Byte: 2Ch
Known Names: mouseFlag1
These flags are used with the app mouse routines. GetCSC uses bit 0 of this to decide whether to process diagonal key arrow key presses.
Bit Overview
Bit 0
Name: appWantDiagonalKeys
Set for GetCSC to process diagonal arrow key presses. Add these new scan codes to your ti83plus.inc:
skDownLeft EQU 252 skDownRight EQU 250 skUpLeft EQU 245 skUpRight EQU 243
This bit is used with the app mouse routines. The OS never uses the bit outside of those, and the OS itself never uses those routines, so this bit is there purely for our benefit.
If you set this bit, GetKey will return garbage values for diagonal arrow key presses. In particular, two of the combinations share the same value. So that flag obviously isn't meant for use with GetKey. You should not return to the OS with it set for that reason. That said, the basic getKey function will also return values for diagonal arrow key presses: DOWN+LEFT is 202, DOWN+RIGHT is 183, UP+LEFT is 118, and UP+RIGHT is 203. That behavior probably isn't intentional, but I'm sure some basic programmers would find it useful.
Bit 1
We do not have information on what this bit does, if anything.
Bit 2
BCCALL 4DC5 (BrandonW calls it AppDrawMouseDirect) uses this to decide whether to display or erase the mouse.
Bit 3
We do not have information on what this bit does, if anything.
Bit 4
We do not have information on what this bit does, if anything.
Bit 5
Certain mouse routines (4DBFh AppUpdateMouseRow and 4DA4h AppUpdateMouseCoords) will decrease the cursor row if this is set.
Bit 6
Certain mouse routines (see bit 5) will increase the cursor row if this is set.
Bit 7
BCALL 4D68 AppDispPrevMouse is known to use this flag for some purpose