示例#1
0
        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));
        }
示例#2
0
 public void remapKeyUp(int alphanumericKeyCode, KeyCodes.EnumKeyType keyType, KeyCodes.EnumKeyCode?keyCode)
 {
     if (keyMapping.ContainsKey(alphanumericKeyCode))
     {
         privateKeyboardInputHandler.keyUp(keyMapping[alphanumericKeyCode]);
     }
 }
示例#3
0
 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);
     }
 }
示例#4
0
 public void keyDown(
     int alphanumericKeyCode,
     KeyCodes.EnumKeyType keyType,
     KeyCodes.EnumKeyCode?keyCode
     )
 {
     tryPropagateTranslatedEventToSelectedElement(
         KeyboardEvent.EnumStatechange.OFF_ON,
         alphanumericKeyCode,
         keyType,
         keyCode);
 }
示例#5
0
        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();
 }