public void RemoveMapping(SDL.SDL_Scancode code)
 {
     if (_keyMappings.ContainsKey(code))
     {
         _keyMappings.Remove(code);
     }
 }
Exemple #2
0
 private void BindLaneKey(SDL.SDL_Scancode scancode, int lane)
 {
     inputMapper.MapInput(scancode, InputAction.OnPressedReleased(
                              () => player.PlayerPressKey(lane),
                              () => player.PlayerReleaseKey(lane)
                              ));
 }
 public void AddMapping(SDL.SDL_Scancode code, KeyStatusChange keyboardEventHandler)
 {
     if (_keyMappings.ContainsKey(code))
     {
         _keyMappings.Remove(code);
     }
     _keyMappings.Add(code, keyboardEventHandler);
 }
 public void RotateRight(SDL.SDL_Scancode code, bool isDown)
 {
     _rotateRight = isDown;
     if (_rotateLeft && _rotateRight)
     {
         _rotateLeft = false;
     }
 }
Exemple #5
0
        /// <summary>
        /// Removes a raw key if a keyup event has been fired.  Stops repeatable events.
        /// </summary>
        /// <param name="key">The key is no longer being pressed.</param>
        public static void RemoveKeyRaw(SDL.SDL_Scancode key)
        {
            // call a keyup if a key event is registered
            Event keyBinding = KeyBindingsRaw[key];

            keyBinding?.CallRaw?.Invoke(key, false);
            keysRaw.Remove(key);
        }
 private static void MapKeyUp(SDL.SDL_Scancode sdlScanCode, ref SDL.SDL_Event ev, ref ButtonState buttonState)
 {
     if (ev.key.keysym.scancode == sdlScanCode)
     {
         buttonState.JustDown = false;
         buttonState.CurrentlyHeld = false;
     }
 }
        static Key TranslateKey(SDL.SDL_Scancode scan)
        {
            Key result = Key.Unknown;

            if (map.ContainsKey(scan))
            {
                result = map[scan];
            }
            return(result);
        }
Exemple #8
0
 protected void OnKeyUp(SDL.SDL_Scancode key)
 {
     if ((SDL.SDL_GetWindowFlags(this.window) & (uint)SDL.SDL_WindowFlags.SDL_WINDOW_INPUT_FOCUS) != 0)
     {
         if (this.keymap.ContainsKey(key))
         {
             this.gb.KeyUp(this.keymap[key]);
         }
     }
 }
        unsafe public bool IsKeyDown(SDL.SDL_Scancode scanCode)
        {
            int numKeys;
            // https://stackoverflow.com/questions/9732625/can-intptr-be-cast-into-a-byte-array-without-doing-a-marshal-copy
            // https://wiki.libsdl.org/SDL_GetKeyboardState
            IntPtr keyboardState = SDL.SDL_GetKeyboardState(out numKeys);
            byte * b             = (byte *)keyboardState;

            return(b[(int)scanCode] == 1);
        }
Exemple #10
0
 public byte this[SDL.SDL_Scancode sc] {
     get {
         int i = (int)sc;
         unsafe {
             byte *arr = (byte *)ArrPointer.ToPointer();
             byte  key = *(arr + i);
             return(key);
         }
     }
 }
Exemple #11
0
        /// <summary>
        /// Adds a raw key that has been pressed to the list of keys that are currently held down.
        /// </summary>
        /// <param name="key">The key that was pressed.</param>
        public static void AddKeyRaw(SDL.SDL_Scancode key)
        {
            Event keyBinding = KeyBindingsRaw[key];

            keyBinding?.CallRaw?.Invoke(key, true);
            lock (keysRaw)
                if (!keysRaw.Contains(key))
                {
                    keysRaw.Add(key);
                }
        }
Exemple #12
0
 public KeyboardState(
     SDL.SDL_Keymod modifier,
     SDL.SDL_Scancode key, bool repeat,
     KeyState state, uint timestamp,
     SDL.SDL_EventType type)
 {
     Modifier  = modifier;
     Key       = key;
     Repeat    = repeat;
     State     = state;
     Timestamp = timestamp;
     Type      = type;
 }
Exemple #13
0
        public static Keys ToXNA(SDL.SDL_Scancode key)
        {
            Keys retVal;

            if (INTERNAL_map.TryGetValue(key, out retVal))
            {
                return(retVal);
            }
            else
            {
                System.Console.WriteLine("KEY MISSING FROM SDL2->XNA DICTIONARY: " + key.ToString());
                return(Keys.None);
            }
        }
