diff --git a/rpcs3/Input/keyboard_pad_handler.cpp b/rpcs3/Input/keyboard_pad_handler.cpp index c3f228400d..8eb60c46e4 100644 --- a/rpcs3/Input/keyboard_pad_handler.cpp +++ b/rpcs3/Input/keyboard_pad_handler.cpp @@ -856,8 +856,8 @@ void keyboard_pad_handler::ThreadProc() if (last_connection_status[i] == false) { - pad.m_port_status |= CELL_PAD_STATUS_CONNECTED; - pad.m_port_status |= CELL_PAD_STATUS_ASSIGN_CHANGES; + m_bindings[i]->m_port_status |= CELL_PAD_STATUS_CONNECTED; + m_bindings[i]->m_port_status |= CELL_PAD_STATUS_ASSIGN_CHANGES; last_connection_status[i] = true; connected_devices++; } @@ -950,6 +950,5 @@ void keyboard_pad_handler::ThreadProc() auto& pad = m_bindings[i]; pad->m_buttons = m_pads_internal[i].m_buttons; pad->m_sticks = m_pads_internal[i].m_sticks; - pad->m_port_status = m_pads_internal[i].m_port_status; } } diff --git a/rpcs3/Input/keyboard_pad_handler.h b/rpcs3/Input/keyboard_pad_handler.h index a88fb50f14..247615071f 100644 --- a/rpcs3/Input/keyboard_pad_handler.h +++ b/rpcs3/Input/keyboard_pad_handler.h @@ -110,7 +110,7 @@ private: void release_all_keys(); std::vector> m_bindings; - std::vector m_pads_internal; // Accumulates input until the next poll + std::vector m_pads_internal; // Accumulates input until the next poll. Only used for user input! // Button Movements steady_clock::time_point m_button_time;