Char Overview

A Character is a single byte holding an ASCII code for a letter, num or sym.  
The TempleOS term is a U8.

Standard ASCII values range from 0 to 127.  Values below 32 are ctrl key's.  So, 
an ASCII #3 is a <CTRL-c>.  TempleOS uses a few nonstandard values below 32.  
See Char Definitions.

ASCII #5  is the cursor location in a saved file.
ASCII #28 is <SHIFT-ESC>.
ASCII #31 is a <SHIFT-SPACE>.

TempleOS ASCII is 8-bit instead of 7-bit, so it also uses the range from 
128-255.  Press <CTRL-ALT-a> to see shapes for 128-255.  Technically, <CTRL-ALT-
a> are scrn codes.

A Key is typically specified with a scan code.  TempleOS scan codes contain the 
key value in the lowest U8, and flags in the upper 3 bytes.  See 
Scan Code Flags and Scan Codes.

TempleOS stores scan codes in 8 bytes.
  Byte 0   is the code.  NumPad keys, SHIFT, ALT, CTRL and GUI keys combined.
  Byte 1-3 are flags

The upper 4-bytes are copied from lower 4-bytes.
  Byte 4   is the code.  Left, Right and NumPad keys distinct.
  Byte 5-7 are flags

Run the program ::/Demo/MsgLoop.HC to examine scan code.  Press <CTRL-SHIFT-l> 
and "Insert ASCII/ScanCode".

See Key Allocations and CKbdStateGlbls.

A String is a bunch of ASCII characters terminated with a zero.