Skip to content
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

Send XInput events to VM #97

Closed
wants to merge 14 commits into from
Closed

Send XInput events to VM #97

wants to merge 14 commits into from

Conversation

iacore
Copy link

@iacore iacore commented Mar 4, 2022

Attempt to Close QubesOS/qubes-issues#7316, Close QubesOS/qubes-issues#7231

TODO:

@iacore
Copy link
Author

iacore commented Mar 5, 2022

This is incorrect. A better way have one process and only send raw input events to one window at once.

@marmarek
Copy link
Member

marmarek commented Mar 5, 2022

I don't like what is happening here.
As explained in an email, receiving events even without having focus and then (trying to) track focus independently for filtering is too risky. One event missed/mishandled/whatever and you have cross-vm information leak.
Additionally, sending XIDeviceEvent as is, as part of the GUI protocol is no-go. Among other things, GUi protocol definition must not depend on X headers.

Lets start from the goal you want to achieve (mouse events usable for games?), instead of proxying whatever X11 normally does. X11 is really not a good source for secure GUI protocol design...

By reading QubesOS/qubes-issues#7316, it seems the issue is purely on gui-agent side, about how events are reported/injected to the VM's X server.

@iacore
Copy link
Author

iacore commented Mar 8, 2022

Additionally, sending XIDeviceEvent as is, as part of the GUI protocol is no-go. Among other things, GUi protocol definition must not depend on X headers.

This is a prototype that tries to be work correctly. I didn't bothered to create another struct because I need to send ~60% what XIDeviceEvent has.

By reading QubesOS/qubes-issues#7316, it seems the issue is purely on gui-agent side, about how events are reported/injected to the VM's X server.

It's not purely on gui-agent's side. The VM get fed key repeats by dom0.

@DemiMarie
Copy link
Contributor

@locriacyber @marmarek Can this be closed in favor of #98?

@iacore
Copy link
Author

iacore commented Jul 4, 2022

Yes. Closing. See #98 for newer working version.

@iacore iacore closed this Jul 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Support relative mouse movement gui rpc drop keystroke flags like repeat
3 participants