kbd(1) on Solnix vs Linux and the BSDs
On Solnix, kbd is the illumos /usr/bin/kbd. It queries and sets keyboard state (type, layout, click, autorepeat, beeper) and the keyboard abort sequence. OpenBSD kbd(8) only sets the national keyboard encoding, and -l means something different there.
The manual pages
- Solnix: kbd(1) from
pkgs.solnix.illumos-world-man· illumos.org - OpenBSD: kbd(8) 8.0
What Solnix runs
A default Solnix system runs the illumos kbd at /usr/bin/kbd. No other variants are shipped. The page is published by pkgs.solnix.illumos-world-man. It says the kbd service is managed by SMF as svc:/system/keymap:default. Only OpenBSD has a counterpart page in the bundle: no Linux, FreeBSD or NetBSD page was supplied, so nothing is claimed about them.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| OpenBSD | purpose | Solnix kbd manipulates keyboard state, displays the keyboard type, and changes the keyboard abort sequence effect. OpenBSD kbd only changes the keyboard encoding to a national layout name. Source: Solnix kbd(1) NAME, DESCRIPTION; OpenBSD kbd(8) NAME, DESCRIPTION |
| OpenBSD | -l meaning | Solnix kbd -l returns the keyboard layout code plus the autorepeat delay and rate. OpenBSD kbd -l lists all available keyboard encodings. A script that parses -l output will not work across both.Source: Solnix kbd(1) -l; OpenBSD kbd(8) -l |
| OpenBSD | setting the layout | Solnix sets a layout with kbd -s [language], which runs loadkeys(1) implicitly. With no language it lists layouts and prompts. OpenBSD takes the layout as a bare name operand, as in kbd [-q] name, and has no -s.Source: Solnix kbd(1) -s, OPERANDS (language); OpenBSD kbd(8) SYNOPSIS |
| OpenBSD | -q missing | OpenBSD kbd -q suppresses the message printed after setting the encoding. Solnix kbd has no -q. The Solnix page does not describe a message printed on setting.Source: OpenBSD kbd(8) -q; Solnix kbd(1) SYNOPSIS |
| OpenBSD | keyboard abort sequence | Solnix kbd -a enable, disable or alternate changes the effect of the keyboard abort sequence, which also applies to serial console devices. Only a super-user can use -a. The OpenBSD page has no equivalent.Source: Solnix kbd(1) DESCRIPTION, -a; OpenBSD kbd(8) SYNOPSIS |
| OpenBSD | boot-time configuration | On Solnix, kbd -i reads keyclick and abort defaults from the SMF service svc:/system/keymap:default. It needs the Device Security Rights Profile. On OpenBSD, /etc/rc runs kbd with the encoding from /etc/kbdtype.Source: Solnix kbd(1) -i, NOTES; OpenBSD kbd(8) DESCRIPTION |
| OpenBSD | autorepeat, click and beeper | Solnix kbd sets autorepeat count (-A), delay (-D) and rate (-R), keyclick (-c on|off), and beeper frequency (-b keyboard|console, 0 to 32767). The OpenBSD kbd(8) page documents none of these. Its SEE ALSO points to wsconsctl(8).Source: Solnix kbd(1) -A, -D, -R, -c, -b, OPERANDS (frequency); OpenBSD kbd(8) SEE ALSO |
| OpenBSD | querying state | Solnix kbd -t returns the keyboard type, and -r resets the keyboard as if at power-up. Solnix cannot report the keyclick setting. The OpenBSD page documents no query or reset options.Source: Solnix kbd(1) -t, -r, NOTES; OpenBSD kbd(8) SYNOPSIS |
| OpenBSD | device selection | Solnix kbd -d selects the keyboard device, defaulting to /dev/kbd. The OpenBSD kbd(8) page has no device option.Source: Solnix kbd(1) -d; OpenBSD kbd(8) SYNOPSIS |
Standards
- POSIX: kbd is not a POSIX.1-2024 utility.
Writing portable scripts
- Do not script kbd across systems. The same name means different things:
-llists encodings on OpenBSD and reports layout code and autorepeat on Solnix. Branch on the OS and use each system's own tool.
Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.