---
name: "kbd"
section: "4"
platform: "linux"
package: "xserver-xorg-input-kbd"
version: "1:1.9.0-1+b3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/kbd/4"
---

# kbd(4)

Keyboard input driver

## NAME

kbd - Keyboard input driver

## SYNOPSIS

```
Section "InputDevice"
  Identifier "idevname"
  Driver "kbd"
  ...
EndSection
```

## DESCRIPTION

**kbd** is an Xorg input driver for keyboards.  The driver supports the standard OS-provided keyboard interface, but these are currently only available to this driver module for Linux, BSD, and Solaris.  This driver is the replacement for the built-in **keyboard** driver formerly included in Xorg.

The **kbd** driver functions as a keyboard input device.

## CONFIGURATION DETAILS

Depending on the X server version in use, input device options may be set in either a xorg.conf file, an xorg.conf.d snippet, or in the configuration files read by the Hardware Abstraction Layer (HAL) daemon, hald(1).

Please refer to [xorg.conf(5)](/xorg.conf/5.md) for general configuration details and for options that can be used with all input drivers.  This section only covers configuration details specific to this driver.

The following driver **Options** are supported:

- **Option "Device" "***string***"**

  Specify the keyboard device.  Default: the OS's default console keyboard input source.  Property: "Device Node" (read-only).

- **Option "Protocol" "***string***"**

  Specify the keyboard protocol.  Valid protocol types include:

Standard, Xqueue.

Not all protocols are supported on all platforms.  Default: "Standard".

- **Option "XLeds" "***ledlist***"**

  makes the keyboard LEDs specified in *ledlist* available for client use instead of their traditional function (Scroll Lock, Caps Lock and Num Lock).  The numbers in the list are in the range 1 to 3.  Default: empty list.

- **Option "XkbRules" "***rules***"**

  specifies which XKB rules file to use for interpreting the **XkbModel**, **XkbLayout**, **XkbVariant**, and **XkbOptions** settings.  Default: "base" for most platforms. If you use the "base" value then you can find listing of all valid values for these four options in the */usr/share/X11/xkb/rules/base.lst* file.

- **Option "XkbModel" "***modelname***"**

  specifies the XKB keyboard model name.  Default: "pc105" for most platforms.

- **Option "XkbLayout" "***layoutname***"**

  specifies the XKB keyboard layout name.  This is usually the country or language type of the keyboard.  Default: "us" for most platforms.

- **Option "XkbVariant" "***variants***"**

  specifies the XKB keyboard variant components.  These can be used to enhance the keyboard layout details.  Default: not set.

- **Option "XkbOptions" "***options***"**

  specifies the XKB keyboard option components.  These can be used to enhance the keyboard behaviour.  Default: not set.

For a list of available XKB options, see **[xkeyboard-config(7)](/xkeyboard-config/7.md).**

## EXAMPLE

The following xorg.conf fragment ensures that user will be able to switch between *us* and *sk* layouts by pressing the "menu" key. The scroll lock LED shows which layout is currently active.

The **XkbVariant** option defines which variants of the two layouts should be used. In case of the *us* layout its default variant is used. In case of the *sk* layout its *qwerty* variant is used.

```
Section "InputDevice"
Identifier   "Generic Keyboard"
Driver       "kbd"
Option       "CoreKeyboard"
Option       "XkbRules"      "base"
Option       "XkbModel"      "pc105"
Option       "XkbLayout"     "us,sk"
Option       "XkbVariant"    ",qwerty"
Option       "XkbOptions"    "grp:menu_toggle,grp_led:scroll"
EndSection
```

## SEE ALSO

[Xorg(1)](/Xorg/1.md), [xorg.conf(5)](/xorg.conf/5.md),  [Xserver(1)](/Xserver/1.md), [X(7)](/X/7.md).

hal(7), [hald(8)](/hald/8.md), fdi(5).

[xkeyboard-config(7)](/xkeyboard-config/7.md).
