From f63b1b5dc1b8704278ba896ad536b8a2c3ed77bb Mon Sep 17 00:00:00 2001 From: BehroozRezvani Date: Tue, 31 Mar 2026 20:31:29 +0100 Subject: [PATCH] Fixes PS button wrong input path check --- rpcs3/Emu/Io/GameTablet.cpp | 6 +++--- rpcs3/Emu/RSX/Overlays/overlays.cpp | 8 ++++---- rpcs3/Input/gui_pad_thread.cpp | 6 +++--- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/rpcs3/Emu/Io/GameTablet.cpp b/rpcs3/Emu/Io/GameTablet.cpp index 4c2330d908..1d0fcf24fe 100644 --- a/rpcs3/Emu/Io/GameTablet.cpp +++ b/rpcs3/Emu/Io/GameTablet.cpp @@ -229,6 +229,9 @@ void usb_device_gametablet::interrupt_transfer(u32 buf_size, u8* buf, u32 /*endp case CELL_PAD_CTRL_LEFT: left = true; break; + case CELL_PAD_CTRL_PS: + gt.btn_ps |= 1; + break; default: break; } @@ -249,9 +252,6 @@ void usb_device_gametablet::interrupt_transfer(u32 buf_size, u8* buf, u32 /*endp case CELL_PAD_CTRL_TRIANGLE: gt.btn_triangle |= 1; break; - case CELL_PAD_CTRL_PS: - gt.btn_ps |= 1; - break; default: break; } diff --git a/rpcs3/Emu/RSX/Overlays/overlays.cpp b/rpcs3/Emu/RSX/Overlays/overlays.cpp index f44647daa0..954c8cf0fe 100644 --- a/rpcs3/Emu/RSX/Overlays/overlays.cpp +++ b/rpcs3/Emu/RSX/Overlays/overlays.cpp @@ -289,6 +289,7 @@ namespace rsx handle_button_press(pad_button::R3, !!(digital1 & CELL_PAD_CTRL_R3), pad_index); handle_button_press(pad_button::select, !!(digital1 & CELL_PAD_CTRL_SELECT), pad_index); handle_button_press(pad_button::start, !!(digital1 & CELL_PAD_CTRL_START), pad_index); + handle_button_press(pad_button::ps, !!(digital1 & CELL_PAD_CTRL_PS), pad_index); } //if (pad->ldd_data.len > CELL_PAD_BTN_OFFSET_DIGITAL2) @@ -303,7 +304,6 @@ namespace rsx handle_button_press(pad_button::R1, !!(digital2 & CELL_PAD_CTRL_R1), pad_index); handle_button_press(pad_button::L2, !!(digital2 & CELL_PAD_CTRL_L2), pad_index); handle_button_press(pad_button::R2, !!(digital2 & CELL_PAD_CTRL_R2), pad_index); - handle_button_press(pad_button::ps, !!(digital2 & CELL_PAD_CTRL_PS), pad_index); } const auto handle_ldd_stick_input = [&](s32 offset, pad_button id_small, pad_button id_large) @@ -372,6 +372,9 @@ namespace rsx case CELL_PAD_CTRL_START: button_id = pad_button::start; break; + case CELL_PAD_CTRL_PS: + button_id = pad_button::ps; + break; default: break; } @@ -404,9 +407,6 @@ namespace rsx case CELL_PAD_CTRL_R2: button_id = pad_button::R2; break; - case CELL_PAD_CTRL_PS: - button_id = pad_button::ps; - break; default: break; } diff --git a/rpcs3/Input/gui_pad_thread.cpp b/rpcs3/Input/gui_pad_thread.cpp index e467c9ae0a..2df53f6f32 100644 --- a/rpcs3/Input/gui_pad_thread.cpp +++ b/rpcs3/Input/gui_pad_thread.cpp @@ -507,6 +507,9 @@ void gui_pad_thread::process_input() case CELL_PAD_CTRL_START: button_id = pad_button::start; break; + case CELL_PAD_CTRL_PS: + button_id = pad_button::ps; + break; default: break; } @@ -539,9 +542,6 @@ void gui_pad_thread::process_input() case CELL_PAD_CTRL_R2: button_id = pad_button::R2; break; - case CELL_PAD_CTRL_PS: - button_id = pad_button::ps; - break; default: break; }