From 15920cd69b8cbb29c93182151c137490439e014b Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 13 Feb 2016 19:09:25 -0500 Subject: [PATCH] Fix a couple of keyboard/mouse capturing issues --- input.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/input.cpp b/input.cpp index cb8f8b9..bb50ce7 100644 --- a/input.cpp +++ b/input.cpp @@ -31,6 +31,7 @@ void MoonlightInstance::DidLockMouse(int32_t result) { void MoonlightInstance::MouseLockLost() { m_MouseLocked = false; + m_KeyModifiers = 0; } void MoonlightInstance::UpdateModifiers(PP_InputEvent_Type eventType, short keyCode) { @@ -127,6 +128,12 @@ bool MoonlightInstance::HandleInputEvent(const pp::InputEvent& event) { // Update modifier state before sending the key event UpdateModifiers(event.GetType(), keyboardEvent.GetKeyCode()); + if (m_KeyModifiers == (MODIFIER_ALT | MODIFIER_CTRL | MODIFIER_SHIFT)) { + g_Instance->UnlockMouse(); + m_MouseLocked = false; + return true; + } + LiSendKeyboardEvent(KEY_PREFIX << 8 | keyboardEvent.GetKeyCode(), KEY_ACTION_DOWN, m_KeyModifiers); return true;