Exemple #14
0
        public void Forward(SDL.SDL_Scancode code, bool isDown)
        {
            if (isDown)
            {
                _acceleration.X = Math.Sin(this.Transformation.RotationRadians);
                _acceleration.Y = -Math.Cos(this.Transformation.RotationRadians);
                _acceleration   = _acceleration * _spd;
            }
            else
            {
                _acceleration.X = 0;
                _acceleration.Y = 0;
            }
            var thrustComponent = (escape_aliens.Engine.ThrustComponent) this.GetComponent(typeof(escape_aliens.Engine.ThrustComponent));

            thrustComponent.ToggleThrust(isDown);
        }
Exemple #15
0
        private void WinKeyUp(SDL.SDL_Scancode scancode)
        {
            if (OpenGLManager.DontPassKeyPresses)
            {
                return;
            }

            if (KeyUp != null)
            {
                KeyUp(this, scancode);
            }

            if (sceneManager.ActiveScene != null)
            {
                sceneManager.ActiveScene.OnKeyUp(this, scancode);
            }
        }
Exemple #16
0
        public void Update()
        {
            // Do focus stuff
            bool focus            = m_window.Focus;
            bool newlyGainedFocus = false;

            if (focus)
            {
                newlyGainedFocus = !m_hadFocus;
                m_hadFocus       = true;
            }
            else
            {
                newlyGainedFocus = false;
                m_hadFocus       = false;
            }

            // Get keys
            int    numKeys;
            IntPtr state = SDL.SDL_GetKeyboardState(out numKeys);

            byte[] stateBytes = new byte[numKeys];
            Marshal.Copy(state, stateBytes, 0, numKeys);
            foreach (Key key in m_keys.Keys)
            {
                SDL.SDL_Keycode  keycode  = (SDL.SDL_Keycode)key;
                SDL.SDL_Scancode scancode = SDL.SDL_GetScancodeFromKey(keycode);
                int scancodeInt           = (int)scancode;
                if (scancodeInt >= 0 && scancodeInt < numKeys)
                {
                    var  simpleButton = (SimpleButton)m_keys[key];
                    bool presed       = (stateBytes[scancodeInt] != 0);
                    if (newlyGainedFocus)
                    {
                        simpleButton.IgnoreCurrentPress();
                    }
                    simpleButton.Update(
                        focus && presed
                        );
                }
            }

            // Get text
            m_text = m_pendingText.ToString();
            m_pendingText.Clear();
        }
Exemple #17
0
        public InputType[] GetInputs(string keyName)
        {
            string[] keyArray;
            if (!keys.TryGetValue(keyName, out keyArray))
            {
                return(new InputType[0]);
            }

            InputType[] inputs = new InputType[keyArray.Length];
            for (int i = 0; i < keyArray.Length; i++)
            {
                string key = keyArray[i];

                SDL.SDL_Scancode scancode  = SDL.SDL_Scancode.SDL_SCANCODE_UNKNOWN;
                JoyInput         joyButton = JoyInput.Unknown;

                if (key.StartsWith("Joy") && Enum.TryParse(key.Remove(0, "Joy".Length), out joyButton))
                {
                    inputs[i] = new InputJoystick(joyButton);
                }
                else if ((scancode = SDL.SDL_GetScancodeFromName(key)) != SDL.SDL_Scancode.SDL_SCANCODE_UNKNOWN)
                {
                    inputs[i] = new InputKey(scancode);
                }
                else if (Enum.TryParse <SDL.SDL_Scancode>("SDL_SCANCODE_" + key, true, out scancode))
                {
                    inputs[i] = new InputKey(scancode);
                }
                else
                {
                    throw new ApplicationException("Unable to parse input key: " + key);
                }
            }

            return(inputs);
        }
Exemple #18
0
 public InputKey(SDL.SDL_Scancode scancode)
 {
     this.scancode = scancode;
 }
