public InputEventWithModifiers ToInputEvent() { InputEventWithModifiers result = Type switch { InputType.Key => new InputEventKey { Scancode = Code }, InputType.MouseButton => new InputEventMouseButton { ButtonIndex = (int)Code }, _ => throw new NotSupportedException("Unsupported InputType given"), }; result.Alt = Alt; result.Control = Control; result.Shift = Shift; return(result); }
public SpecifiedInputKey(InputEventWithModifiers @event) { Control = @event.Control; Alt = @event.Alt; Shift = @event.Shift; switch (@event) { case InputEventKey inputKey: Type = InputType.Key; Code = inputKey.Scancode; break; case InputEventMouseButton inputMouse: Type = InputType.MouseButton; Code = (uint)inputMouse.ButtonIndex; break; } }