void InitKeys ()
{
if (initKeys)
return;
CreateKeyMap ();
rootmap = new ByteMatcher ();
//
// The keys that we know about and use
//
var UsedKeys = new [] {
TermInfoStrings.KeyBackspace,
TermInfoStrings.KeyClear,
TermInfoStrings.KeyDown,
TermInfoStrings.KeyF1,
TermInfoStrings.KeyF10,
TermInfoStrings.KeyF2,
TermInfoStrings.KeyF3,
TermInfoStrings.KeyF4,
TermInfoStrings.KeyF5,
TermInfoStrings.KeyF6,
TermInfoStrings.KeyF7,
TermInfoStrings.KeyF8,
TermInfoStrings.KeyF9,
TermInfoStrings.KeyHome,
TermInfoStrings.KeyLeft,
TermInfoStrings.KeyLl,
TermInfoStrings.KeyNpage,
TermInfoStrings.KeyPpage,
TermInfoStrings.KeyRight,
TermInfoStrings.KeySf,
TermInfoStrings.KeySr,
TermInfoStrings.KeyUp,
TermInfoStrings.KeyA1,
TermInfoStrings.KeyA3,
TermInfoStrings.KeyB2,
TermInfoStrings.KeyC1,
TermInfoStrings.KeyC3,
TermInfoStrings.KeyBtab,
TermInfoStrings.KeyBeg,
TermInfoStrings.KeyCopy,
TermInfoStrings.KeyEnd,
TermInfoStrings.KeyEnter,
TermInfoStrings.KeyHelp,
TermInfoStrings.KeyPrint,
TermInfoStrings.KeyUndo,
TermInfoStrings.KeySbeg,
TermInfoStrings.KeyScopy,
TermInfoStrings.KeySdc,
TermInfoStrings.KeyShelp,
TermInfoStrings.KeyShome,
TermInfoStrings.KeySleft,
TermInfoStrings.KeySprint,
TermInfoStrings.KeySright,
TermInfoStrings.KeySundo,
TermInfoStrings.KeyF11,
TermInfoStrings.KeyF12,
TermInfoStrings.KeyF13,
TermInfoStrings.KeyF14,
TermInfoStrings.KeyF15,
TermInfoStrings.KeyF16,
TermInfoStrings.KeyF17,
TermInfoStrings.KeyF18,
TermInfoStrings.KeyF19,
TermInfoStrings.KeyF20,
TermInfoStrings.KeyF21,
TermInfoStrings.KeyF22,
TermInfoStrings.KeyF23,
TermInfoStrings.KeyF24,
// These were missing
TermInfoStrings.KeyDc,
TermInfoStrings.KeyIc
};
foreach (TermInfoStrings tis in UsedKeys)
AddStringMapping (tis);
rootmap.AddMapping (TermInfoStrings.KeyBackspace, new byte [] { control_characters [ControlCharacters.Erase] });
rootmap.Sort ();
initKeys = true;
}