Exemple #19
0
        internal override Key ToKey(int nativeKey)
        {
            SDL.SDL_Scancode sdlScancode = (SDL.SDL_Scancode)nativeKey;
            switch (sdlScancode)
            {
            case SDL.SDL_Scancode.SDL_SCANCODE_UNKNOWN:             return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_A:                   return(Key.A);

            case SDL.SDL_Scancode.SDL_SCANCODE_B:                   return(Key.B);

            case SDL.SDL_Scancode.SDL_SCANCODE_C:                   return(Key.C);

            case SDL.SDL_Scancode.SDL_SCANCODE_D:                   return(Key.D);

            case SDL.SDL_Scancode.SDL_SCANCODE_E:                   return(Key.E);

            case SDL.SDL_Scancode.SDL_SCANCODE_F:                   return(Key.F);

            case SDL.SDL_Scancode.SDL_SCANCODE_G:                   return(Key.G);

            case SDL.SDL_Scancode.SDL_SCANCODE_H:                   return(Key.H);

            case SDL.SDL_Scancode.SDL_SCANCODE_I:                   return(Key.I);

            case SDL.SDL_Scancode.SDL_SCANCODE_J:                   return(Key.J);

            case SDL.SDL_Scancode.SDL_SCANCODE_K:                   return(Key.K);

            case SDL.SDL_Scancode.SDL_SCANCODE_L:                   return(Key.L);

            case SDL.SDL_Scancode.SDL_SCANCODE_M:                   return(Key.M);

            case SDL.SDL_Scancode.SDL_SCANCODE_N:                   return(Key.N);

            case SDL.SDL_Scancode.SDL_SCANCODE_O:                   return(Key.O);

            case SDL.SDL_Scancode.SDL_SCANCODE_P:                   return(Key.P);

            case SDL.SDL_Scancode.SDL_SCANCODE_Q:                   return(Key.Q);

            case SDL.SDL_Scancode.SDL_SCANCODE_R:                   return(Key.R);

            case SDL.SDL_Scancode.SDL_SCANCODE_S:                   return(Key.S);

            case SDL.SDL_Scancode.SDL_SCANCODE_T:                   return(Key.T);

            case SDL.SDL_Scancode.SDL_SCANCODE_U:                   return(Key.U);

            case SDL.SDL_Scancode.SDL_SCANCODE_V:                   return(Key.V);

            case SDL.SDL_Scancode.SDL_SCANCODE_W:                   return(Key.W);

            case SDL.SDL_Scancode.SDL_SCANCODE_X:                   return(Key.X);

            case SDL.SDL_Scancode.SDL_SCANCODE_Y:                   return(Key.Y);

            case SDL.SDL_Scancode.SDL_SCANCODE_Z:                   return(Key.Z);

            case SDL.SDL_Scancode.SDL_SCANCODE_1:                   return(Key.Key1);

            case SDL.SDL_Scancode.SDL_SCANCODE_2:                   return(Key.Key2);

            case SDL.SDL_Scancode.SDL_SCANCODE_3:                   return(Key.Key3);

            case SDL.SDL_Scancode.SDL_SCANCODE_4:                   return(Key.Key4);

            case SDL.SDL_Scancode.SDL_SCANCODE_5:                   return(Key.Key5);

            case SDL.SDL_Scancode.SDL_SCANCODE_6:                   return(Key.Key6);

            case SDL.SDL_Scancode.SDL_SCANCODE_7:                   return(Key.Key7);

            case SDL.SDL_Scancode.SDL_SCANCODE_8:                   return(Key.Key8);

            case SDL.SDL_Scancode.SDL_SCANCODE_9:                   return(Key.Key9);

            case SDL.SDL_Scancode.SDL_SCANCODE_0:                   return(Key.Key0);

            case SDL.SDL_Scancode.SDL_SCANCODE_RETURN:              return(Key.Enter);

            case SDL.SDL_Scancode.SDL_SCANCODE_ESCAPE:              return(Key.Escape);

            case SDL.SDL_Scancode.SDL_SCANCODE_BACKSPACE:           return(Key.Backspace);

            case SDL.SDL_Scancode.SDL_SCANCODE_TAB:                 return(Key.Tab);

            case SDL.SDL_Scancode.SDL_SCANCODE_SPACE:               return(Key.Space);

            case SDL.SDL_Scancode.SDL_SCANCODE_MINUS:               return(Key.Minus);

            case SDL.SDL_Scancode.SDL_SCANCODE_EQUALS:              return(Key.Equal);

            case SDL.SDL_Scancode.SDL_SCANCODE_LEFTBRACKET:         return(Key.LeftBracket);

            case SDL.SDL_Scancode.SDL_SCANCODE_RIGHTBRACKET:        return(Key.RightBracket);

            case SDL.SDL_Scancode.SDL_SCANCODE_BACKSLASH:           return(Key.Backslash);

            case SDL.SDL_Scancode.SDL_SCANCODE_NONUSHASH:           return(Key.Backslash);

            case SDL.SDL_Scancode.SDL_SCANCODE_SEMICOLON:           return(Key.SemiColon);

            case SDL.SDL_Scancode.SDL_SCANCODE_APOSTROPHE:          return(Key.Quote);

            case SDL.SDL_Scancode.SDL_SCANCODE_GRAVE:               return(Key.Tilde);

            case SDL.SDL_Scancode.SDL_SCANCODE_COMMA:               return(Key.Comma);

            case SDL.SDL_Scancode.SDL_SCANCODE_PERIOD:              return(Key.Period);

            case SDL.SDL_Scancode.SDL_SCANCODE_SLASH:               return(Key.Slash);

            case SDL.SDL_Scancode.SDL_SCANCODE_CAPSLOCK:            return(Key.CapsLock);

            case SDL.SDL_Scancode.SDL_SCANCODE_F1:                  return(Key.F1);

            case SDL.SDL_Scancode.SDL_SCANCODE_F2:                  return(Key.F2);

            case SDL.SDL_Scancode.SDL_SCANCODE_F3:                  return(Key.F3);

            case SDL.SDL_Scancode.SDL_SCANCODE_F4:                  return(Key.F4);

            case SDL.SDL_Scancode.SDL_SCANCODE_F5:                  return(Key.F5);

            case SDL.SDL_Scancode.SDL_SCANCODE_F6:                  return(Key.F6);

            case SDL.SDL_Scancode.SDL_SCANCODE_F7:                  return(Key.F7);

            case SDL.SDL_Scancode.SDL_SCANCODE_F8:                  return(Key.F8);

            case SDL.SDL_Scancode.SDL_SCANCODE_F9:                  return(Key.F9);

            case SDL.SDL_Scancode.SDL_SCANCODE_F10:                 return(Key.F10);

            case SDL.SDL_Scancode.SDL_SCANCODE_F11:                 return(Key.F11);

            case SDL.SDL_Scancode.SDL_SCANCODE_F12:                 return(Key.F12);

            case SDL.SDL_Scancode.SDL_SCANCODE_PRINTSCREEN:         return(Key.PrintScreen);

            case SDL.SDL_Scancode.SDL_SCANCODE_SCROLLLOCK:          return(Key.ScrollLock);

            case SDL.SDL_Scancode.SDL_SCANCODE_PAUSE:               return(Key.Pause);

            case SDL.SDL_Scancode.SDL_SCANCODE_INSERT:              return(Key.Insert);

            case SDL.SDL_Scancode.SDL_SCANCODE_HOME:                return(Key.Home);

            case SDL.SDL_Scancode.SDL_SCANCODE_PAGEUP:              return(Key.PageUp);

            case SDL.SDL_Scancode.SDL_SCANCODE_DELETE:              return(Key.Delete);

            case SDL.SDL_Scancode.SDL_SCANCODE_END:                 return(Key.End);

            case SDL.SDL_Scancode.SDL_SCANCODE_PAGEDOWN:            return(Key.PageDown);

            case SDL.SDL_Scancode.SDL_SCANCODE_RIGHT:               return(Key.Right);

            case SDL.SDL_Scancode.SDL_SCANCODE_LEFT:                return(Key.Left);

            case SDL.SDL_Scancode.SDL_SCANCODE_DOWN:                return(Key.Down);

            case SDL.SDL_Scancode.SDL_SCANCODE_UP:                  return(Key.Up);

            case SDL.SDL_Scancode.SDL_SCANCODE_NUMLOCKCLEAR:        return(Key.NumLock);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_DIVIDE:           return(Key.NumpadDivide);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_MULTIPLY:         return(Key.NumpadMultiply);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_MINUS:            return(Key.NumpadSubtract);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_PLUS:             return(Key.NumpadAdd);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_ENTER:            return(Key.NumpadEnter);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_1:                return(Key.Numpad1);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_2:                return(Key.Numpad2);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_3:                return(Key.Numpad3);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_4:                return(Key.Numpad4);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_5:                return(Key.Numpad5);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_6:                return(Key.Numpad6);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_7:                return(Key.Numpad7);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_8:                return(Key.Numpad8);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_9:                return(Key.Numpad9);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_0:                return(Key.Numpad0);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_PERIOD:           return(Key.NumpadDecimal);

            case SDL.SDL_Scancode.SDL_SCANCODE_NONUSBACKSLASH:      return(Key.GraveAccent);

            case SDL.SDL_Scancode.SDL_SCANCODE_APPLICATION:         return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_POWER:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_EQUALS:           return(Key.NumpadEqual);

            case SDL.SDL_Scancode.SDL_SCANCODE_F13:                 return(Key.F13);

            case SDL.SDL_Scancode.SDL_SCANCODE_F14:                 return(Key.F14);

            case SDL.SDL_Scancode.SDL_SCANCODE_F15:                 return(Key.F15);

            case SDL.SDL_Scancode.SDL_SCANCODE_F16:                 return(Key.F16);

            case SDL.SDL_Scancode.SDL_SCANCODE_F17:                 return(Key.F17);

            case SDL.SDL_Scancode.SDL_SCANCODE_F18:                 return(Key.F18);

            case SDL.SDL_Scancode.SDL_SCANCODE_F19:                 return(Key.F19);

            case SDL.SDL_Scancode.SDL_SCANCODE_F20:                 return(Key.F20);

            case SDL.SDL_Scancode.SDL_SCANCODE_F21:                 return(Key.F21);

            case SDL.SDL_Scancode.SDL_SCANCODE_F22:                 return(Key.F22);

            case SDL.SDL_Scancode.SDL_SCANCODE_F23:                 return(Key.F23);

            case SDL.SDL_Scancode.SDL_SCANCODE_F24:                 return(Key.F24);

            case SDL.SDL_Scancode.SDL_SCANCODE_EXECUTE:             return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_HELP:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_MENU:                return(Key.Menu);

            case SDL.SDL_Scancode.SDL_SCANCODE_SELECT:              return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_STOP:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_AGAIN:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_UNDO:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_CUT:                 return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_COPY:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_PASTE:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_FIND:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_MUTE:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_VOLUMEUP:            return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_VOLUMEDOWN:          return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_COMMA:            return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_EQUALSAS400:      return(Key.NumpadEqual);

            case SDL.SDL_Scancode.SDL_SCANCODE_INTERNATIONAL1:      return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_INTERNATIONAL2:      return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_INTERNATIONAL3:      return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_INTERNATIONAL4:      return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_INTERNATIONAL5:      return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_INTERNATIONAL6:      return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_INTERNATIONAL7:      return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_INTERNATIONAL8:      return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_INTERNATIONAL9:      return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_LANG1:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_LANG2:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_LANG3:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_LANG4:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_LANG5:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_LANG6:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_LANG7:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_LANG8:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_LANG9:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_ALTERASE:            return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_SYSREQ:              return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_CANCEL:              return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_CLEAR:               return(Key.NumpadEqual);

            case SDL.SDL_Scancode.SDL_SCANCODE_PRIOR:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_RETURN2:             return(Key.Enter);

            case SDL.SDL_Scancode.SDL_SCANCODE_SEPARATOR:           return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_OUT:                 return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_OPER:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_CLEARAGAIN:          return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_CRSEL:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_EXSEL:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_00:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_000:              return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_THOUSANDSSEPARATOR:  return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_DECIMALSEPARATOR:    return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_CURRENCYUNIT:        return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_CURRENCYSUBUNIT:     return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_LEFTPAREN:        return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_RIGHTPAREN:       return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_LEFTBRACE:        return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_RIGHTBRACE:       return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_TAB:              return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_BACKSPACE:        return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_A:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_B:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_C:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_D:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_E:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_F:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_XOR:              return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_POWER:            return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_PERCENT:          return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_LESS:             return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_GREATER:          return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_AMPERSAND:        return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_DBLAMPERSAND:     return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_VERTICALBAR:      return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_DBLVERTICALBAR:   return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_COLON:            return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_HASH:             return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_SPACE:            return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_AT:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_EXCLAM:           return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_MEMSTORE:         return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_MEMRECALL:        return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_MEMCLEAR:         return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_MEMADD:           return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_MEMSUBTRACT:      return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_MEMMULTIPLY:      return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_MEMDIVIDE:        return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_PLUSMINUS:        return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_CLEAR:            return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_CLEARENTRY:       return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_BINARY:           return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_OCTAL:            return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_DECIMAL:          return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KP_HEXADECIMAL:      return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_LCTRL:               return(Key.LeftControl);

            case SDL.SDL_Scancode.SDL_SCANCODE_LSHIFT:              return(Key.LeftShift);

            case SDL.SDL_Scancode.SDL_SCANCODE_LALT:                return(Key.LeftAlt);

            case SDL.SDL_Scancode.SDL_SCANCODE_LGUI:                return(Key.LeftSuper);

            case SDL.SDL_Scancode.SDL_SCANCODE_RCTRL:               return(Key.RightControl);

            case SDL.SDL_Scancode.SDL_SCANCODE_RSHIFT:              return(Key.RightShift);

            case SDL.SDL_Scancode.SDL_SCANCODE_RALT:                return(Key.RightAlt);

            case SDL.SDL_Scancode.SDL_SCANCODE_RGUI:                return(Key.RightSuper);

            case SDL.SDL_Scancode.SDL_SCANCODE_MODE:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_AUDIONEXT:           return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_AUDIOPREV:           return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_AUDIOSTOP:           return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_AUDIOPLAY:           return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_AUDIOMUTE:           return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_MEDIASELECT:         return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_WWW:                 return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_MAIL:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_CALCULATOR:          return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_COMPUTER:            return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_AC_SEARCH:           return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_AC_HOME:             return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_AC_BACK:             return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_AC_FORWARD:          return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_AC_STOP:             return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_AC_REFRESH:          return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_AC_BOOKMARKS:        return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_BRIGHTNESSDOWN:      return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_BRIGHTNESSUP:        return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_DISPLAYSWITCH:       return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KBDILLUMTOGGLE:      return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KBDILLUMDOWN:        return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_KBDILLUMUP:          return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_EJECT:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_SLEEP:               return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_APP1:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_SCANCODE_APP2:                return(Key.Unknown);

            case SDL.SDL_Scancode.SDL_NUM_SCANCODES:                return(Key.Unknown);

            default:
                return(Key.Unknown);
            }
        }
