1.\" $OpenBSD: wskbd.4,v 1.12 2003/07/09 13:26:20 jmc Exp $ 2.\" $NetBSD: wskbd.4,v 1.5 2000/03/20 11:51:59 pk 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 February 11, 2003 29.Dt WSKBD 4 30.Os 31.Sh NAME 32.Nm wskbd 33.Nd generic keyboard support in wscons 34.Sh SYNOPSIS 35.Cd "wskbd* at pckbd? console ? mux 1" 36(PS/2 keyboard) 37.Cd "wskbd* at ukbd? console ? mux 1" 38(USB keyboard) 39.Cd "wskbd* at akbd? console ? mux 1" 40(Apple ADB keyboard) 41.Cd "wskbd* at comkbd? console ? mux 1" 42.Cd "wskbd* at zskbd? console ? mux 1" 43(Sun serial keyboard) 44.Cd "wskbd* at hilkbd? console ? mux 1" 45(HIL keyboard) 46.Sh DESCRIPTION 47The 48.Nm 49driver handles common tasks for keyboards within the 50.Xr wscons 4 51framework. 52It is attached to the hardware specific keyboard drivers and 53provides their connection to 54.Dq wsdisplay 55devices and a character device interface. 56.Pp 57The common keyboard support consists of: 58.Bl -bullet 59.It 60Mapping from keycodes (defined by the specific keyboard driver) to 61keysyms (hardware independent, defined in 62.Pa /usr/include/dev/wscons/wsksymdef.h ) . 63.It 64Handling of 65.Dq compose 66sequences. 67Characters commonly not present as separate keys on keyboards 68can be generated after either a special 69.Dq compose 70key is pressed or a 71.Dq dead accent 72character is used. 73.It 74Certain translations, like turning an 75.Dq ALT 76modifier into an 77.Dq ESC 78prefix. 79.It 80Automatic key repetition 81.Pf ( Dq typematic ) . 82.It 83Parameter handling for 84.Dq keyboard bells . 85.It 86Generation of 87.Dq keyboard events 88for use by X servers. 89.El 90.Pp 91The 92.Nm 93driver provides a number of ioctl functions to control key maps 94and other parameters. 95These functions are accessible through the associated 96.Dq wsdisplay 97device as well. 98A complete list is in 99.Pa /usr/include/dev/wscons/wsconsio.h . 100The 101.Xr wsconsctl 8 102utility allows access to key maps and other variables. 103.Pp 104The 105.Em console 106locator in the configuration line refers to the device's use as input 107part of the operating system console. 108A device specification containing a positive value here will only match 109if the device is in use as system console. 110(The console device selection in early system startup is not influenced.) 111This way, the console device can be connected to a known 112.Nm wskbd 113device instance. 114.Pp 115The 116.Nm 117driver traps certain key sequences intended to perform special functions. 118The 119.Cm Ctrl+Alt+Esc 120sequence will initiate the 121.Xr ddb 4 122kernel debugger if the 123.Dq ddb.console 124.Xr sysctl 8 125variable is set. 126When attached to a 127.Xr wsdisplay 4 128device, 129.Cm Ctrl+Alt+Fx 130switches virtual terminals and the 131.Cm Shift+PgUp 132and 133.Cm Shift+PgDn 134combinations provide scrollback functionality if the underlying hardware 135driver supports it. 136.Sh FILES 137.Bl -tag -width /usr/include/dev/wscons/wsksymdef.h -compact 138.It Pa /dev/wskbd* 139.It Pa /usr/include/dev/wscons/wsksymdef.h 140.It Pa /usr/include/dev/wscons/wsconsio.h 141.El 142.Sh SEE ALSO 143.Xr akbd 4 , 144.Xr comkbd 4 , 145.Xr hilkbd 4 , 146.Xr intro 4 , 147.Xr pckbd 4 , 148.Xr ukbd 4 , 149.Xr wscons 4 , 150.Xr wsmux 4 , 151.Xr zskbd 4 , 152.Xr wsconsctl 8 153