OSGetStatKeys Function (ROM Call 0x299)

kbd.h

short OSGetStatKeys (void);

Checks whether an arrow key (TI-89) or status key (TI-92+) is pressed.

OSGetStatKeys is a strange function: it behaves differently on TI-89 and on TI-92 Plus. On TI-89 it returns ARROW_LEFT, ARROW_RIGHT, ARROW_UP or ARROW_DOWN if one of the corresponding arrow keys is pressed (these constants are defined in enum Arrows). On TI-92 Plus it returns STAT_2ND, STAT_DIAMOND, STAT_SHIFT of STAT_HAND if one of the corresponding status key is pressed (these constants are defined in enum StatKeys). If no arrow keys is pressed (TI-89) or if no status keys is pressed (TI-92 Plus), this function returns zero. OSGetStatKeys does not wait for a keypress. If more than one arrow/status key is pressed, OSGetStatKeys returns a garbage value.

Note: The information about this functions in releases of TIGCCLIB prior to 2.0 were incomplete: I didn't notice different behaviour on TI-89 and TI-92 Plus. So, avoid this function in portable programs.