diff --git a/src/libs/controller.cpp b/src/libs/controller.cpp index 6ccd3d290..ad4edf69c 100644 --- a/src/libs/controller.cpp +++ b/src/libs/controller.cpp @@ -208,7 +208,8 @@ void GameController::AddState(const ControllerState& state) { void GameController::Button(int id, uint32_t button, bool down) { Common::LockGuard lock(m_mutex); - if (m_active_id == id) { + // The keyboard shares the player-1 pad with the active gamepad. + if (m_active_id == id || id == HOST_INPUT_CONTROLLER_ID) { auto state = GetLastState(); state.time = LibKernel::KernelGetProcessTime(); @@ -226,7 +227,7 @@ void GameController::Button(int id, uint32_t button, bool down) { void GameController::Axis(int id, Controller::Axis axis, int value) { Common::LockGuard lock(m_mutex); - if (m_active_id == id) { + if (m_active_id == id || id == HOST_INPUT_CONTROLLER_ID) { auto state = GetLastState(); state.time = LibKernel::KernelGetProcessTime();