carnac icon indicating copy to clipboard operation
carnac copied to clipboard

Carnac interferes with ShareX

Open brechtbc opened this issue 5 years ago • 2 comments

SCENARIO As a shareX user I want to select what window I will be recording a video for while using Carnac.

EXPECTED I can select a window that needs to be recorded while Carnac is active.

ACTUAL Whenever Carnac is running, I'm unable to select a window for my recording session, I can only select the full screen to record. This only happens on the monitor where Carnac is displaying the keystrokes.

DETAILS Bug found on Carnac 2.3.3.0. on Windows 10.

ASSUMPTIONS/THEORIE ShareX recognizes windows when hovering over them with the mouse cursor. By clicking a window, ShareX will set the region to record. My assumption is Carnac paints a transparent window on the screen. I assume this transparent window is always in front. ShareX can only select this transparent window because of this, losing the region selection functionality. This probably also happens with other programs that depend on window recognition.

brechtbc avatar Jul 14 '20 07:07 brechtbc

@brechtbc thanks for the report.

Offhand I'm not entirely sure how to make this work with ShareX, but you can see the settings we apply for the window here:

https://github.com/Code52/carnac/blob/ac8188c012650eb9eda0fba4233527d9c4933fb7/src/Carnac/UI/KeyShowView.xaml#L8-L11

shiftkey avatar Jul 15 '20 12:07 shiftkey

@shiftkey you're verry welcome.

Unfortunately, I'm only slightly familiar with xaml code. I've had a look but wasn't able to figure out that much.

It seems like ShareX is detecting a overlay of some sort that covers the complete screen. A suggested improvement could be to only have this overlay cover the listview where the keystrokes show up instead of the complete screen.

I suppose / suspect ShareX and others use accessibility to detect open windows and define their region of the screen to get recorded. So another suggestion could be to look at those accessibility properties in Carnac to see what and what not to expose. To see what gets exposed trough accessibility properties, you could try a UI spy tool when running Carnac and see what you get. I'm unable to do this myself because I have no access to my laptop atm.

MS suggests using this one: https://accessibilityinsights.io/. There is also "inspect.exe" from MS, but I'm not sure if it's still in use that much, it received legacy status.

brechtbc avatar Jul 29 '20 12:07 brechtbc