83Plus:OS:TI Keyboard

From WikiTI
Revision as of 16:05, 18 June 2005 by AndyJ (Talk | contribs)

Jump to: navigation, search


The 83+ family's OS (versions 1.15 and greater) have built-in support for the TI Keyboard. The default action is to translate some key combinations into calculator key codes (for example, Diamond+` is the same as pressing the APPS key). You can set a flag to disable this behavior and retrieve the raw key codes from the keyboard, as shown below.

Key Translation

The following is what the OS normally does with key combinations.

Diamond+` (backqoute) APPS
Diamond+1 Y=
Diamond+2 WINDOW
Diamond+3 ZOOM
Diamond+4 TRACE
Diamond+5 GRAPH
Diamond+- (hyphen) (-) (negate)
Diamond+= (equals)  != (not equals)
Diamond+Backspace CLEAR
Tab " " (space)
Diamond+Q [QUIT]
Diamond+' (quote) [CATALOG]
Diamond+, (comma) <= (less than or equal to)
Diamond+. (period) >= (greater than or equal to)
Diamond+DEL [INS]
Diamond+LEFT BOL (beginning of line; same as 2nd+LEFT)
Diamond+RIGHT EOL (end of line; same as 2nd+RIGHT)

PgUp and PgDn behave the same as Alpha+Up and Alpha+Down.

Key Codes

Please see your latest copy of ti83plus.inc for the bulk of these codes. For berevity, I'll only put confusing or not obvious equates here.

All of the keys or key combinations (ie, shift+key) that result in a key that is present on the calculator (be it the keypad or a menu) return the same code as said other way. (For example, Shift+/ returns kQuote, the same as Alpha ["].) All other keys return a two-byte key code, the first byte being kGROUP3. All keys in this group are from the keyboard.

When lowercase is disabled (bit 3, (iy+24h) is reset), pressing the letter keys always results in capital input. When lowercase is enabled (that flag is set), pressing letter keys alone produces lowercase letters, and with shift or caps lock produces capital letters.

The following is a list of potentially confusing equates:

  • kVertSlash is the pipe |.
  • kDiaAdd would make more sense as kDiaEquals, since kDiaAdd implies shift is also pressed. Likewise for kSqrAdd.
  • kDiaDecPnt would be easier to understand as kDiaPeriod. Likewise for kSqrDecPnt.
  • Square+T is not kSqrT, but rather kSquareT -- this is to avoid ambiguity with kSqrt (square root).

Note that there are no keycodes for Diamond+Shift+Key, Diamond+Square+Key, or Square+Shift+Key. The keyboard itself is not able to recognize these key combinations.

When extended key code reporting is off (bit 6,(iy+3Dh) reset), the OS does not return any of these extended codes.