PCKBD(4)                  OpenBSD Programmer's Manual                 PCKBD(4)

NAME
     pckbd - PC keyboard driver for wscons

SYNOPSIS
     pckbd* at pckbc?
     pckbd* at gsckbc? (hppa)
     pckbd* at mkbc? (sgi)
     wskbd* at pckbd?
     option PCKBD_LAYOUT=XXX

DESCRIPTION
     This driver supports PC/AT keyboards within the wscons(4) console frame-
     work.  It doesn't provide direct device driver entry points but makes its
     functions available via the internal wskbd(4) interface.

     The pckbd driver supports a number of different key mappings which can be
     chosen from with the kernel option ``PCKBD_LAYOUT'' at compile time or
     with the utility wsconsctl(8) (variable: ``keyboard.encoding'') at run-
     time.  Other mappings can be used if the whole keymap is replaced by
     means of wsconsctl(8).  The built-in mappings are at this time:

           KB_BE   (be) Belgium French.
           KB_BR   (br) Brazilian.
           KB_CF   (cf) Canadian French.
           KB_DE   (de) German with (dead accents).
           KB_DK   (dk) Danish with ``dead accents''.
           KB_ES   (es) Spanish.
           KB_FR   (fr) French.
           KB_FR | KB_DVORAK
                   (fr.dvorak) French keyboard with ``Dvorak-Bepo'' layout.
           KB_HU   (hu) Hungarian.
           KB_IT   (it) Italian.
           KB_JP   (jp) Japanese.
           KB_LA   (la) Latinamerican.
           KB_LT   (lt) Lithuanian in ``ISO 8859-13''.
           KB_LV   (lv) Latvian
           KB_NL   (nl) Dutch with ``dead accents''.
           KB_NO   (no) Norwegian with ``dead accents''.
           KB_PL   (pl) Polish in ``ISO 8859-2''.
           KB_PT   (pt) Portuguese.
           KB_RU   (ru) Russian in ``KOI8''.
           KB_SF   (sf) Swiss French with ``dead accents''.
           KB_SG   (sg) Swiss German with ``dead accents''.
           KB_SI   (si) Slovenian.
           KB_SV   (sv) Swedish with ``dead accents''.
           KB_TR   (tr) Turkish in ``ISO 8859-9'' with ``dead accents''.
           KB_UA   (ua) Ukrainian in ``KOI8''.
           KB_UK   (uk) British.
           KB_US   (us) English/US keyboard mapping (default).
           KB_US | KB_DECLK
                   (us.declk) English/US mapping for DEC LK400-style keyboards
                   with PC keyboard interface (eg LK461).
           KB_US | KB_DVORAK
                   (us.dvorak) English/US keyboard with ``Dvorak'' layout.

     The KB_DE, KB_DK, KB_NO, KB_SF, KB_SG, KB_SV and KB_TR mappings can be
     used in the KB_NODEAD (.nodead) variant.  This switches off the ``dead
     accents''.

     The KB_BE, KB_FR, KB_FR | KB_DVORAK, KB_JP, KB_UK, KB_US and KB_US |
     KB_DVORAK mappings can be modified to swap the left Control and the Caps
     Lock keys by the KB_SWAPCTRLCAPS variant bit or the ``.swapctrlcaps''
     suffix.

     The KB_METAESC (.metaesc) option can be applied to any layout.  If set,
     keys pressed together with the ALT modifier are prefixed by an ESC char-
     acter.  (Standard behaviour is to add 128 to the ASCII value.)

     Because PC keyboard hardware doesn't contain a beeper, requests for
     ``keyboard beeps'' cannot be handled directly.  On alpha and i386, a
     helper device attached to the pcppi driver allows use of the standard ISA
     speaker for this purpose.

EXAMPLES
     To set a German keyboard layout without ``dead accents'' and sending an
     ESC character before the key symbol if the ALT key is pressed simultane-
     ously, use wsconsctl -w keyboard.encoding=de.nodead.metaesc.  To set it
     at kernel build time, add the following to the kernel configuration file:

           option PCKBD_LAYOUT="(KB_DE|KB_NODEAD|KB_METAESC)"

SEE ALSO
     intro(4), isa(4), mkbc(4), pckbc(4), wskbd(4), wsconsctl(8)

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

OpenBSD 4.7                    December 7, 2009                              2
