---
name: "akbd"
section: "4"
platform: "openbsd"
package: "man"
version: "8.0-current-20261101"
release: "OpenBSD 8.0-current (2026-11-01)"
platforms: ["freebsd", "openbsd"]
url: "https://new.carta.tech/akbd"
---

# akbd(4)

Apple Keyboard Device

## NAME

**akbd** – Apple Keyboard Device

## SYNOPSIS

**akbd\* at adb?** **wskbd\* at akbd? mux 1** **option AKBD\_LAYOUT=XXX**

## DESCRIPTION

This driver supports ADB keyboards within the [wscons(4)](/wscons/4.md) console framework. It doesn't provide direct device driver entry points but makes its functions available via the internal [wskbd(4)](/wskbd/4.md) interface.

The following is a partial list of supported AKBD devices:

-

  Apple Standard Keyboard

-

  Apple Extended Keyboard

-

  Apple Keyboard II

-

  Apple PowerBook Keyboard

-

  Apple Adjustable Keyboard

-

  Apple PowerBook extended Keyboard

-

  Apple PowerBook G3 Keyboard

-

  Apple PowerBook G4 Keyboard

-

  Apple iBook Keyboard

-

  The **akbd** driver supports a number of different key mappings which can be chosen from with the kernel option “AKBD\_LAYOUT” at compile time or with the utility [wsconsctl(8)](/wsconsctl/8.md) (variable: “keyboard.encoding”) at runtime. Other mappings can be used if the whole keymap is replaced by means of [wsconsctl(8)](/wsconsctl/8.md). The built-in mappings are at this time:

- KB\_DE

  (de) German with “dead accents”.

- KB\_ES

  (es) Spanish.

- KB\_FR

  (fr) French.

- KB\_JP

  (jp) Japanese.

- KB\_PT

  (pt) Portuguese.

- KB\_SF

  (sf) Swiss French with “dead accents”.

- KB\_SG

  (sg) Swiss German with “dead accents”.

- KB\_SV

  (sv) Swedish with “dead accents”.

- KB\_UK

  (uk) British.

- KB\_US

  (us) English/US keyboard mapping (default).

The KB\_DE, KB\_FR, KB\_SG and KB\_SV mappings can be used in the KB\_NODEAD (.nodead) variant. This switches off the “dead accents”.

## EXAMPLES

To set a German keyboard layout without “dead accents”, use **wsconsctl** **keyboard.encoding=de.nodead**. To set it at kernel build time, add the following to the kernel configuration file:

```
option AKBD_LAYOUT="KB_DE|KB_NODEAD"
```

## SEE ALSO

[adb(4)](/adb/4.md), [intro(4)](/intro/4.md), [ukbd(4)](/ukbd/4.md), [wskbd(4)](/wskbd/4.md), [wsconsctl(8)](/wsconsctl/8.md)

## HISTORY

The **akbd** interface first appeared in NetBSD 0.9. It has been under development ever since.

## AUTHORS

Bradley A. Grantham wrote the original **akbd** driver, including the MRG support. The hardware direct interface was written by John P. Wittkoski.

## BUGS

The list of built-in mappings doesn't follow any logic. It grew as people submitted what they needed.
