mirror of
https://github.com/LizardByte/Sunshine.git
synced 2026-08-07 18:36:34 +00:00
fix(windows): resolve disappearing cursor after KVM switch (#4407)
This commit is contained in:
@@ -610,6 +610,8 @@ namespace platf {
|
||||
};
|
||||
void adjust_thread_priority(thread_priority_e priority);
|
||||
|
||||
void enable_mouse_keys();
|
||||
|
||||
// Allow OS-specific actions to be taken to prepare for streaming
|
||||
void streaming_will_start();
|
||||
void streaming_will_stop();
|
||||
|
||||
@@ -327,6 +327,10 @@ namespace platf {
|
||||
// Unimplemented
|
||||
}
|
||||
|
||||
void enable_mouse_keys() {
|
||||
// Unimplemented
|
||||
}
|
||||
|
||||
void streaming_will_start() {
|
||||
// Nothing to do
|
||||
}
|
||||
|
||||
@@ -214,6 +214,10 @@ namespace platf {
|
||||
// Unimplemented
|
||||
}
|
||||
|
||||
void enable_mouse_keys() {
|
||||
// Unimplemented
|
||||
}
|
||||
|
||||
void streaming_will_start() {
|
||||
// Nothing to do
|
||||
}
|
||||
|
||||
@@ -1133,7 +1133,10 @@ namespace platf {
|
||||
}
|
||||
}
|
||||
}
|
||||
enable_mouse_keys();
|
||||
}
|
||||
|
||||
void enable_mouse_keys() {
|
||||
// If there is no mouse connected, enable Mouse Keys to force the cursor to appear
|
||||
if (!GetSystemMetrics(SM_MOUSEPRESENT)) {
|
||||
BOOST_LOG(info) << "A mouse was not detected. Sunshine will enable Mouse Keys while streaming to force the mouse cursor to appear.";
|
||||
|
||||
@@ -1977,6 +1977,10 @@ namespace video {
|
||||
}
|
||||
|
||||
session->request_normal_frame();
|
||||
|
||||
// While streaming check to see if the mouse is present and enable Mouse Keys to force the cursor to appear
|
||||
// This is useful for KVM switch scenarios where mouse may disappear during streaming
|
||||
platf::enable_mouse_keys();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user