ti/getkey.h

#include <ti/getkey.h>

For programs that interact with the OS’s user interface, you may want to use processed keystrokes instead of raw scancodes. The os_GetKey routine handles 2nd and alpha presses, and can even show menus.

TI-83 Premium CE

No research has been done on how the TI-83 Premium CE is different here. However, you should be aware that on the TI-83 Premium CE, os_GetKey may return values not included in this list.

API Documentation

TI’s keyboard interface defines.

Authors

Matt “MateoConLechuga” Waltz

Jacob “jacobly” Young

Defines

os_KbdKey
os_KbdGetKy
os_KeyExtend
k_Right

Keypress Equates.

k_Left
k_Up
k_Down
k_Enter
k_AlphaEnter
k_AlphaUp
k_AlphaDown
k_Clear
k_Del
k_Ins
k_Recall
k_LastEnt
k_BOL
k_EOL
k_SelAll
k_UnselAll
k_LtoTI82
k_Backup
k_Recieve
k_LnkQuit
k_Trans
k_Rename
k_Overw
k_Omit
k_Cont
k_SendID
k_SendSW
k_Yes
k_NoWay
k_vSendType
k_OverWAll
k_No
k_KReset
k_App
k_Doug
k_Listflag
k_menuStart

Start of menus.

k_AreYouSure
k_AppsMenu
k_Prgm
k_Zoom
k_Draw
k_SPlot
k_Stat
k_Math
k_Test
k_Char
k_Vars
k_Mem
k_Matrix
k_Dist
k_Angle
k_List
k_Calc
k_Fin
k_menuEnd

End of menus.

k_Catalog
k_InputDone
k_Off
k_Quit
k_appStart

Start of group.

k_LinkIO
k_MatrixEd
k_StatEd
k_Graph
k_Mode
k_PrgmEd

PROGRAM EDIT.

k_PrgmCr

PROGRAM CREATE.

k_Window

RANGE EDITOR.

k_Yequ

EQUATION EDITOR.

k_Table

TABLE EDITOR.

k_TblSet

TABLE SET.

k_ChkRAM

CHECK RAM (About screen)

k_DelMem

DELETE MEM.

k_ResetMem

RESET MEM.

k_ResetDef

RESET DEFAULT.

k_PrgmInput

PROGRAM INPUT.

k_ZFactEd

ZOOM FACTOR EDITOR.

k_Error

ERROR.

k_SolveTVM

TVM SOLVER.

k_SolveRoot

SOLVE EDITOR.

k_StatP

stat plot

k_InfStat

Inferential Statistic.

k_Format

FORMAT.

k_ExtApps

External Applications.

k_NewApps

New Apps for Cerberus.

k_append
k_echoStart1

Start of group.

k_Trace
k_ZFit
k_ZIn
k_ZOut
k_ZPrev
k_Box
k_Decml
k_SetZm
k_Squar
k_Std
k_Trig
k_UsrZm
k_ZSto
k_ZInt
k_ZStat
k_echoStart2

Start of group.

k_Select
k_Circl
k_ClDrw
k_Line
k_Pen
k_PtChg
k_PtOff
k_PtOn
k_Vert
k_Horiz
k_Text
k_TanLn
k_Eval
k_Inters
k_DYDX
k_FnIntg
k_RootG
k_DYDT
k_DXDT
k_DRDo
k_GFMin
k_GFMax
k_EchoStart

Start of group.

