Adjusting keyboard sensitivity in a command line terminal?

(I noticed a complaint that kbdrate might have a max limitation. Not sure how true it still is).

I use xset r rate 250 60 to accomplish speedups to my liking. I happen to put that in my ~/.i3/config (for i3wm) but I used to have it working in my ~/.xinitrc for startx to pick up. The xset invocation should apply to everything running in X.

(I’d be curious to hear if there’s any reason to prefer kbdrate or xset.)


It is called 'keyboard auto repeat rate' and you can set it with kbdrate Mine is set to:

$ sudo kbdrate
Typematic Rate set to 10.9 cps (delay = 250 ms)

You can set same with:

$ sudo kbdrate -r 10.9 -d 250
Typematic Rate set to 10.9 cps (delay = 250 ms)

Check the manual page for exact options:

man kbdrate

Unsure where the default setting is done, but /etc/rc.local, your .bash_profile, .profile or .bashrc sounds like a good place.


Add atkbd.softrepeat=1 on the kernel command line if you need fast repeat rate and low delay.

Without the trick, the hardware delay is limited by 250 ms, and the maximum repeat rate is 30. For the most people who use arrows for navigation in text editor or command line, the rate is too low, and the delay is too high.

Meanwhile, in Visual Studio, developers use an option called "double effective keyboard repeat rate" in the Visual Assist plugin. It should be a nice reason for the existence of the option.

Working with Linux without X could be a nice time saver, because you don't use your browser.

If you've spent more than a working day googling how to make kbdrate to accept the slower delay than 250 ms, the answer should help.