TI-86 Key Codes
_getkey
- | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | A | B | C | D | E | F |
$0 | - | kRight | kLeft | kUp | kDown | kColon |
kEnter | kExit | kClear | kDel | kIns | kNext |
kAdd | kSub | kMul | kDiv |
$1 | kExpon | kLParen | kRParen | kLBrack | kRBrack |
kEqual | kStore | kRecall | kComma | kAng | kChs |
kDecPnt | k0 | k1 | k2 | k3 |
$2 | k4 | k5 | k6 | k7 | k8 | k9 | kEE |
kSpace | kCapA | kCapB | kCapC | kCapD | kCapE |
kCapF | kCapG | kCapH |
$3 | kCapI | kCapJ | kCapK | kCapL | kCapM |
kCapN | kCapO | kCapP | kCapQ | kCapR | kCapS |
kCapT | kCapU | kCapV | kCapW | kCapX |
$4 | kCapY | kCapZ | ka | kb | kc | kd |
ke | kf | kg | kh | ki | kj | kk | kl |
km | kn |
$5 | ko | kp | kq | kr | ks | kt | ku |
kv | kw | kx | ky | kz | kVarx | kAns | kPi |
kInv |
$6 | kSin | kASin | kCos | kACos | kTan | kATan |
kSquare | kSqrt | kLn | kExp | kLog | kAlog | kMath |
kCplx | kString | kTest |
$7 | kConv | kChar | kBase | kCustom | kVars |
kCatalog | kQuit | kLastEnt | kLinkIO | kMem | kList |
kVector | kConst | kMatrix | kPoly | kSimult |
$8 | kStat | kGrMenu | kMode | kPrgm | kCalcu |
kSolver | kTable | kBOL | kEOL | - | - | - |
- | - | - | - |
$9 | - | - | - | kCUSTM | - | - | - |
- | - | - | - | - | - | - | - | - |
$A | - | - | - | - | - | - | - | - |
- | - | - | - | - | - | - | - |
$B | - | - | - | - | - | - | - | - |
- | - | - | - | - | - | - | - |
$C | - | - | kF1 | kF2 | kF3 | kF4 | kF5 |
kF6 | kF7 | kF8 | kF9 | kF10 | - | - | - |
- |
$D | - | - | - | - | - | - | - | - |
- | - | - | - | - | - | - | - |
$E | - | - | - | - | - | - | - | - |
- | - | - | - | - | - | - | - |
$F | - | - | - | - | - | - | - | - |
- | - | - | - | - | - | - | kGRAPH |
IE: kF1 = $C2, kExit = $07
_GetKy, _getky, _get_key, _getcode, _getcsc, _scan_code, & _kbdScan
- | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | A | B | C | D | E | F |
$0 | K_NOKEY | K_DOWN | K_LEFT | K_RIGHT | K_UP |
- | - | - | - | K_ENTER | K_PLUS | K_MINUS |
K_STAR | K_SLASH | K_RAISE | K_CLEAR |
$1 | - | K_SIGN | K_3 | K_6 | K_9 | K_RIGHTPAR |
K_TAN | K_CUSTOM | - | K_DOT | K_2 | K_5 | K_8 |
K_LEFTPAR | K_COS | K_PRGM |
$2 | K_DEL | K_0 | K_1 | K_4 | K_7 | K_EE |
K_SIN | K_TABLE | K_XVAR | K_ON | K_STO | K_COMMA |
K_SQUARE | K_LN | K_LOG | K_GRAPH |
$3 | K_ALPHA | K_F5 | K_F4 | K_F3 | K_F2 | K_F1 |
K_SECOND | K_EXIT | K_MORE | - | - | - | - | - | - | - |
Notes:
_kbdScan equ $4064 ; keyboard handler
_scan_code equ $4064 ; keyboard handler
_getcsc equ $4068 ; A = key code
_getcode equ $4068 ; A = key code
_get_key equ $4068 ; a = key code
_GetKy equ $5371 ; A=key code OP2=row/col
_getky equ $5371 ; A=key code OP2=row/col
_getkey equ $55AA ; a = key code
All of these put a keypress' value in the accumulator. Never use K_NOKEY, since
OR A is a byte smaller. ROM call $5371 puts the row and column in OP2 in addition
to setting the accumulator. Here's how to see what's in OP2:
Low Level Codes
Group → | $DF | $EF | $F7 | $FB | $FD | $FE |
$BF |
Bit 0 | na | 0 | . | (-) | ENTER | DOWN |
F5 |
Bit 1 | STO→ | 1 | 2 | 3 | + | LEFT |
F4 |
Bit 2 | , | 4 | 5 | 6 | - | RIGHT |
F3 |
Bit 3 | x2 | 7 | 8 | 9 | * | UP |
F2 |
Bit 4 | LN | EE | ( | ) | ÷ | na |
F1 |
Bit 5 | LOG | SIN | COS | TAN | ^ | na |
2nd |
Bit 6 | GRAPH | TABLE | PRGM | CUSTOM | CLEAR |
na | EXIT |
Bit 7 | ALPHA | x-VAR | DEL | na | na | na |
MORE |
Usage: This is VERY fast and destroys af only. na means no code