k_ListName
k_Add
k_Sub
k_Mul
k_Div
k_Expon
k_LParen
k_RParen
k_LBrack
k_RBrack
k_Shade
k_Store
k_Comma
k_Chs
k_DecPnt
k_0
k_1
k_2
k_3
k_4
k_5
k_6
k_7
k_8
k_9
k_EE
k_Space
k_CapA
k_CapB
k_CapC
k_CapD
k_CapE
k_CapF
k_CapG
k_CapH
k_CapI
k_CapJ
k_CapK
k_CapL
k_CapM
k_CapN
k_CapO
k_CapP
k_CapQ
k_CapR
k_CapS
k_CapT
k_CapU
k_CapV
k_CapW
k_CapX
k_CapY
k_CapZ
k_Varx
k_Pi
k_Inv
k_Sin
k_ASin
k_Cos
k_ACos
k_Tan
k_ATan
k_Square
k_Sqrt
k_Ln
k_Exp
k_Log
k_ALog
k_ToABC
k_ClrTbl
k_Ans
k_Colon
k_NDeriv
k_FnInt
k_Root
k_Quest
k_Quote
k_Theta
k_If
k_Then
k_Else
k_For
k_While
k_Repeat
k_End
k_Pause
k_Lbl
k_Goto
k_ISG
k_DSL
k_Menu
k_Exec
k_Return
k_Stop
k_Input
k_Prompt
k_Disp
k_DispG
k_DispT
k_Output
k_GetKey
k_ClrHome
k_PrtScr
k_SinH
k_CosH
k_TanH
k_ASinH
k_ACosH
k_ATanH
k_LBrace
k_RBrace
k_I
k_CONSTeA
k_Plot3
k_FMin
k_FMax
k_L1A
k_L2A
k_L3A
k_L4A
k_L5A
k_L6A
k_unA
k_vnA
k_wnA
k_ExtendEcho

THIS KEY MEANS THAT THE KEY PRESS IS ONE THAT ECHOS INTO A BUFFER, AND IT IS A 2 BYTE KEY CODE, GO LOOK AT (EXTECHO) FOR THE KEY VALUE.

k_E1BT
k_DrawInv
k_DrawF
k_PixelOn
k_PixelOff
k_PxlTest
k_RCGDB
k_RCPic
k_STGDB
k_STPic
k_Abs
k_Tequ

==

k_TNoteQ

<>

k_TGT

k_TGTE

>=

k_TLT

<

k_TLTE

<=

k_And
k_Or
k_Xor
k_Not
k_LR1
k_XRoot
k_Cube
k_CbRt

Cube ROOT.

k_ToDec
k_CubicR
k_QuartR
k_Plot1
k_Plot2
k_Round
k_IPart
k_FPart
k_Int
k_Rand
k_NPR
k_NCR
k_XFactorial
k_Rad
k_Degr

DEGREES CONV.

k_APost
k_ToDMS
k_RToPo

R.

k_RToPr
k_PToRx
k_PToRy
k_RowSwap
k_RowPlus
k_TimRow
k_TRowP
k_SortA
k_SortD
k_Seq
k_Min
k_Max
k_Mean
k_Median
k_Sum
k_Prod
k_Det
k_Transp
k_Dim
k_Fill
k_Ident
k_Randm
k_Aug
k_OneVar
k_TwoVar
k_LR
k_LRExp
k_LRLn
k_LRPwr
k_MedMed
k_Quad
k_ClrLst
k_Hist
k_xyLine
k_Scatter
k_mRad
k_mDeg
k_mNormF
k_mSci
k_mEng
k_mFloat
k_Fix
k_SplitOn
k_FullScreen
k_Stndrd
k_Param
k_Polar
k_SeqG
k_AFillOn
k_AFillOff
k_ACalcOn
k_ACalcOff
k_FNOn
k_FNOff
k_PlotsOn
k_PlotsOff
k_PixelChg
k_SendMBL
k_RecvMBL
k_BoxPlot
k_BoxIcon
k_CrossIcon
k_DotIcon
k_E2BT
k_Seqential
k_SimulG
k_PolarG
k_RectG
k_CoordOn
k_CoordOff
k_DrawLine
k_DrawDot
k_AxisOn
k_AxisOff
k_GridOn
k_GridOff
k_LblOn
k_LblOff
k_L1
k_L2
k_L3
k_L4
k_L5
k_L6
k_infData

These keys are laid on top of existing keys to enable localization in the inferential stats editor.

