How to override the new limited keyboard repeat rate limit?
I may be an alien around here, but here's my problem: the speed limit on old Ubuntu releases (= before 11) was very very fast. It was really great for me.
Now, on Ubuntu 11, they may have thought: "who will ever want that speed? Nobody! So let's put the maximum speed to a lower limit".
It's so stupid that they tried to narrow down the speed to some other famous OS. If Linux is more powerful, why remove some of its power? I don't get that.
So is there any way to override that speed limit and get my keyboard as fast as it is on other previous versions?
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.
Go to System-> Preferences-> Keyboard, and adjust the Repeat Keys Speed
slider to the far right. On later systems you access this control using the Unity Launcher's System Settings--the button with the wrench. The control panel is the same.