1.\" $NetBSD: pckbd.4,v 1.18 2009/04/06 17:34:13 mkirby Exp $ 2.\" 3.\" Copyright (c) 1999 4.\" Matthias Drochner. All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 15.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25.\" SUCH DAMAGE. 26.\" 27.Dd May 21, 2008 28.Dt PCKBD 4 29.Os 30.Sh NAME 31.Nm pckbd 32.Nd PC keyboard driver for wscons 33.Sh SYNOPSIS 34.Cd pckbc* at isa? 35.Cd pckbd* at pckbc? 36.Cd "wskbd* at pckbd? console ?" 37.Cd options PCKBD_LAYOUT=XXX 38.Sh DESCRIPTION 39This driver supports PC/AT keyboards within the 40.Xr wscons 4 41console framework. It doesn't provide direct device 42driver entry points but makes its functions available via 43the internal 44.Xr wskbd 4 45interface. 46.Pp 47The 48.Nm 49driver supports a number of different key mappings which 50can be chosen from with the kernel option 51.Li PCKBD_LAYOUT 52at compile time or with the utility 53.Xr wsconsctl 8 54(variable: 55.Dq encoding ) 56at runtime. 57Other mappings can be used if the whole keymap is replaced by means of 58.Xr wsconsctl 8 . 59The builtin mappings are at this time: 60.Bl -column " KB_US|KB_COLEMAK" "wsconsctl" "language" 61.It Sy "option" Ta Sy "wsconsctl" Ta Sy "language" 62.It Li KB_US Ta us Ta English/US keyboard mapping (default) 63.It Li KB_DE Ta de Ta German with 64.Dq dead accents 65.It Li KB_FR Ta fr Ta French 66.It Li KB_DK Ta dk Ta Danish with 67.Dq dead accents 68.It Li KB_IT Ta it Ta Italian 69.It Li KB_UK Ta uk Ta British 70.It Li KB_JP Ta jp Ta Japanese 71.It Li KB_SV Ta sv Ta Swedish with 72.Dq dead accents 73.It Li "KB_US|KB_DECLK" Ta \&us.declk Ta English/US mapping for Tn DEC 74.It Ta Ta LK400-style keyboards with PC keyboard 75.It Ta Ta interface (e.g., LK461) 76.It Li "KB_US|KB_DVORAK" Ta us.dvorak Ta English/US keyboard with 77.It Ta Ta Do Dvorak Dc layout 78.It Li "KB_US|KB_COLEMAK" Ta us.colemak Ta English/US keyboard with 79.It Ta Ta Do Colemak Dc layout 80.It Li KB_NO Ta no Ta Norwegian with 81.Dq dead accents 82.It Li KB_PT Ta pt Ta Portuguese 83.It Li KB_ES Ta es Ta Spanish 84.It Li KB_CZ Ta cz Ta Czech (QWERTY) 85.El 86.Pp 87The 88.Li KB_DE , 89.Li KB_DK , 90.Li KB_NO 91and 92.Li KB_SV 93mappings can be used in the 94.Li KB_NODEAD ( 95.Dq .nodead ) 96variant. This switches off the 97.Dq dead accents . 98.Pp 99The 100.Li KB_US , 101.Li KB_JP 102and 103.Li KB_US|KB_DVORAK 104mappings can be modified 105to swap the left CTRL and the CAPS LOCK keys by the 106.Li KB_SWAPCTRLCAPS 107variant bit or the 108.Dq .swapctrlcaps 109suffix. 110.Pp 111The 112.Li KB_METAESC ( 113.Dq .metaesc ) 114option can be applied to any layout. If set, keys pressed together 115with the ALT modifier are prefixed by an ESC character. (Standard 116behaviour is to add 128 to the ASCII value.) 117.Pp 118Because PC keyboard hardware doesn't contain a beeper, requests for 119.Dq keyboard beeps 120cannot be handled directly. On alpha and i386 a helper device attached 121to the 122.Xr pcppi 4 123driver allows the use of the standard ISA speaker for this purpose. 124On acorn32, 125.Xr vidcaudio 4 126performs this function. 127.Sh EXAMPLES 128To set a German keyboard layout without 129.Dq dead accents 130and sending an ESC character before the key symbol if the ALT 131key is pressed simultaneously, use 132.Ic wsconsctl Fl w Ar encoding=de.nodead.metaesc . 133To set it at kernel build time, add 134.Cd options PCKBD_LAYOUT="(KB_DE | KB_NODEAD | KB_METAESC)" 135.br 136to the kernel configuration file. 137.Sh SEE ALSO 138.Xr isa 4 , 139.Xr pcppi 4 , 140.Xr wskbd 4 , 141.Xr wsconsctl 8 142.Sh BUGS 143The list of builtin mappings doesn't follow any logic. 144It grew as people submitted what they needed. 145