From 7859a5f9d2dc6a578241d620fbd33c53e696829c Mon Sep 17 00:00:00 2001 From: Megamouse Date: Mon, 16 Mar 2026 10:37:40 +0100 Subject: [PATCH] input: log warning instead of throwing an exception when the dpad has an unknown value --- rpcs3/Input/ds4_pad_handler.cpp | 7 ++++++- rpcs3/Input/dualsense_pad_handler.cpp | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/rpcs3/Input/ds4_pad_handler.cpp b/rpcs3/Input/ds4_pad_handler.cpp index 50d38773a3..d983a95e2c 100644 --- a/rpcs3/Input/ds4_pad_handler.cpp +++ b/rpcs3/Input/ds4_pad_handler.cpp @@ -334,7 +334,12 @@ std::unordered_map ds4_pad_handler::get_button_values(const std::share keyBuffer[DS4KeyCodes::Right] = 0; break; default: - fmt::throw_exception("ds4 dpad state encountered unexpected input"); + keyBuffer[DS4KeyCodes::Up] = 0; + keyBuffer[DS4KeyCodes::Down] = 0; + keyBuffer[DS4KeyCodes::Left] = 0; + keyBuffer[DS4KeyCodes::Right] = 0; + ds4_log.warning("dpad state encountered unexpected input: 0x%x", dpadState); + break; } // square, cross, circle, triangle diff --git a/rpcs3/Input/dualsense_pad_handler.cpp b/rpcs3/Input/dualsense_pad_handler.cpp index 91713afa34..8c07e5f028 100644 --- a/rpcs3/Input/dualsense_pad_handler.cpp +++ b/rpcs3/Input/dualsense_pad_handler.cpp @@ -723,7 +723,12 @@ std::unordered_map dualsense_pad_handler::get_button_values(const std: keyBuffer[DualSenseKeyCodes::Right] = 0; break; default: - fmt::throw_exception("dualsense dpad state encountered unexpected input"); + keyBuffer[DualSenseKeyCodes::Up] = 0; + keyBuffer[DualSenseKeyCodes::Down] = 0; + keyBuffer[DualSenseKeyCodes::Left] = 0; + keyBuffer[DualSenseKeyCodes::Right] = 0; + dualsense_log.warning("dpad state encountered unexpected input: 0x%x", data); + break; } data = (is_simple_mode ? input.z : input.buttons[0]) >> 4;