k_infStats
k_infYes
k_infNo
k_infCalc
k_infDraw
k_infAlt1ne
k_infAlt1lt
k_infAlt1gt
k_infAlt2ne
k_infAlt2lt
k_infAlt2gt
k_infAlt3ne
k_infAlt3lt
k_infAlt3gt
k_infAlt4ne
k_infAlt4lt
k_infAlt4gt
k_infAlt5ne
k_infAlt5lt
k_infAlt5gt
k_infAlt6ne
k_infAlt6lt
k_infAlt6gt
k_MatA
k_MatB
k_MatC
k_MatD
k_MatE
k_Xmin
k_Xmax
k_Xscl
k_Ymin
k_Ymax
k_Yscl
k_Tmin
k_Tmax
k_TStep
k_Omin
k_Omax
k_OStep
k_u0
k_v0
k_nMin
k_nMax
k_DeltaY
k_DeltaX
k_ZXmin
k_ZXmax
k_ZXscl
k_ZYmin
k_ZYmax
k_ZYscl
k_ZTmin
k_ZTmax
k_ZTStep
k_ZOmin
k_ZOmax
k_ZOStep
k_Zu0
k_Zv0
k_ZnMin
k_ZnMax
k_DelLast
k_SinReg
k_ConstE
k_Pic1
k_Pic2
k_Pic3
k_DelVar
k_GetCalc
k_RealM
k_PolarM
k_RectM
k_uv

U vs V.

k_vw

V vs W.

k_uw

U vs W.

k_FinPMTend
k_FinPMTbeg
k_GraphStyle
k_ExprOn
k_ExprOff
k_StatA
k_StatB
k_StatC
k_Corr
k_StatD
k_StatE
k_RegEq
k_MinX
k_Q1
k_MD
k_Q3
k_MaxX
k_StatX1
k_StatY1
k_StatX2
k_StatY2
k_StatX3
k_StatY3
k_TblMin
k_TblStep
k_SetupLst
k_ClrAllLst
k_Logistic
k_ZTest
k_TTest
k_2SampZTest
k_2SampTTest
k_1PropZTest
k_2PropZTest
k_ChiTest
k_2SampFTest
k_ZIntVal
k_TIntVal
k_2SampTInt
k_2SampZInt
k_1PropZInt
k_2PropZInt
k_DNormal
k_InvNorm
k_DT
k_Chi
k_DF
k_BinPDF
k_BinCDF
k_PoiPDF
k_PoiCDF
k_un
k_vn
k_wn
k_Recn
k_PlotStart
k_ZPlotStart

recursion n

k_XFact

PlotStart.

k_YFact

ZPlotStart.

k_ANOVA

XFact.

k_MaxY

YFact.

k_WebOn

MinY.

k_WebOff

MaxY.

k_TblInput

WEB ON.

k_GeoPDF

WEB OFF.

k_GeoCDF

WEB OFF.

k_ShadeNorm
k_ShadeT
k_ShadeChi
k_ShadeF
k_PlotStep
k_ZPlotStep
k_LinRegtTest
k_MGT

VERT SPLIT.

k_SelectA
k_ZFitA
k_E2BT_End
k_ExtendEcho2

THIS KEY MEANS THAT IT IS A 2 BYTE KEYCODE THERE ARE 3 OF THESE KEYS; BE CAREFUL WITH USAGE.

k_E2BT2

More 2 Byte Keys.

k_GDB1
k_GDB2
k_GDB3
k_Y1
k_Y2
k_Y3
k_Y4
k_Y5
k_Y6
k_Y7
k_Y8
k_Y9
k_Y0
k_X1T
k_Y1T
k_X2T
k_Y2T
k_X3T
k_Y3T
k_X4T
k_Y4T
k_X5T
k_Y5T
k_X6T
k_Y6T
k_R1
k_R2
k_R3
k_R4
k_R5
k_R6
k_GDB4
k_GDB5
k_GDB6
k_Pic4
k_Pic5
k_Pic6
k_GDB7
k_GDB8
k_GDB9
k_GDB0
k_Pic7
k_Pic8
k_Pic9
k_Pic0
k_StatN
k_XMean
k_Conj
k_Real
k_FAngle
k_LCM
k_GCD
k_RandInt
k_RandNorm
k_ToPolar
k_ToRect
k_YMean
k_StdX
k_StdX1
k_w0
k_MatF
k_MatG
k_MatRH
k_MatI
k_MatJ
k_YMean1
k_StdY
k_StdY1
k_MatToLst
k_LstToMat
k_CumSum
k_DeltaLst
k_StdDev
k_Variance
k_Length
k_EquToStrng
k_StrngToequ
k_Expr
k_SubStrng
k_InStrng
k_Str1
k_Str2
k_Str3
k_Str4
k_Str5
k_Str6
k_Str7
k_Str8
k_Str9
k_Str0
k_FinN
k_FinI
k_FinPV
k_FinPMT
k_FinFV
k_FinPY
k_FinCY
k_FinFPMT
k_FinFI
k_FinFPV
k_FinFN
k_FinFFV
k_FinNPV
k_FinIRR
k_FinBAL
k_FinPRN
k_FinINT
k_SumX
k_SumX2
k_FinToNom
k_FinToEff
k_FinDBD
k_StatVP
k_StatZ
k_StatT
k_StatChi
k_StatF
k_StatDF
k_StatPhat
k_StatPhat1
k_StatPhat2
k_StatMeanX1
k_StatMeanX2
k_StatStdX1
k_StatStdX2
k_StatStdXP
k_StatN1
k_StatN2
k_StatLower
k_StatUpper
k_uw0
k_Imag
k_SumY
k_Xres
k_Stat_s
k_SumY2
k_SumXY
k_uXres
k_ModBox
k_NormProb
k_NormalPDF
k_TPDF
k_ChiPDF
k_FPDF
k_MinY

