protected void KeyChanged( KeyCodes key, bool down )
{
if ( down )
{
switch ( key )
{
case KeyCodes.LeftAlt:
case KeyCodes.RightAlt:
modifiers |= ModifierKeys.Alt;
break;
case KeyCodes.LeftShift:
case KeyCodes.RightShift:
modifiers |= ModifierKeys.Shift;
break;
case KeyCodes.LeftControl:
case KeyCodes.RightControl:
modifiers |= ModifierKeys.Control;
break;
}
Axiom.Input.KeyEventArgs e = new Axiom.Input.KeyEventArgs( key, modifiers );
OnKeyDown( e );
}
else
{
switch ( key )
{
case KeyCodes.LeftAlt:
case KeyCodes.RightAlt:
modifiers &= ~ModifierKeys.Alt;
break;
case KeyCodes.LeftShift:
case KeyCodes.RightShift:
modifiers &= ~ModifierKeys.Shift;
break;
case KeyCodes.LeftControl:
case KeyCodes.RightControl:
modifiers &= ~ModifierKeys.Control;
break;
}
Axiom.Input.KeyEventArgs e = new Axiom.Input.KeyEventArgs( key, modifiers );
OnKeyUp( e );
}
}