How to override the new limited keyboard repeat rate limit?

In Ubuntu 15.10 and later the settings have moved.

To get approximately 90 cps repeat rate and 150 ms delay:

gsettings set org.gnome.desktop.peripherals.keyboard delay 150
gsettings set org.gnome.desktop.peripherals.keyboard repeat-interval 11

At these high repeat rates I would recommend to stay as close to a multiple of your screen refresh rate as possible. This will help you stop at the wanted location as the movement is easier to follow.

If we take the default example of a 60 Hz display this works out to one of these repeat intervals:

30  cps = 1000/30  ≈ 33 ms (30.3  cps)
60  cps = 1000/60  ≈ 16 ms (62.5  cps)
90  cps = 1000/90  ≈ 11 ms (90.9  cps)
120 cps = 1000/120 ≈ 8  ms (125.0 cps)

Given that this issue hasn't been fixed yet, and can be very frustrating, I here's a workaround:

Initially I used xset r rate, but the problem with it is that it's not persistent after sleep/awake, and sometimes the desktop reverts to limited rate at random times (probably gnome settings daemon does something which causes reinforcing the settings).

I was uselessly changing my old gconf keyboard settings, only to discover that the setting has been migrated to gsettings. The value limit is hardcoded in the system settings application (gnome-control-center in file ./panels/keyboard/gnome-keyboard-panel.ui:877).

You can easily override it:

gsettings set org.gnome.settings-daemon.peripherals.keyboard repeat-interval 15
gsettings set org.gnome.settings-daemon.peripherals.keyboard delay 150

As long as you don't change your settings from the gui, this setting should be persistent.


You can temporarily override Ubuntu's max keyboard rate using the xset command if you're using GNOME 3 on Ubuntu > 10.04. Example:

xset r rate 220 160

You can also try adding (uncomenting) the following in /etc/kbd/config:

KEYBOARD_RATE="160"

KEYBOARD_DELAY="220"

Edit: corrected an inconsistency in the examples.