MinY.

k_RandBin
k_Ref
k_RRef
k_LRSqr
k_BRSqr
k_DiagOn
k_DiagOff
k_un1

FOR RCL USE WHEN GOTTEN FROM 82.

k_vn1

FOR RCL USE WHEN GOTTEN FROM 82.

k_83_00End

end of original keys…

k_Archive
k_Unarchive
k_Asm

Asm(.

k_AsmPrgm

AsmPrgm.

k_AsmComp

AsmComp(.

k_capAAcute
k_capAGrave
k_capACaret
k_capADier
k_aAcute
k_aGrave
k_aCaret
k_aDier
k_capEAcute
k_capEGrave
k_capECaret
k_capEDier
k_eAcute
k_eGrave
k_eCaret
k_eDier
k_capIAcute
k_capIGrave
k_capICaret
k_capIDier
k_iAcute
k_iGrave
k_iCaret
k_iDier
k_capOAcute
k_capOGrave
k_capOCaret
k_capODier
k_oAcute
k_oGrave
k_oCaret
k_oDier
k_capUAcute
k_capUGrave
k_capUCaret
k_capUDier
k_uAcute
k_uGrave
k_uCaret
k_uDier
k_capCCed
k_cCed
k_capNTilde
k_nTilde
k_accent
k_grave
k_dieresis
k_quesDown
k_exclamDown
k_alpha
k_beta
k_gamma
k_capDelta
k_delta
k_epsilon
k_lambda
k_mu
k_pi2
k_rho
k_capSigma
k_sigma
k_tau
k_phi
k_capOmega
k_phat
k_chi2
k_statF2
k_La
k_Lb
k_Lc
k_Ld
k_Le
k_Lf
k_Lg
k_Lh
k_Li
k_Lj
k_Lk
k_Ll
k_Lm
k_Lsmalln
k_Lo
k_Lp
k_Lq
k_Lsmallr
k_Ls
k_Lt
k_Lu
k_Lv
k_Lw
k_Lx
k_Ly
k_Lz
k_GarbageC

GarbageCollect.

k_E2BT2_End
k_ExtendEcho3

THIS KEY MEANS THAT IT IS A 2 BYTE KEYCODE UNLESS (EXTECHO) IS 0 THEN IT IS AN OLD 1 BYTE KEYCODE THERE ARE 3 OF THESE KEYS; BE CAREFUL WITH USAGE.

k_E2BT3

Even More 2 Byte Keys.

k_SingleQuote
k_At
k_Hash
k_Dollar
k_Amp
k_Backquote
k_Semicolon
k_Backslash
k_Bar
k_Underscore
k_Tilde
k_Percent
k_Ellipsis
k_Ang
k_SS
k_SupX
k_SubT
k_Sub0
k_Sub1
k_Sub2
k_Sub3
k_Sub4
k_Sub5
k_Sub6
k_Sub7
k_Sub8
k_Sub9
k_Sub10

Functions

uint16_t os_GetKey(void)

Gets a key from the OS.

This function does block, use os_GetCSC() if you need a non-blocking variant.

Returns

Key code

Returns

Extended key code in high byte