Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

pckbd(4) [netbsd man page]

PCKBD(4)						   BSD Kernel Interfaces Manual 						  PCKBD(4)

NAME
pckbd -- PC keyboard driver for wscons SYNOPSIS
pckbc* at isa? pckbd* at pckbc? wskbd* at pckbd? console ? options PCKBD_LAYOUT=XXX DESCRIPTION
This driver supports PC/AT keyboards within the wscons(4) console framework. 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: ``encoding'') at runtime. Other mappings can be used if the whole keymap is replaced by means of wsconsctl(8). The builtin mappings are at this time: option wsconsctl language KB_US us English/US keyboard mapping (default) KB_UK uk English/UK keyboard mapping KB_BE be Belgian KB_CZ cz Czech (QWERTY) KB_DK dk Danish with ``dead accents'' KB_NL nl Dutch KB_FI fi Finnish KB_FR fr French KB_DE de German with ``dead accents'' KB_GR gr Greek KB_HU hu Hungarian KB_IT it Italian KB_JP jp Japanese KB_NO no Norwegian with ``dead accents'' KB_PL pl Polish KB_PT pt Portuguese KB_RU ru Russian KB_ES es Spanish KB_SV sv Swedish with ``dead accents'' KB_SF sf Swiss French KB_SG sg Swiss German KB_UA ua Ukrainian KB_US|KB_DECLK us.declk English/US mapping for DEC LK400-style keyboards with PC keyboard interface (e.g., LK461) KB_US|KB_DVORAK us.dvorak English/US keyboard with ``Dvorak'' layout KB_US|KB_COLEMAK us.colemak English/US keyboard with ``Colemak'' layout The KB_DE, KB_DK, KB_NO and KB_SV mappings can be used in the KB_NODEAD ( ``.nodead'') variant. This switches off the ``dead accents''. The KB_US, KB_JP and KB_US|KB_DVORAK mappings can be modified to swap the left CTRL 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 character. (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(4) driver allows the use of the standard ISA speaker for this purpose. On acorn32, vidcaudio(4) performs this function. 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 simul- taneously, use wsconsctl -w encoding=de.nodead.metaesc. To set it at kernel build time, add options PCKBD_LAYOUT="(KB_DE | KB_NODEAD | KB_METAESC)" to the kernel configuration file. SEE ALSO
isa(4), pcppi(4), wskbd(4), wsconsctl(8) BUGS
The list of builtin mappings doesn't follow any logic. It grew as people submitted what they needed. BSD
July 22, 2011 BSD

Check Out this Related Man Page

WSKBD(4)						   BSD Kernel Interfaces Manual 						  WSKBD(4)

NAME
wskbd -- generic keyboard support in wscons SYNOPSIS
wskbd* at pckbd? console ? mux 1 (standard PC keyboard) wskbd* at ukbd? console ? mux 1 (USB keyboard) wskbd* at lkkbd? console ? mux 1 (DEC LK200/400 serial keyboard) wskbd0 at akbd? console ? mux 1 (Apple ADB keyboard) wskbd0 at nextkbd? console ? mux 1 (NeXT keyboard) wskbd* at vrkiu? console ? mux 1 (NEC VR4000 series HPC keyboard) wskbd* at skbd? console ? mux 1 (keyboard of misc hpcmips handheld devices) wskbd* at btkbd? console ? mux 1 (Bluetooth keyboard) DESCRIPTION
The wskbd driver handles common tasks for keyboards within the wscons(4) framework. It is attached to the hardware specific keyboard drivers and provides their connection to ``wsdisplay'' devices and a character device interface. The common keyboard support consists of: o Mapping from keycodes (defined by the specific keyboard driver) to keysyms (hardware independent, defined in /usr/include/dev/wscons/wsksymdef.h). o Handling of ``compose'' sequences. Characters commonly not present as separate key on keyboards can be generated after either a special ``compose'' key is pressed or a ``dead accent'' character is used. o Certain translations, like turning an ``ALT'' modifier into an ``ESC'' prefix. o Automatic key repetition (``typematic''). o Parameter handling for ``keyboard bells''. o Generation of ``keyboard events'' for use by X servers. The wskbd driver provides a number of ioctl functions to control key maps and other parameters. These functions are accessible though the associated ``wsdisplay'' device as well. A complete list is in /usr/include/dev/wscons/wsconsio.h. The wsconsctl(8) utility allows to access key maps and other variables. The console locator in the configuration line refers to the device's use as input part of the operating system console. A device specifica- tion containing a positive value here will only match if the device is in use as system console. (The console device selection in early sys- tem startup is not influenced.) This way, the console device can be connected to a known wskbd device instance. Ioctls The following ioctl(2) calls are provided by the wskbd driver or by devices which use it. Their definitions are found in dev/wscons/wsconsio.h. WSKBDIO_GTYPE Get the keyboard type. WSKBDIO_COMPLEXBELL, WSKBDIO_SETBELL, WSKBDIO_GETBELL, WSKBDIO_SETDEFAULTBELL, WSKBDIO_GETDEFAULTBELL (struct wsmouse_repeat) Get and set keyboard bell settings. WSKBDIO_SETKEYREPEAT, WSKBDIO_GETKEYREPEAT, WSKBDIO_SETDEFAULTKEYREPEAT, WSKBDIO_GETDEFAULTKEYREPEAT (struct wskbd_keyrepeat_data) Get and set keyboard autorepeat settings. WSKBDIO_SETLEDS, WSKBDIO_GETLEDS (int) Get and set keyboard LED settings. WSKBDIO_GETMAP, WSKBDIO_SETMAP (struct wskbd_map_data) Get and set keyboard keymapping settings. WSKBDIO_GETENCODING, WSKBDIO_SETENCODING (kbd_t) Get and set keyboard encoding settings. WSKBDIO_GETKEYCLICK, WSKBDIO_SETKEYCLICK (int) Get and set keyboard keyclick settings. WSKBDIO_SETVERSION (int) Set the wscons_event protocol version. The default is 0 for binary compatibility. The latest version is always available as WSKBD_EVENT_VERSION, and is currently 1. All new code should use a call similar to the below to ensure the correct version is returned. int ver = WSKBD_EVENT_VERSION; if (ioctl(fd, WSKBDIO_SETVERSION, &ver) == -1) err(EXIT_FAILURE, "cannot set version"); FILES
/dev/wskbd* /usr/include/dev/wscons/wsksymdef.h /usr/include/dev/wscons/wsconsio.h. SEE ALSO
btkbd(4), pckbd(4), ukbd(4), wscons(4), wsmux(4), wsconsctl(8), wskbd(9) BSD
May 27, 2012 BSD
Man Page