public void RemoveMapping(SDL.SDL_Scancode code) { if (_keyMappings.ContainsKey(code)) { _keyMappings.Remove(code); } }
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; } }
/// <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); }
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); }
public byte this[SDL.SDL_Scancode sc] { get { int i = (int)sc; unsafe { byte *arr = (byte *)ArrPointer.ToPointer(); byte key = *(arr + i); return(key); } } }
/// <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); } }
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; }
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); } }
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); }
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); } }
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(); }
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); }
public InputKey(SDL.SDL_Scancode scancode) { this.scancode = scancode; }
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); } }
public KeyInformation(SDL.SDL_Scancode physicalKey, SDL.SDL_Keycode virtualKey, SDL.SDL_Keymod modifier) { PhysicalKey = (PhysicalKeyCode)physicalKey; VirtualKey = (VirtualKeyCode)virtualKey; Modifier = (KeyModifier)modifier; }
public bool KeyPressed(SDL.SDL_Scancode scancode) { return(keyboardState[(int)scancode] && !keyboardLastState[(int)scancode]); }
public bool KeyDown(SDL.SDL_Scancode scancode) { return(keyboardState[(int)scancode]); }
/// <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); }
/// <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); }
public virtual void OnKeyDown(Engine main, SDL.SDL_Scancode sc) { // Called when key is pressed. }
public virtual void OnKeyUp(Engine main, SDL.SDL_Scancode sc) { // Called when key is released. }
public void MapInput(SDL.SDL_Scancode key, InputAction inputAction) { MapInput(inputAction); keyboardMapping.Add(new Tuple <SDL.SDL_Scancode, InputAction>(key, inputAction)); }
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)); }