in src/common/details/console/gui/controls/EditBoxControl.cs [117:212]
public override bool ProcessKey(ConsoleKeyInfo key)
{
bool fProcessedKey = false;
cursor.Hide();
switch (key.Key)
{
case ConsoleKey.Home:
if (!key.IsShift() && !key.IsCtrl() && !key.IsAlt())
{
Home();
fProcessedKey = true;
}
break;
case ConsoleKey.End:
if (!key.IsShift() && !key.IsCtrl() && !key.IsAlt())
{
End();
fProcessedKey = true;
}
break;
case ConsoleKey.UpArrow:
case ConsoleKey.LeftArrow:
if (!key.IsShift() && !key.IsCtrl() && !key.IsAlt())
{
Left();
fProcessedKey = true;
}
break;
case ConsoleKey.DownArrow:
case ConsoleKey.RightArrow:
if (!key.IsShift() && !key.IsCtrl() && !key.IsAlt())
{
Right();
fProcessedKey = true;
}
break;
case ConsoleKey.Backspace:
if (!key.IsShift() && !key.IsCtrl() && !key.IsAlt())
{
BackSpace();
fProcessedKey = true;
}
break;
case ConsoleKey.Insert:
if (!key.IsShift() && !key.IsCtrl() && !key.IsAlt())
{
Insert();
fProcessedKey = true;
}
break;
case ConsoleKey.Delete:
if (!key.IsShift() && !key.IsCtrl() && !key.IsAlt())
{
Delete();
fProcessedKey = true;
}
break;
case ConsoleKey.Escape:
case ConsoleKey.Enter:
case ConsoleKey.PageDown:
case ConsoleKey.PageUp:
case ConsoleKey.F1:
case ConsoleKey.F2:
case ConsoleKey.F3:
case ConsoleKey.F4:
case ConsoleKey.F5:
case ConsoleKey.F6:
case ConsoleKey.F7:
case ConsoleKey.F8:
case ConsoleKey.F9:
case ConsoleKey.F10:
case ConsoleKey.F11:
case ConsoleKey.F12:
case ConsoleKey.Tab:
break;
default:
if (key.IsAscii())
{
TypeChar(key.KeyChar);
fProcessedKey = true;
}
break;
}
DisplayCursor();
return fProcessedKey;
}