1.\" $NetBSD: pckbd.4,v 1.14 2004/07/06 04:00:23 fredb 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 March 20, 1999 28.Os 29.Dt PCKBD 4 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_DVORAK" "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_NO Ta no Ta Norwegian with 79.Dq dead accents 80.It Li KB_PT Ta pt Ta Portuguese 81.It Li KB_ES Ta es Ta Spanish 82.El 83.Pp 84The 85.Li KB_DE , 86.Li KB_DK , 87.Li KB_NO 88and 89.Li KB_SV 90mappings can be used in the 91.Li KB_NODEAD ( 92.Dq .nodead ) 93variant. This switches off the 94.Dq dead accents . 95.Pp 96The 97.Li KB_US , 98.Li KB_JP 99and 100.Li KB_US|KB_DVORAK 101mappings can be modified 102to swap the left CTRL and the CAPS LOCK keys by the 103.Li KB_SWAPCTRLCAPS 104variant bit or the 105.Dq .swapctrlcaps 106suffix. 107.Pp 108The 109.Li KB_METAESC ( 110.Dq .metaesc ) 111option can be applied to any layout. If set, keys pressed together 112with the ALT modifier are prefixed by an ESC character. (Standard 113behaviour is to add 128 to the ASCII value.) 114.Pp 115Because PC keyboard hardware doesn't contain a beeper, requests for 116.Dq keyboard beeps 117cannot be handled directly. On alpha and i386 a helper device attached 118to the 119.Xr pcppi 4 120driver allows the use of the standard ISA speaker for this purpose. 121On acorn32, 122.Xr vidcaudio 4 123performs this function. 124.Sh EXAMPLES 125To set a German keyboard layout without 126.Dq dead accents 127and sending an ESC character before the key symbol if the ALT 128key is pressed simultaneously, use 129.Ic wsconsctl Fl w Ar encoding=de.nodead.metaesc . 130To set it at kernel build time, add 131.Cd options PCKBD_LAYOUT="(KB_DE | KB_NODEAD | KB_METAESC)" 132.br 133to the kernel configuration file. 134.Sh SEE ALSO 135.Xr isa 4 , 136.Xr pcppi 4 , 137.Xr wskbd 4 , 138.Xr wsconsctl 8 139.Sh BUGS 140The list of builtin mappings doesn't follow any logic. 141It grew as people submitted what they needed. 142