Exemple #20
0
 public KeyInformation(SDL.SDL_Scancode physicalKey, SDL.SDL_Keycode virtualKey, SDL.SDL_Keymod modifier)
 {
     PhysicalKey = (PhysicalKeyCode)physicalKey;
     VirtualKey  = (VirtualKeyCode)virtualKey;
     Modifier    = (KeyModifier)modifier;
 }
Exemple #21
0
 public bool KeyPressed(SDL.SDL_Scancode scancode)
 {
     return(keyboardState[(int)scancode] && !keyboardLastState[(int)scancode]);
 }
Exemple #22
0
 public bool KeyDown(SDL.SDL_Scancode scancode)
 {
     return(keyboardState[(int)scancode]);
 }
Exemple #23
0
 /// <summary>
 /// Subscribe an event to an sdl keycode (specified by the char occupying that key).
 /// </summary>
 public static void SubscribeRaw(SDL.SDL_Scancode Key, Event Event)
 {
     KeyBindingsRaw[Key] = Event;
 }
        public static bool WasReleased(SDL.SDL_Scancode scanCode)
        {
            var x = scancodesReleased[(int)scanCode];

            return(x);
        }
Exemple #25
0
 /// <summary>
 /// Subscribe an action to an sdl keycode (specified by the char occupying that key).
 /// </summary>
 public static void SubscribeRaw(SDL.SDL_Scancode Key, Action Event)
 {
     KeyBindingsRaw[Key] = new Event(Event);
 }
Exemple #26
0
 public virtual void OnKeyDown(Engine main, SDL.SDL_Scancode sc)
 {
     // Called when key is pressed.
 }
Exemple #27
0
 public virtual void OnKeyUp(Engine main, SDL.SDL_Scancode sc)
 {
     // Called when key is released.
 }
Exemple #28
0
 public void MapInput(SDL.SDL_Scancode key, InputAction inputAction)
 {
     MapInput(inputAction);
     keyboardMapping.Add(new Tuple <SDL.SDL_Scancode, InputAction>(key, inputAction));
 }
Exemple #29
0
 internal static bool KeyReleased(SDL.SDL_Scancode scanCode)
 {
     return(CurrentKeys[(int)scanCode] == 0 && PreviousKeys[(int)scanCode] == 1);
 }
 static Key TranslateKey(SDL.SDL_Keycode key)
 {
     SDL.SDL_Scancode scan = SDL.SDL_GetScancodeFromKey(key);
     return(TranslateKey(scan));
 }