void tryPropagateTranslatedEventToSelectedElement( KeyboardEvent.EnumStatechange statechange, int alphanumericKeyCode, KeyCodes.EnumKeyType keyType, KeyCodes.EnumKeyCode?keyCode ) { GuiElement selectedGuiElement; { bool wasRetrived; selectedGuiElement = tryRetriveSelectedGuiElement(out wasRetrived); if (!wasRetrived) { return; } } if (!(selectedGuiElement is IReactingToKeyboard)) { return; } var receiver = ((IReactingToKeyboard)selectedGuiElement).reactingToKeyboard; receiver.propagateKeyboardEvent(translateKeycodesToKeyboardEvent( KeyboardEvent.EnumStatechange.OFF_ON, alphanumericKeyCode, keyType, keyCode)); }
public void remapKeyUp(int alphanumericKeyCode, KeyCodes.EnumKeyType keyType, KeyCodes.EnumKeyCode?keyCode) { if (keyMapping.ContainsKey(alphanumericKeyCode)) { privateKeyboardInputHandler.keyUp(keyMapping[alphanumericKeyCode]); } }
public void routeKeyUp(int alphanumericKeyCode, KeyCodes.EnumKeyType keyType, KeyCodes.EnumKeyCode?keyCode) { if (destination == EnumDestination.INPUTREMAPPER) { inputRemapper.remapKeyUp(alphanumericKeyCode, keyType, keyCode); } else { guiEventRouter.keyUp(alphanumericKeyCode, keyType, keyCode); } }
public void keyDown( int alphanumericKeyCode, KeyCodes.EnumKeyType keyType, KeyCodes.EnumKeyCode?keyCode ) { tryPropagateTranslatedEventToSelectedElement( KeyboardEvent.EnumStatechange.OFF_ON, alphanumericKeyCode, keyType, keyCode); }
private static void translateToEngineKeycode(Keys windowsKeycode, out KeyCodes.EnumKeyCode?keyCode, out KeyCodes.EnumKeyType keyType) { keyCode = null; keyType = KeyCodes.EnumKeyType.ALPHANUMERIC; switch (windowsKeycode) { case Keys.Left: keyCode = KeyCodes.EnumKeyCode.DIRECTION_LEFT; goto isControl; case Keys.Right: keyCode = KeyCodes.EnumKeyCode.DIRECTION_RIGHT; goto isControl; case Keys.Up: keyCode = KeyCodes.EnumKeyCode.DIRECTION_UP; goto isControl; case Keys.Down: keyCode = KeyCodes.EnumKeyCode.DIRECTION_DOWN; goto isControl; case Keys.OemBackslash: keyCode = KeyCodes.EnumKeyCode.BACKSLASH; goto isControl; isControl: keyType = KeyCodes.EnumKeyType.CONTROL; return; default: keyType = KeyCodes.EnumKeyType.ALPHANUMERIC; return; } }
private KeyboardEvent translateKeycodesToKeyboardEvent(KeyboardEvent.EnumStatechange stateChange, int alphanumericKeyCode, KeyCodes.EnumKeyType keyType, KeyCodes.EnumKeyCode?keyCode) { throw new NotImplementedException(); }