When an X11 client reads X11-core events of type KeyPress and KeyRelease, a 
held-down key will result in a series of synthetic release/press events to make 
it look like the key was pressed multiple times. The initial delay and repeat 
rate are configured in the X server by xset and/or xkbset. Also, not all keys 
auto-repeat.

When that same X11 client reads XInput2-extension events of type XI_RawKeyPress 
and XI_RawKeyRelease, a held-and-released key results in exactly 2 events, no 
matter how long it was held. The XInput2 server extension ignores the server 
auto-repeat settings.

It is unreasonable to expect an X11 client to hack auto-repeat by itself. This 
is a server-side configuration issue.

Also this is far from the only problem with XInput2's keyboard event handling. 
See the comments in xscreensaver/driver/xinput.c for a laundry list of its 
bugs. 

--
Jamie Zawinski      https://www.jwz.org/      https://www.dnalounge.com/

Reply via email to