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.
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
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
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