KBDRATE(8)
โจ KBDRATE(8) โจ
Okay so this is the manual page for kbdrate, the tool that lets you tweak your keyboard's repeat rate and delay time ๐โจ๏ธ
๐ NAME ๐
kbdrate - reset the keyboard repeat rate and delay time ๐ธ
๐ง SYNOPSIS ๐ง
kbdrate [options...]
๐ DESCRIPTION ๐
Bestie, kbdrate is how you change the keyboard repeat rate and delay time ๐
The delay is how long you have to hold a key down before it starts repeating. Lowkey the most important thing to know ๐ซถ
Running kbdrate with no options resets everything to the defaults. On Intel- and M68K-based systems that means a repeat rate of 10.9 characters per second (cps) and a delay of 250 milliseconds (ms). These are the IBM defaults, so they're the classic vibe ๐ฆ On SPARC-based systems, it resets the repeat rate to 5 cps and the delay to 200 ms โจ
๐ OPTIONS ๐
-r,--rate=NUMBERโ Sets the repeat rate to NUMBER cps ๐ On Intel-based systems the allowed range is 2.0 to 30.0 cps. Only certain specific values are possible, so the program picks the closest one to what you typed. The possible values (in characters per second) are:
2.0, 2.1, 2.3, 2.5, 2.7, 3.0, 3.3, 3.7, 4.0, 4.3, 4.6, 5.0, 5.5,
6.0, 6.7, 7.5, 8.0, 8.6, 9.2, 10.0, 10.9, 12.0, 13.3, 15.0, 16.0,
17.1, 18.5, 20.0, 21.8, 24.0, 26.7, 30.0.
On SPARC-based systems the allowed range is 0 (no repeat) to 50 cps ๐
-d,--delay=NUMBERโ Sets the delay to NUMBER milliseconds ๐ On Intel-based systems that's anywhere from 250 to 1000 ms, in 250 ms steps. On SPARC systems, you can pick anything between 10 ms and 1440 ms, in 10 ms steps โญ-s,--silentโ Silent mode ๐คซ No messages get printed.-h,--helpโ Shows a help text ๐-V,--versionโ Shows the version number and exits ๐ธ
๐ BUGS ๐
Not all keyboards support all rates, so don't be shocked if yours says no ๐
Not all keyboards map the rates the same way either. Every keyboard is its own main character ๐
Setting the repeat rate on the Gateway AnyKey keyboard does not work. If someone with a Gateway figures out how to program the keyboard, please send mail to util-linux@math.uio.no ๐ญ
All of this is super architecture dependent ๐ง Nowadays kbdrate first tries the KDKBDREP and KIOCSRATE ioctls. (The former usually works on an m68k/i386 machine, and the latter on SPARC.) When these ioctls fail, it falls back to an ioport interface.
๐ FILES ๐
/etc/rc.local/dev/port
Okay that's the whole tea ๐ซถ This page is from the kbd source, dated 22 June 1994, so it's giving vintage. Stay hydrated and keep those keys repeating, bestie ๐ โจ
๐ฆ where this page comes from
- alpine 3.22: kbd-doc 2.7.1-r1 ยท GPL-2.0-or-later
- alpine 3.23: kbd-doc 2.8.0-r0 ยท GPL-2.0-or-later
- alpine 3.24: kbd-doc 2.8.0-r0 ยท GPL-2.0-or-later
- arch rolling: kbd 2.10.0-1 ยท GPL-2.0-or-later
- debian bookworm: kbd 2.5.1-1+b1 ยท GPL-2.0-or-later
- debian trixie: kbd 2.7.1-2 ยท GPL-2.0-or-later
- nixos 26.05: kbd 2.9.0
- nixos 26.05: kbd-vlock 2.9.0
- nixpkgs unstable: kbd 2.9.0
- nixpkgs unstable: kbd-vlock 2.9.0
- opensuse-leap 16.0: kbd 2.7.1-160000.3.1 ยท GPL-2.0-or-later AND GPL-3.0-or-later
- opensuse-leap 16.0: kbd 2.7.1-160000.3.1 ยท GPL-2.0-or-later AND GPL-3.0-or-later
- opensuse-leap 16.0: kbd 2.7.1-160000.3.1 ยท GPL-2.0-or-later AND GPL-3.0-or-later
- opensuse-leap 16.0: kbd 2.7.1-160000.3.1 ยท GPL-2.0-or-later AND GPL-3.0-or-later
- ubuntu jammy: kbd 2.3.0-3ubuntu4 ยท GPL-2.0-or-later
- ubuntu jammy: kbd 2.3.0-3ubuntu4.22.04 ยท GPL-2.0-or-later
- ubuntu noble: kbd 2.6.4-2ubuntu2 ยท GPL-2.0-or-later
- ubuntu questing: kbd 2.7.1-2ubuntu1 ยท GPL-2.0-or-later
- ubuntu resolute: kbd 2.7.1-2ubuntu2 ยท GPL-2.0-or-later
- ubuntu stonking: kbd 2.9.0-1ubuntu1 ยท GPL-2.0-or-later
- Copyright 1992, 1994 Rickard E. Faith (faith@cs.unc.edu)
- ๐ girlified by anthropic/claude-haiku-5.5 on : a language model's rewrite of the original, under its terms