diff options
author | ewewukek <ewewukek@gmail.com> | 2024-01-11 14:20:39 +0300 |
---|---|---|
committer | ewewukek <ewewukek@gmail.com> | 2024-03-27 13:18:30 +0300 |
commit | 8076db57ec709d76d0861e0fde0aa610d64fdf17 (patch) | |
tree | 229085be0cbd40af23f099c6925ce4109d82aedc /src/input/inputmanager.cpp | |
parent | 5fcfc0ae8222de65e83857947e23eb6b449f3f03 (diff) | |
download | manaverse-8076db57ec709d76d0861e0fde0aa610d64fdf17.tar.gz manaverse-8076db57ec709d76d0861e0fde0aa610d64fdf17.tar.bz2 manaverse-8076db57ec709d76d0861e0fde0aa610d64fdf17.tar.xz manaverse-8076db57ec709d76d0861e0fde0aa610d64fdf17.zip |
Extend gui support to joystick hat (d-pad)
Diffstat (limited to 'src/input/inputmanager.cpp')
-rw-r--r-- | src/input/inputmanager.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/input/inputmanager.cpp b/src/input/inputmanager.cpp index 8c5b01a7d..1db2fd07d 100644 --- a/src/input/inputmanager.cpp +++ b/src/input/inputmanager.cpp @@ -738,7 +738,9 @@ bool InputManager::handleEvent(const SDL_Event &restrict event) restrict2 if (gui != nullptr) { const bool res = gui->handleInput(); - if (res && (event.type == SDL_KEYDOWN || event.type == SDL_JOYBUTTONDOWN)) + const bool joystickActionEvent = + joystick != nullptr && joystick->isActionEvent(event); + if (res && (event.type == SDL_KEYDOWN || joystickActionEvent)) { BLOCK_END("InputManager::handleEvent") return true; @@ -1112,7 +1114,7 @@ InputActionT InputManager::getActionByKey(const SDL_Event &restrict event) return idx; } } - if (joystick != nullptr && event.type == SDL_JOYBUTTONDOWN) + if (joystick != nullptr && joystick->isActionEvent(event)) { const InputActionT idx = joystick->getActionId(event); if (CAST_S32(idx) >= 0 && |