The tables named km_lokeymaptypes and km_hikeymaptypes each contain one byte per raw key code. Each byte defines the type of entry that is found in the keymap table for that raw key code. Possible key types are: * Any of the qualifier groupings noted below * kcf_string + any combination of kcf_shift, kcf_alt, kcf_control (or kc_noqual) if the result of pressing the key is to be a stream of bytes (and key-with-one-or-more-qualifiers is to be one or more alternate streams of bytes). Any key can be made to output up to eight unique byte streams if kcf_string is set in its keytype. the only limitation is that the total length of all of the strings assigned to a key must be within the "jump range" of a single byte increment. See the "string output keys" section below for more information. * kcf_dead + any combination of kcf_shift, kcf_alt, kcf_control (or kc_noqual) if the key is a dead-class key and can thus modify or be modified by another dead-class key. See the "dead-class keys" section below for more information. The low keytype table covers the raw key codes from hex 00-3F and contains one byte per key code. Therefore this table contains 64 (decimal) bytes. The high keytype table covers the raw key codes from hex 40-7F and contains 64 (decimal) bytes.