Skip to content

Send XInput events to VM#97

Closed
iacore wants to merge 14 commits into
QubesOS:masterfrom
iacore:xinput
Closed

Send XInput events to VM#97
iacore wants to merge 14 commits into
QubesOS:masterfrom
iacore:xinput

Conversation

@iacore

@iacore iacore commented Mar 4, 2022

Copy link
Copy Markdown

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

TODO:

@iacore

iacore commented Mar 5, 2022

Copy link
Copy Markdown
Author

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

@marmarek

marmarek commented Mar 5, 2022

Copy link
Copy Markdown
Member

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

iacore commented Mar 8, 2022

Copy link
Copy Markdown
Author

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
Copy Markdown
Contributor

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

@iacore

iacore commented Jul 4, 2022

Copy link
Copy Markdown
Author

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.

GUI RPC drops keystroke flags such as repeat Fix incorrect relative mouse xinput2 reports

3 participants