TI-86 Key Codes


_getkey

-01234567 89ABCDEF
$0-kRightkLeftkUpkDownkColon kEnterkExitkClearkDelkInskNext kAddkSubkMulkDiv
$1kExponkLParenkRParenkLBrackkRBrack kEqualkStorekRecallkCommakAngkChs kDecPntk0k1k2k3
$2k4k5k6k7k8k9kEE kSpacekCapAkCapBkCapCkCapDkCapE kCapFkCapGkCapH
$3kCapIkCapJkCapKkCapLkCapM kCapNkCapOkCapPkCapQkCapRkCapS kCapTkCapUkCapVkCapWkCapX
$4kCapYkCapZkakbkckd kekfkgkhkikjkkkl kmkn
$5kokpkqkrksktku kvkwkxkykzkVarxkAnskPi kInv
$6kSinkASinkCoskACoskTankATan kSquarekSqrtkLnkExpkLogkAlogkMath kCplxkStringkTest
$7kConvkCharkBasekCustomkVars kCatalogkQuitkLastEntkLinkIOkMemkList kVectorkConstkMatrixkPolykSimult
$8kStatkGrMenukModekPrgmkCalcu kSolverkTablekBOLkEOL--- ----
$9---kCUSTM--- ---------
$A-------- --------
$B-------- --------
$C--kF1kF2kF3kF4kF5 kF6kF7kF8kF9kF10--- -
$D-------- --------
$E-------- --------
$F-------- -------kGRAPH
IE: kF1 = $C2, kExit = $07

_GetKy, _getky, _get_key, _getcode, _getcsc, _scan_code, & _kbdScan

-01234567 89ABCDEF
$0K_NOKEYK_DOWNK_LEFTK_RIGHTK_UP ----K_ENTERK_PLUSK_MINUS K_STARK_SLASHK_RAISEK_CLEAR
$1-K_SIGNK_3K_6K_9K_RIGHTPAR K_TANK_CUSTOM-K_DOTK_2K_5K_8 K_LEFTPARK_COSK_PRGM
$2K_DELK_0K_1K_4K_7K_EE K_SINK_TABLEK_XVARK_ONK_STOK_COMMA K_SQUAREK_LNK_LOGK_GRAPH
$3K_ALPHAK_F5K_F4K_F3K_F2K_F1 K_SECONDK_EXITK_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 0na0.(-)ENTERDOWN F5
Bit 1STO→123+LEFT F4
Bit 2,456-RIGHT F3
Bit 3x2789*UP F2
Bit 4LNEE()÷na F1
Bit 5LOGSINCOSTAN^na 2nd
Bit 6GRAPHTABLEPRGMCUSTOMCLEAR naEXIT
Bit 7ALPHAx-VARDELnanana MORE
Usage: This is VERY fast and destroys af only. na means no code