OpenKneeboard icon indicating copy to clipboard operation
OpenKneeboard copied to clipboard

Support full-monitor capture

Open fredemmott opened this issue 2 years ago • 6 comments

For example, SimHub dashboards can not currently be captured if they are full-screen.

fredemmott avatar Nov 30 '23 19:11 fredemmott

Partially done in https://github.com/OpenKneeboard/OpenKneeboard/commit/239d978599732a7a1f26b377f4cf833d331d765f

With this, if capturing a full-screen window fails, it will capture the monitor instead - however, I've not added a way to capture a monitor unless you're capturing a specific full-screen window.

Marked as 'done' for sim racing, as that's enough for dashboards.

fredemmott avatar Nov 30 '23 21:11 fredemmott

Closing: would be interested in a pull request to fully supported it, but it's never been requested, and personally don't see a situation where this is going to be useful that doesn't also require input injection, which isn't going to happen.

fredemmott avatar Feb 02 '24 15:02 fredemmott

Input injection is not needed for games that don't care if they're in the background - SendInput() can be used, and the default windows handling will work.

fredemmott avatar Mar 06 '24 14:03 fredemmott

Similar to this, would be great to capture an area of the screen, similar to how VNC servers can do so... thanks.

wheeliemonster avatar Mar 07 '24 11:03 wheeliemonster

Hey Fred. Just wondering how likely this is for v1.9? :) I know there's probably an overriding sense that you would want input injection for full monitor capture, but personally I don't need that, I just want to bring a (virtual) monitor into VR via OKB, so really interested to see if there is progress on this item. Thanks, as always.

wheeliemonster avatar May 03 '24 08:05 wheeliemonster

Note to self:

Devices can be enumerated with model number and serial via WMI, e.g. gwmi WmiMonitorID -Namespace root\wmi | ForEach-Object {$_.InstanceName; ($_.UserFriendlyName -ne 0 | foreach {[char]$_}) -join ""; ($_.SerialNumberID -ne 0 | foreach {[char]$_}) -join ""}

Should be able to correlate that with RECT and HMONITOR via EnumDisplayMonitors()


I don't do ETAs or probability guesses. Any updates will be posted on GitHub issues when they happen. I ignore all similar questions on all issues - no posted update == there isn't news.

fredemmott avatar Jul 05 '24 22:07 fredemmott