-
-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gui rpc drop keystroke flags like repeat #7231
Comments
In
|
Ouch. Thanks for reporting this. @marmarek is this something that can be fixed in an R4.1 update? On the one hand it does require a protocol change, but on the other hand it seems to be causing actual problems for at least one user. |
Maybe...
|
Mouse scroll wheel event also has
|
There are too many |
Is there a plan to use TLV encoding for qubes events? That way, we can extend existing events with new fields in the future by simply adding new fields. |
@locriacyber Not that I am aware of. The encoding is deliberately kept as simple as possible to minimize attack surface. The protocol does support version negotiation, though, and the agent ignores events it is not aware of. |
Ok, I found a partial solution. I turned off keyboard repeat in "Keyboard" application in dom0, now every client VM seem to generate the correct key repeat events themselves. Still can't turn off emulated events for mouse wheels. Also, I lose key repeat in dom0 since I turned it off. |
Also, mouse wheel motion events are never emitted on client VMs. Need to fix this as well. |
I'm not using QubesOS anymore, so how do I fix this? I don't think I can. |
I’m not sure this is reasonably fixable with the current GUI protocol. The problem is not the quality of the PR or the complexity of the fix, but rather the lack of anyone with sufficient knowledge of X11 to review the changes. Most who worked on X11 have since moved on to Wayland, so it is very difficult to get help for X11 problems. @iacore: Which documentation did you use to figure outt how XInput worked? |
I agree. Given how xserver works, state synchronization with base X11 + xinput events feels like a meme. Better to patch the xserver to sync the internal states directly.
None. I ran the following two commands and tried to make the output match.
|
Which X server would need to be patched? Agent (guest) side or daemon (host) side?
I see! |
no idea. i didn't look into xserver source code at all at that time.
"Better" as in "better than running an X11 client in domU". i forgot what the Qubes OS gui architecture is like. i remembering window focus event and keyboard input event arrive in different order or just don't arrive at all. i fixed the alt+tab to work fairly consistently, but overall using Qubes OS still feels weird. I forgot a lot about how i did what, so take a look at QubesOS/qubes-gui-daemon#115 and use |
This comment was marked as outdated.
This comment was marked as outdated.
I’m pretty sure this has not been fixed. QubesOS/qubes-gui-daemon#115 has been fixed to no longer rely on raw events, so it ought to be merged if things work. |
How to file a helpful issue
Qubes OS release
r4.1
Brief summary
Key repeat is usable in dom0, but the Qubes gui protocol
gui-common
doesn't include flags for keys.This makes games extremely confused, because they can't differentiate between "pressing a key repeatedly" and "holding down a key".
Steps to reproduce
Run
xinput test-xi2
in dom0. Hold any key. You will see something like this in stdout:Run
xinput test-xi2
in a VM other than dom0. Hold any key. The flags are empty.Expected behavior
X input events should include flags like
repeat
too.The text was updated successfully, but these errors were encountered: