Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/platform/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -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();
Expand Down
4 changes: 4 additions & 0 deletions src/platform/linux/misc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -327,6 +327,10 @@ namespace platf {
// Unimplemented
}

void enable_mouse_keys() {
// Unimplemented
}

void streaming_will_start() {
// Nothing to do
}
Expand Down
4 changes: 4 additions & 0 deletions src/platform/macos/misc.mm
Original file line number Diff line number Diff line change
Expand Up @@ -214,6 +214,10 @@ void adjust_thread_priority(thread_priority_e priority) {
// Unimplemented
}

void enable_mouse_keys() {
// Unimplemented
}

void streaming_will_start() {
// Nothing to do
}
Expand Down
3 changes: 3 additions & 0 deletions src/platform/windows/misc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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.";
Expand Down
4 changes: 4 additions & 0 deletions src/video.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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();
}
}

Expand Down
Loading