feat(input): add native X11 xdotool pointer clicks - #70
Conversation
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
avifenesh
left a comment
There was a problem hiding this comment.
@UniqueDing, thank you for the careful DDE/X11 report, the real dual-display validation, and for implementing this.
I also owe you an apology: while your branch was in flight, I merged #69 and #72 through the same input and diagnostics code without first reconciling #70. That created these conflicts and independently replaced much of your diagnostics/process work. That is on me, not on your contribution.
The core #64 fix is still missing from main: native-X11 coordinate clicks still do not use xdotool. I would like to keep this PR and merge that work after a focused rebase onto 4b4126c.
Please update it as follows:
- Drop the behavioral
src/diagnostics.rsdiff; main now has the broader readiness, ordering, and override handling. - Place native-X11 xdotool clicking after the absolute-pointer attempt and before ydotool.
- Require explicit
XDG_SESSION_TYPE=x11, nonemptyDISPLAY, and no activeWAYLAND_DISPLAY; honorCOMPUTER_USE_LINUX_FORCE_YDOTOOL_POINTER. - Use one supervised command:
xdotool mousemove --sync -- X Y click --repeat N BUTTON. - Fall back only if xdotool cannot launch. If it starts and fails, return the error rather than risking duplicate clicks.
- Resolve button support before moving, preserving correct fallback for extended buttons.
- Add focused backend/failure tests plus the short README and changelog updates discussed in #64.
If you would rather not handle the conflict resolution caused by my overlapping changes, I can update your branch while preserving your authorship and credit. Your original diagnosis and native-X11 backend are still the valuable part of this fix. Thank you again.
|
I reproduced an old-xdotool compatibility issue on Deepin’s packaged The requested command:
times out when the pointer is already at Would you accept this conditional compatibility path while retaining one
This avoids the old same-coordinate |
|
Thank you for checking this against the distro-packaged version. I reproduced the issue in an isolated native-X11 workspace using exactly I also tested the unsynchronized single-process form both from a different starting position and with the pointer already at the target:
In both cases it completed immediately, and That changes my earlier The other review constraints still apply: resolve button support before launching or moving; try the absolute pointer first; gate this to explicit native X11 and honor |
6854e06 to
7a4e2f5
Compare
|
Great, thanks! |
Summary
xdotool/XTEST for coordinate clicks in explicit native X11 sessions.Closes #64