From 5deedb1524c6a676d411577ca3a49980e12672e7 Mon Sep 17 00:00:00 2001 From: Jake Date: Wed, 7 May 2014 18:08:16 -0500 Subject: [PATCH] Fix pad handler for digital buttons --- rpcs3/Emu/SysCalls/lv2/SC_Pad.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/rpcs3/Emu/SysCalls/lv2/SC_Pad.cpp b/rpcs3/Emu/SysCalls/lv2/SC_Pad.cpp index 6167d0ee13..96244b09ff 100644 --- a/rpcs3/Emu/SysCalls/lv2/SC_Pad.cpp +++ b/rpcs3/Emu/SysCalls/lv2/SC_Pad.cpp @@ -118,6 +118,7 @@ int cellPadGetData(u32 port_no, u32 data_addr) if (button.m_offset == CELL_PAD_BTN_OFFSET_DIGITAL1) { if (button.m_pressed) pad.m_digital_1 |= button.m_outKeyCode; + else pad.m_digital_1 &= ~button.m_outKeyCode; switch (button.m_outKeyCode) { @@ -136,6 +137,8 @@ int cellPadGetData(u32 port_no, u32 data_addr) else if (button.m_offset == CELL_PAD_BTN_OFFSET_DIGITAL2) { if (button.m_pressed) pad.m_digital_2 |= button.m_outKeyCode; + else pad.m_digital_2 &= ~button.m_outKeyCode; + switch (button.m_outKeyCode) { case CELL_PAD_CTRL_SQUARE: pad.m_press_square = button.m_value; break;