Hex    Char                    Keyboard         Hex    Char

\0x00   NULL    null            ctrl-@          \0x40   @
\0x01   SOH     start header    ctrl-A          \0x41   A
\0x02   STX     start text      ctrl-B          \0x42   B
\0x03   ETX     end text        ctrl-C          \0x43   C
\0x04   EOT     end of transmit ctrl-D          \0x44   D
\0x05   ENQ     enquiry         ctrl-E          \0x45   E
\0x06   ACK     acknowledge     ctrl-F          \0x46   F
\0x07   BEL     bell (beep)     ctrl-G          \0x47   G

\0x08   BS      back space      ctrl-H          \0x48   H
\0x09   HT      horiz tab       ctrl-I          \0x49   I
\0x0a   LF      line feed       ctrl-J          \0x4a   J
\0x0b   VT      vert tab        ctrl-K          \0x4b   K
\0x0c   FF      form feed       ctrl-L          \0x4c   L
\0x0d   CR      carriage ret    ctrl-M          \0x4d   M
\0x0e   SO      shift out       ctrl-N          \0x4e   N
\0x0f   SI      shift in        ctrl-O          \0x4f   O


\0x10   DLE     dev link esc    ctrl-P          \0x50   P
\0x11   DC1     dev ctrl 1      ctrl-Q          \0x51   Q
\0x12   DC2     dev ctrl 2      ctrl-R          \0x52   R
\0x13   DC3     dev ctrl 3      ctrl-S          \0x53   S
\0x14   DC4     dev ctrl 4      ctrl-T          \0x54   T
\0x15   NAK     negative ack    ctrl-U          \0x55   U
\0x16   SYN     sync idle       ctrl-V          \0x56   V
\0x17   ETB     end trans block ctrl-W          \0x57   W

\0x18   CAN     cancel          ctrl-X          \0x58   X
\0x19   EM      end medium      ctrl-Y          \0x59   Y
\0x1a   SUB     substitute      ctrl-Z          \0x5a   Z
\0x1b   ESC     escape          ctrl-[          \0x5b   [
\0x1c   FS      cursor right    ctrl-\          \0x5c   \
\0x1d   GS      cursor left     ctrl=]          \0x5d   ]
\0x1e   RS      cursor up       ctrl-^          \0x5e   ^
\0x1f   US      cursor down     ctrl--          \0x5f   -
 
\0x20   space                                   \0x60   `
\0x21   !                                       \0x61   a
\0x22   "                                       \0x62   b
\0x23   #                                       \0x63   c
\0x24   $                                       \0x64   d
\0x25   %                                       \0x65   e
\0x26   &                                       \0x66   f
\0x27   '                                       \0x67   g

\0x28   (                                       \0x68   h
\0x29   )                                       \0x69   i
\0x2a   *                                       \0x6a   j
\0x2b   +                                       \0x6b   k
\0x2c   ,                                       \0x6c   l
\0x2d   -                                       \0x6d   m
\0x2e   .                                       \0x6e   n
\0x2f   /                                       \0x6f   o

\0x30   0                                       \0x70   p
\0x31   1                                       \0x71   q
\0x32   2                                       \0x72   r
\0x33   3                                       \0x73   s
\0x34   4                                       \0x74   t
\0x35   5                                       \0x75   u
\0x36   6                                       \0x76   v
\0x37   7                                       \0x77   w

\0x38   8                                       \0x78   x
\0x39   9                                       \0x79   y
\0x3a   :                                       \0x7a   z
\0x3b   ;                                       \0x7b   {
\0x3c   <                                       \0x7c   |
\0x3d   >                                       \0x7d   }
\0x3e   =                                       \0x7e   ~
\0x3f   ?                                       \0x7f   DEL