public bool OnKeyUp([GeneratedEnum] Keycode keyCode, KeyEvent e) { if ((((int)e.Source & (int)InputSourceType.Gamepad) == (int)InputSourceType.Gamepad) && e.RepeatCount == 0) { GameControllerEventInternal?.Invoke(this, new GameControllerEventArgs(GameControllerEventType.Button, e.KeyCode.ToString(), 0.0F)); return(true); } return(false); }
public bool OnKeyDown([GeneratedEnum] Keycode keyCode, KeyEvent e) { if (e.RepeatCount == 0) { GameControllerEventInternal?.Invoke(this, new GameControllerEventArgs(GameControllerEventType.Button, e.KeyCode.ToString(), 1.0F)); return(true); } return(false); }
private void SetupAnalogAxisInput(GCControllerAxisInput axis, string name) { axis.ValueChangedHandler = (ax, value) => { value = AdjustControllerValue(value); if (!_lastControllerEventValueMap.ContainsKey(name) || !AreAlmostEqual(_lastControllerEventValueMap[name], value)) { GameControllerEventInternal?.Invoke(this, new GameControllerEventArgs(GameControllerEventType.Axis, name, value)); _lastControllerEventValueMap[name] = value; } }; }
private void SetupAnalogButtonInput(GCControllerButtonInput button, string name) { button.ValueChangedHandler = (btn, value, isPressed) => { value = value < 0.1 ? 0.0F : value; if (!_lastControllerEventValueMap.ContainsKey(name) || !AreAlmostEqual(_lastControllerEventValueMap[name], value)) { _lastControllerEventValueMap[name] = value; GameControllerEventInternal?.Invoke(this, new GameControllerEventArgs(GameControllerEventType.Axis, name, value)); } }; }
private void SetupDigitalAxisInput(GCControllerAxisInput axis, string name) { axis.ValueChangedHandler = (ax, value) => { if (value < -0.1F) { value = -1.0F; } else if (value > 0.1F) { value = 1.0F; } else { value = 0.0F; } if (!_lastControllerEventValueMap.ContainsKey(name) || !AreAlmostEqual(_lastControllerEventValueMap[name], value)) { GameControllerEventInternal?.Invoke(this, new GameControllerEventArgs(GameControllerEventType.Axis, name, value)); _lastControllerEventValueMap[name] = value; } }; }