1.\" $OpenBSD: pckbd.4,v 1.40 2012/01/28 13:22:17 tobias 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: January 28 2012 $ 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.Dq 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_IS 96.Pq is 97Icelandic with 98.Dq dead accents . 99.It KB_IT 100.Pq it 101Italian. 102.It KB_JP 103.Pq jp 104Japanese. 105.It KB_LA 106.Pq la 107Latinamerican. 108.It KB_LT 109.Pq \< 110Lithuanian in 111.Dq ISO 8859-13 . 112.It KB_LV 113.Pq \&lv 114Latvian 115.It KB_NL 116.Pq \&nl 117Dutch with 118.Dq dead accents . 119.It KB_NO 120.Pq no 121Norwegian with 122.Dq dead accents . 123.It KB_PL 124.Pq pl 125Polish in 126.Dq ISO 8859-2 . 127.It KB_PT 128.Pq pt 129Portuguese. 130.It KB_RU 131.Pq ru 132Russian in 133.Dq KOI8 . 134.It KB_SF 135.Pq sf 136Swiss French with 137.Dq dead accents . 138.It KB_SG 139.Pq sg 140Swiss German with 141.Dq dead accents . 142.It KB_SI 143.Pq si 144Slovenian. 145.It KB_SV 146.Pq sv 147Swedish with 148.Dq dead accents . 149.It KB_TR 150.Pq tr 151Turkish in 152.Dq ISO 8859-9 153with 154.Dq dead accents . 155.It KB_UA 156.Pq ua 157Ukrainian in 158.Dq KOI8 . 159.It KB_UK 160.Pq uk 161British. 162.It KB_US 163.Pq us 164English/US keyboard mapping (default). 165.It KB_US | KB_DECLK 166.Pq us.declk 167English/US mapping for 168DEC LK400-style keyboards with PC keyboard interface (eg LK461). 169.It KB_US | KB_DVORAK 170.Pq us.dvorak 171English/US keyboard with 172.Dq Dvorak 173layout. 174.El 175.Pp 176The KB_DE, KB_DK, KB_IS, KB_NO, KB_SF, KB_SG, KB_SV and KB_TR 177mappings can be used in the KB_NODEAD 178.Pq .nodead 179variant. 180This switches off the 181.Dq dead accents . 182.Pp 183The KB_BE, KB_FR, KB_FR | KB_DVORAK, KB_JP, KB_UK, KB_US and KB_US | KB_DVORAK 184mappings can be modified 185to swap the left Control and the Caps Lock keys by the 186KB_SWAPCTRLCAPS variant bit or the 187.Dq .swapctrlcaps 188suffix. 189.Pp 190The KB_METAESC 191.Pq .metaesc 192option can be applied to any layout. 193If set, keys pressed together 194with the ALT modifier are prefixed by an ESC character. 195(Standard behaviour is to add 128 to the ASCII value.) 196.Pp 197Because PC keyboard hardware doesn't contain a beeper, requests for 198.Dq keyboard beeps 199cannot be handled directly. 200On alpha and i386, a helper device attached to the pcppi 201driver allows use of the standard ISA speaker for this purpose. 202.Sh EXAMPLES 203To set a German keyboard layout without 204.Dq dead accents 205and sending an ESC character before the key symbol if the ALT 206key is pressed simultaneously, use 207.Ic wsconsctl keyboard.encoding=de.nodead.metaesc . 208To set it at kernel build time, add 209the following to the kernel configuration file: 210.Bd -literal -offset indent 211option PCKBD_LAYOUT="(KB_DE|KB_NODEAD|KB_METAESC)" 212.Ed 213.Sh SEE ALSO 214.Xr intro 4 , 215.Xr isa 4 , 216.Xr mkbc 4 , 217.Xr pckbc 4 , 218.Xr wskbd 4 , 219.Xr wsconsctl 8 220.Sh BUGS 221The list of built-in mappings doesn't follow any logic. 222It grew as people submitted what they needed. 223