OK, so the original problem was that xset expects the keyboard repeat rate to be passed to it in characters per second, but it was being passed in milliseconds per character instead. This is a pretty severe bug, causing the repeat rate to go down instead of up (or vice versa) after the user logs out and in. I found some other bugs, though, of varying severity.
The tooltips were wrong. "Delay before each key starts repeating" should only have appeared when mousing over the kb_delay HScale widget, but it (and only it) appeared wherever the mouse was, over that whole 2x4 table, blocking the other tooltip from appearing.
The keyboard beep was being exposed as a boolean, when it's really a percentage, plus -1 for off. So I changed the toggle widget to an HScale widget from -1 to 100.
The entire set_range_stops function was being commented out, yet was still run in several places. Weird. I got rid of it and all invocations.
No units were specified in the delay tooltips, so I added (ms) to them.
Plus a few minor typos.
Thanks in advance for reviewing my changes. I'd really appreciate if they were all added, but definitely the most important is the xset repeat rate bug. The patch is attached. It is meant to be applied to the stable version 0.3.5.
I have the same problem with lxinput_0.3.5-1_i386
I wanted to set the repeat rate slower because I find difficult to enter the passwords
I'm going to 'Preferences'-'Mouse and Keyboard' and set to the keyboard delay 1000 and interval 125
and then 2 files are updated:
1) in /home/myuser/.config/lxsession/LXDE/desktop.conf 2 lines are changed:
Delay=1000
Interval=125
All OK.
2) but in /home/myuser/.config/autostart/LXinput-setup.desktop this line looks like this:
Exec=sh -c 'xset m 20/10 10 r rate 1000 125 b on'
and this is an ugly bug
The 'xset r rate' syntax is
xset r rate 'delay in miliseconds' 'repeated keys per second'
but the repeated keys per second are in inverse relation with the interval.
repeated keys per second = 1000/interval
In my case it would be 1000/125 = 8
and the command should be
xset r rate 1000 8
The workaround is editing manually this file. But I expect this bug to be fixed.