From 8713d261aa18117dd41cd660a686e4a89e92c8ae Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 13 Feb 2016 16:17:16 -0500 Subject: [PATCH] Only send mouse input to the PC when the mouse is locked --- input.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/input.cpp b/input.cpp index da9409d..24a3e00 100644 --- a/input.cpp +++ b/input.cpp @@ -36,6 +36,7 @@ bool MoonlightInstance::HandleInputEvent(const pp::InputEvent& event) { // Assume it worked until we get a callback telling us otherwise m_MouseLocked = true; + return true; } pp::MouseInputEvent mouseEvent(event); @@ -45,6 +46,10 @@ bool MoonlightInstance::HandleInputEvent(const pp::InputEvent& event) { } case PP_INPUTEVENT_TYPE_MOUSEMOVE: { + if (!m_MouseLocked) { + return false; + } + pp::MouseInputEvent mouseEvent(event); pp::Point posDelta = mouseEvent.GetMovement(); @@ -53,6 +58,10 @@ bool MoonlightInstance::HandleInputEvent(const pp::InputEvent& event) { } case PP_INPUTEVENT_TYPE_MOUSEUP: { + if (!m_MouseLocked) { + return false; + } + pp::MouseInputEvent mouseEvent(event); LiSendMouseButtonEvent(BUTTON_ACTION_RELEASE, ConvertPPButtonToLiButton(mouseEvent.GetButton())); @@ -60,6 +69,10 @@ bool MoonlightInstance::HandleInputEvent(const pp::InputEvent& event) { } case PP_INPUTEVENT_TYPE_WHEEL: { + if (!m_MouseLocked) { + return false; + } + pp::WheelInputEvent wheelEvent(event); // FIXME: Handle fractional scroll ticks