Is there a solution to VirtViewer 0.11 (SPICE client) occasionally capturing keyboard without focus ?

shodan

Well-Known Member
Sep 1, 2022
323
78
48
Hi,

I'm trying to work out the kinks related to using VirtViewer/SPICE

One of the annoyances is that sometimes it captures keyboard events when not focused ?
I think this might be from just passing the cursor over it
Even though not focused, sometimes it captures keyboard anyway.

And then the solution is to intentionally focus VirtViewer and then defocus it so it will let go.

But I'd like it would only capture keyboard events when I click on it and focus it.

I'm just curious, before I start digging into the code, if anyone know what the trick is, and if there is one ?

I would also like to stop VirtViewer from capturing global keybinds.

I have set alternate keybinds in all my virtual machine guest OS for the global keybinds, so I don't need global keybind capture, if I want client or guest global keybind, then I press the correct keybind
 
I see the exact same issue and it's frustrating to say the least. The only way I've found not to trigger it is to minimise the VirtViewer window completely. It appears to re-trigger on just moving the cursor across it - certainly not only when clicking into the window.

I have also had it where no matter what I do, keyboard input isn't being sent to VirtViewer. Mouse works fine, but no keypresses. That might have been a one-off though.
 
I have created a build system that works for virtviewer, I discovered that there exist minor unpublished improvements in the virtviewer repo.

Now I am digging through the virtviewer source code to find the source of that issue.

There is another issue where the cursor disappears when moved close to the left edge of the screen.

Also the linux and mac version have many minor features that could be backported to the windows version.

And after all of this, I think the spice client is well due for receiving quite a few more quality of life upgrades and bringing it to feature parity with other "remove desktop-like" software. (also I still have not managed to get webdav to work, I'm starting to think no one else has ever done.)

I think there is a LOT of untapped potential for SPICE.

But I think that because SPICE is breaking noVNC is turning off everyone away from SPICE which is a shame, since it is more efficient than installing a remote desktop-like server in the guest (which is more resource intensive than native code).

So I think fixing noVNC mouse drift is just as essential so that we can make QXL the default display device and so SPICE would always work.

I also would like the virtviewer to be able to connect with regular login and password of private key file or sshagent.

Also it should be able to operate at 120Hz and HDR 10 bit image.

And multimonitor should work better up to 6 or maybe even 10 displays.

Also I want the SPICE backend driver to work back into win9x, dos, OS2, MAC, android whatever else.
 
  • Like
Reactions: ns33
You're right. there's absolutely a ton of untapped potential for SPICE. Having a high fidelity, native VDI client/server streaming protocol, like Horizon or whatever Citrix calls theirs, would be huge, especially if it works with Nvidia vGPU. Currently need to outright disable the display interface with vGPU and use a 3rd party streaming protocol.

For now, especially on the enterprise side, we found Amazon DCV to be an amazing gap filler. Sure it's paid but its under $200 for a perpetual license, you do need to pay yearly for update though but for our environment, I'm able to push multi 4k screens at 60fps with 4:4:4 color sampling.

Any chance you can share the build system?