void WindowsHost::PollControllers(InputState &input_state) { bool doPad = true; for (auto iter = this->input.begin(); iter != this->input.end(); iter++) { auto device = *iter; if (!doPad && device->IsPad()) continue; if (device->UpdateState(input_state) == InputDevice::UPDATESTATE_SKIP_PAD) doPad = false; } mouseDeltaX *= 0.9f; mouseDeltaY *= 0.9f; // TODO: Tweak! float mx = std::max(-1.0f, std::min(1.0f, mouseDeltaX * 0.01f)); float my = std::max(-1.0f, std::min(1.0f, mouseDeltaY * 0.01f)); AxisInput axisX, axisY; axisX.axisId = JOYSTICK_AXIS_MOUSE_REL_X; axisX.deviceId = DEVICE_ID_MOUSE; axisX.value = mx; axisY.axisId = JOYSTICK_AXIS_MOUSE_REL_Y; axisY.deviceId = DEVICE_ID_MOUSE; axisY.value = my; // Disabled for now as it makes the mapping dialog unusable! //if (fabsf(mx) > 0.1f) NativeAxis(axisX); //if (fabsf(my) > 0.1f) NativeAxis(axisY); }
void WindowsHost::PollControllers() { bool doPad = true; for (auto iter = this->input.begin(); iter != this->input.end(); iter++) { auto device = *iter; if (!doPad && device->IsPad()) continue; if (device->UpdateState() == InputDevice::UPDATESTATE_SKIP_PAD) doPad = false; } float scaleFactor_x = g_dpi_scale_x * 0.1 * g_Config.fMouseSensitivity; float scaleFactor_y = g_dpi_scale_y * 0.1 * g_Config.fMouseSensitivity; float mx = std::max(-1.0f, std::min(1.0f, g_mouseDeltaX * scaleFactor_x)); float my = std::max(-1.0f, std::min(1.0f, g_mouseDeltaY * scaleFactor_y)); AxisInput axisX, axisY; axisX.axisId = JOYSTICK_AXIS_MOUSE_REL_X; axisX.deviceId = DEVICE_ID_MOUSE; axisX.value = mx; axisY.axisId = JOYSTICK_AXIS_MOUSE_REL_Y; axisY.deviceId = DEVICE_ID_MOUSE; axisY.value = my; // Disabled by default, needs a workaround to map to psp keys. if (g_Config.bMouseControl){ if (GetUIState() == UISTATE_INGAME || g_Config.bMapMouse) { if (fabsf(mx) > 0.01f) NativeAxis(axisX); if (fabsf(my) > 0.01f) NativeAxis(axisY); } } g_mouseDeltaX *= g_Config.fMouseSmoothing; g_mouseDeltaY *= g_Config.fMouseSmoothing; }
void UWPHost::PollControllers() { bool doPad = true; for (auto iter = this->input.begin(); iter != this->input.end(); iter++) { auto device = *iter; if (!doPad && device->IsPad()) continue; if (device->UpdateState() == InputDevice::UPDATESTATE_SKIP_PAD) doPad = false; } /* g_mouseDeltaX *= 0.9f; g_mouseDeltaY *= 0.9f; // TODO: Tweak! float scaleFactor = g_dpi_scale * 0.01f; float mx = std::max(-1.0f, std::min(1.0f, g_mouseDeltaX * scaleFactor)); float my = std::max(-1.0f, std::min(1.0f, g_mouseDeltaY * scaleFactor)); AxisInput axisX, axisY; axisX.axisId = JOYSTICK_AXIS_MOUSE_REL_X; axisX.deviceId = DEVICE_ID_MOUSE; axisX.value = mx; axisY.axisId = JOYSTICK_AXIS_MOUSE_REL_Y; axisY.deviceId = DEVICE_ID_MOUSE; axisY.value = my; */ }
void WindowsHost::PollControllers(InputState &input_state) { bool doPad = true; for (auto iter = this->input.begin(); iter != this->input.end(); iter++) { auto device = *iter; if (!doPad && device->IsPad()) continue; if (device->UpdateState(input_state) == InputDevice::UPDATESTATE_SKIP_PAD) doPad = false; } }