Skip to content

Conversation

@BsAtHome
Copy link
Contributor

This PR replaces #3730 by removing the use of xset in axis completely. It is replaced by setting the "detectable auto repeat" feature of the X server and ignore repeated press events where necessary. Tracking the press/release events with detectable auto repeat makes the jog keys work as intended.

@andypugh
Copy link
Collaborator

This looks like it was quite a bit of effort! Personally I would just ban keyboard jogging..... :-)

Is there any increased danger of key-release events being "lost"? I have heard occasional reports of a key-release not stopping the jog. (hence my policy above).

@BsAtHome
Copy link
Contributor Author

The chance of not receiving a key release is equal or less than before. The problem of missing key (release) events is usually a problem of bad key-rollover implementations of the physical keyboards. Some keyboards can not cope with multiple/many keys pressed if the keys are in the "wrong" rows/columns of the keyboard matrix. Other keyboards just "forget" keys if you press too many at the same time (for an arbitrary value of "too many").

The effort put into this is very much compensated by eliminating the annoyances generated by xset killing my workflow. Also this fixes the annoyance that a local program alters global settings (at least for axis).

FWIW, the changes were a lot less invasive and smaller than anticipated. And, I learned something about python/tcl/tk/X interactions too :-)

@andypugh andypugh merged commit 501f44a into LinuxCNC:master Jan 29, 2026
14 checks passed
@grandixximo
Copy link

grandixximo commented Jan 30, 2026

This breaks moving with the buttons in axis
I've commit a fix together with my PR #3746
hash is d07b95f

@andypugh
Copy link
Collaborator

I was berating myself for not testing this before merging, but console myself that I would never have thought of testing continuous mouse jogging anyway...

@BsAtHome
Copy link
Contributor Author

Same here... Fixed with #3758.

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.

3 participants