I have the following is my .xinitrc:

xset r rate 250 100 &

Which sets the repeat rate when you are holding a keyboard key to a pretty high value. However, whenever I plug in another keyboard, the rate is reset to a much lower one. Why could that be happening and how do I fix it?

Might that be somehow related to the fact that one of the keyboards is a PS/2 one and the other is a USB one?


I solved the same problem by editing my ~/.xserverrc.

It looks like this:

exec /usr/bin/X -nolisten tcp -ardelay 300 -arinterval 25 "$@"

It's equivalent to xset r rate 300 40, because xset uses frequency while X startup options use a delay (1/25ms = 40Hz). In your case ardelay would be 250 and arinterval would be 10.

Note that I'm using startx to launch my X session but your display manager (if you use one) might not read your xserverrc. Gnome also seems to override the rates even when launched with startx.

I am using a USB keyboard that is attached to my laptop so I doubt PS/2 is related to this.

  • I'm using Arch linux and it works perfectly. Had to restart the x server. – kevin Oct 29 '15 at 20:07
  • yeah proper solution. /etc/X11/xinit/xserverrc is the global default (on Debian).. I used to have a cron job before doing an xset call every minute as a silly hack.. – eMPee584 Aug 6 '18 at 3:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.