1.\" $OpenBSD: pckbd.4,v 1.36 2008/08/09 16:31:06 miod Exp $ 2.\" $NetBSD: pckbd.4,v 1.3 1999/12/21 11:31:07 drochner Exp $ 3.\" 4.\" Copyright (c) 1999 5.\" Matthias Drochner. All rights reserved. 6.\" 7.\" Redistribution and use in source and binary forms, with or without 8.\" modification, are permitted provided that the following conditions 9.\" are met: 10.\" 1. Redistributions of source code must retain the above copyright 11.\" notice, this list of conditions and the following disclaimer. 12.\" 2. Redistributions in binary form must reproduce the above copyright 13.\" notice, this list of conditions and the following disclaimer in the 14.\" documentation and/or other materials provided with the distribution. 15.\" 16.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26.\" SUCH DAMAGE. 27.\" 28.Dd $Mdocdate: August 9 2008 $ 29.Dt PCKBD 4 30.Os 31.Sh NAME 32.Nm pckbd 33.Nd PC keyboard driver for wscons 34.Sh SYNOPSIS 35.Cd "pckbd* at pckbc?" 36.Cd "pckbd* at gsckbc?" Pq hppa 37.Cd "pckbd* at mkbc?" Pq sgi 38.Cd "wskbd* at pckbd?" 39.Cd "option PCKBD_LAYOUT=XXX" 40.Sh DESCRIPTION 41This driver supports PC/AT keyboards within the 42.Xr wscons 4 43console framework. 44It doesn't provide direct device driver entry points but makes its 45functions available via the internal 46.Xr wskbd 4 47interface. 48.Pp 49The 50.Nm 51driver supports a number of different key mappings which 52can be chosen from with the kernel option 53.Dq PCKBD_LAYOUT 54at compile time or with the utility 55.Xr wsconsctl 8 56(variable: 57.Dq keyboard.encoding ) 58at runtime. 59Other mappings can be used if the whole keymap is replaced by means of 60.Xr wsconsctl 8 . 61The built-in mappings are at this time: 62.Pp 63.Bl -tag -width Ds -offset indent -compact 64.It KB_BE 65.Pq be 66Belgium French. 67.It KB_BR 68.Pq br 69Brazilian. 70.It KB_CF 71.Pq cf 72Canadian French. 73.It KB_DE 74.Pq de 75German with 76.Pq dead accents . 77.It KB_DK 78.Pq dk 79Danish with 80.Dq dead accents . 81.It KB_ES 82.Pq es 83Spanish. 84.It KB_FR 85.Pq fr 86French. 87.It KB_FR | KB_DVORAK 88.Pq fr.dvorak 89French keyboard with 90.Dq Dvorak-Bepo 91layout. 92.It KB_HU 93.Pq hu 94Hungarian. 95.It KB_IT 96.Pq it 97Italian. 98.It KB_JP 99.Pq jp 100Japanese. 101.It KB_LA 102.Pq la 103Latinamerican. 104.It KB_LT 105.Pq \< 106Lithuanian in 107.Dq ISO 8859-13 . 108.It KB_LV 109.Pq \&lv 110Latvian 111.It KB_NL 112.Pq \&nl 113Dutch with 114.Dq dead accents . 115.It KB_NO 116.Pq no 117Norwegian with 118.Dq dead accents . 119.It KB_PL 120.Pq pl 121Polish in 122.Dq ISO 8859-2 . 123.It KB_PT 124.Pq pt 125Portuguese. 126.It KB_RU 127.Pq ru 128Russian in 129.Dq KOI8 . 130.It KB_SF 131.Pq sf 132Swiss French with 133.Dq dead accents . 134.It KB_SG 135.Pq sg 136Swiss German with 137.Dq dead accents . 138.It KB_SI 139.Pq si 140Slovenian. 141.It KB_SV 142.Pq sv 143Swedish with 144.Dq dead accents . 145.It KB_TR 146.Pq tr 147Turkish in 148.Dq ISO 8859-9 149with 150.Dq dead accents . 151.It KB_UA 152.Pq ua 153Ukrainian in 154.Dq KOI8 . 155.It KB_UK 156.Pq uk 157British. 158.It KB_US 159.Pq us 160English/US keyboard mapping (default). 161.It KB_US | KB_DECLK 162.Pq us.declk 163English/US mapping for 164DEC LK400-style keyboards with PC keyboard interface (eg LK461). 165.It KB_US | KB_DVORAK 166.Pq us.dvorak 167English/US keyboard with 168.Dq Dvorak 169layout. 170.El 171.Pp 172The KB_DE, KB_DK, KB_NO, KB_SF, KB_SG, KB_SV and KB_TR mappings can be used in 173the KB_NODEAD 174.Pq .nodead 175variant. 176This switches off the 177.Dq dead accents . 178.Pp 179The KB_BE, KB_FR, KB_FR | KB_DVORAK, KB_JP, KB_US and KB_US | KB_DVORAK 180mappings can be modified 181to swap the left Control and the Caps Lock keys by the 182KB_SWAPCTRLCAPS variant bit or the 183.Dq .swapctrlcaps 184suffix. 185.Pp 186The KB_METAESC 187.Pq .metaesc 188option can be applied to any layout. 189If set, keys pressed together 190with the ALT modifier are prefixed by an ESC character. 191(Standard behaviour is to add 128 to the ASCII value.) 192.Pp 193Because PC keyboard hardware doesn't contain a beeper, requests for 194.Dq keyboard beeps 195cannot be handled directly. 196On alpha and i386, a helper device attached to the pcppi 197driver allows use of the standard ISA speaker for this purpose. 198.Sh EXAMPLES 199To set a German keyboard layout without 200.Dq dead accents 201and sending an ESC character before the key symbol if the ALT 202key is pressed simultaneously, use 203.Ic wsconsctl -w keyboard.encoding=de.nodead.metaesc . 204To set it at kernel build time, add 205the following to the kernel configuration file: 206.Bd -literal -offset indent 207option PCKBD_LAYOUT="(KB_DE|KB_NODEAD|KB_METAESC)" 208.Ed 209.Sh SEE ALSO 210.Xr intro 4 , 211.Xr isa 4 , 212.Xr mkbc 4 , 213.Xr pckbc 4 , 214.Xr wskbd 4 , 215.Xr wsconsctl 8 216.Sh BUGS 217The list of built-in mappings doesn't follow any logic. 218It grew as people submitted what they needed. 219