diff options
author | bunnei <bunneidev@gmail.com> | 2022-02-24 20:42:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-24 20:42:51 +0100 |
commit | 1079215871cc15452e58aea59630871ea183feeb (patch) | |
tree | ac74f8005fc0f98ebdc3206037a83dc55db5ce1b /src/input_common/drivers/sdl_driver.cpp | |
parent | Merge pull request #7933 from german77/am_update (diff) | |
parent | input_common: Remove battery duplicated struct and update every button press (diff) | |
download | yuzu-1079215871cc15452e58aea59630871ea183feeb.tar yuzu-1079215871cc15452e58aea59630871ea183feeb.tar.gz yuzu-1079215871cc15452e58aea59630871ea183feeb.tar.bz2 yuzu-1079215871cc15452e58aea59630871ea183feeb.tar.lz yuzu-1079215871cc15452e58aea59630871ea183feeb.tar.xz yuzu-1079215871cc15452e58aea59630871ea183feeb.tar.zst yuzu-1079215871cc15452e58aea59630871ea183feeb.zip |
Diffstat (limited to 'src/input_common/drivers/sdl_driver.cpp')
-rw-r--r-- | src/input_common/drivers/sdl_driver.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/input_common/drivers/sdl_driver.cpp b/src/input_common/drivers/sdl_driver.cpp index 5cf1987ad..c17ea305e 100644 --- a/src/input_common/drivers/sdl_driver.cpp +++ b/src/input_common/drivers/sdl_driver.cpp @@ -175,22 +175,23 @@ public: return false; } - BatteryLevel GetBatteryLevel() { + Common::Input::BatteryLevel GetBatteryLevel() { const auto level = SDL_JoystickCurrentPowerLevel(sdl_joystick.get()); switch (level) { case SDL_JOYSTICK_POWER_EMPTY: - return BatteryLevel::Empty; + return Common::Input::BatteryLevel::Empty; case SDL_JOYSTICK_POWER_LOW: - return BatteryLevel::Low; + return Common::Input::BatteryLevel::Low; case SDL_JOYSTICK_POWER_MEDIUM: - return BatteryLevel::Medium; + return Common::Input::BatteryLevel::Medium; case SDL_JOYSTICK_POWER_FULL: case SDL_JOYSTICK_POWER_MAX: - return BatteryLevel::Full; - case SDL_JOYSTICK_POWER_UNKNOWN: + return Common::Input::BatteryLevel::Full; case SDL_JOYSTICK_POWER_WIRED: + return Common::Input::BatteryLevel::Charging; + case SDL_JOYSTICK_POWER_UNKNOWN: default: - return BatteryLevel::Charging; + return Common::Input::BatteryLevel::None; } } @@ -351,6 +352,8 @@ void SDLDriver::HandleGameControllerEvent(const SDL_Event& event) { if (const auto joystick = GetSDLJoystickBySDLID(event.jbutton.which)) { const PadIdentifier identifier = joystick->GetPadIdentifier(); SetButton(identifier, event.jbutton.button, true); + // Battery doesn't trigger an event so just update every button press + SetBattery(identifier, joystick->GetBatteryLevel()); } break; } |