1.\" 2.\" Copyright (c) 1999 3.\" Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp> 4.\" 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 as 11.\" the first lines of this file unmodified. 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 ``AS IS'' AND ANY EXPRESS OR 17.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 20.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26.\" 27.\" $FreeBSD$ 28.\" 29.Dd May 21, 1999 30.Dt ATKBD 4 31.Os 32.Sh NAME 33.Nm atkbd 34.Nd the AT keyboard interface 35.Sh SYNOPSIS 36.Cd "options ATKBD_DFLT_KEYMAP" 37.Cd "makeoptions ATKBD_DFLT_KEYMAP=_keymap_name_" 38.Cd "options KBD_DISABLE_KEYMAP_LOAD" 39.Cd "device atkbd" 40.Pp 41In 42.Pa /boot/device.hints : 43.Cd hint.atkbd.0.at="atkbdc" 44.Cd hint.atkbd.0.irq="1" 45.Sh DESCRIPTION 46The 47.Nm 48driver, together with the 49.Nm atkbdc 50driver, provides access to the AT 84 keyboard or the AT enhanced keyboard 51which is connected to the AT keyboard controller. 52.Pp 53This driver is required for the console drivers 54.Xr syscons 4 55and 56.Xr pcvt 4 . 57.Pp 58There can be only one 59.Nm 60device defined in the kernel configuration file. 61This device also requires the 62.Nm atkbdc 63keyboard controller to be present. 64The 65.Em irq 66number must always be 1; there is no provision of changing the number. 67.Ss Function Keys 68The AT keyboard has a number of function keys. 69They are numbered as follows and can be associated with strings 70by the 71.Xr kbdcontrol 1 72command. 73.Pp 74.Bl -tag -width "Function Key Number" -compact 75.It "Function Key number" 76Function Key 77.It "1, 2,...12" 78F1, F2,... F12 79.It "13, 14,...24" 80Shift+F1, Shift+F2,... Shift+F12 81.It "25, 26,...36" 82Ctl+F1, Ctl+F2,... Ctl+F12 83.It "37, 38,...48" 84Shift+Ctl+F1, Shift+Ctl+F2,... Shift+Ctl+F12 85.It 49 86Home and Numpad 7 (without NumLock) 87.It 50 88Up Arrow and Numpad 8 (without NumLock) 89.It 51 90Page Up and Numpad 9 (without NumLock) 91.It 52 92Numpad - 93.It 53 94Left Arrow and Numpad 4 (without NumLock) 95.It 54 96Numpad 5 (without NumLock) 97.It 55 98Right Arrow and Numpad 6 (without NumLock) 99.It 56 100Numpad + 101.It 57 102End and Numpad 1 (without NumLock) 103.It 58 104Down Arrow and Numpad 2 (without NumLock) 105.It 59 106Page Down and Numpad 3 (without NumLock) 107.It 60 108Ins and Numpad 0 (without NumLock) 109.It 61 110Del 111.It 62 112Left GUI Key 113.It 63 114Right GUI Key 115.It 64 116Menu 117.El 118.Pp 119See the man page for the 120.Xr kbdcontrol 1 121command for how to assign a string to the function key. 122.Sh DRIVER CONFIGURATION 123.Ss Kernel Configuration Options 124The following kernel configuration options control the 125.Nm 126driver. 127.Bl -tag -width ATKBD_DFLT 128.It Em ATKBD_DFLT_KEYMAP 129This option sets the default, built-in keymap of the 130.Nm 131driver to the named keymap. 132See 133.Sx EXAMPLES 134below. 135.It Em KBD_DISABLE_KEYMAP_LOAD 136The keymap can be modified by the 137.Xr kbdcontrol 1 138command. 139This option will disable this feature and prevent the user from 140changing key assignment. 141.El 142.Pp 143.Ss Driver Flags 144The 145.Nm 146driver accepts the following driver flags. 147They can be set either in 148.Pa /boot/device.hints , 149or else from within the boot loader 150(see 151.Xr loader 8 ) . 152.Bl -tag -width FAIL 153.It bit 0 (FAIL_IF_NO_KBD) 154By default the 155.Nm 156driver will install even if a keyboard is not actually connected to the 157system. 158This option prevents the driver from being installed in this situation. 159.It bit 1 (NO_RESET) 160When this option is given, the 161.Nm 162driver will not reset the keyboard when initializing it. 163It may be useful for laptop computers whose function keys 164have special functions and these functions are forgotten when the 165keyboard is reset. 166.It bit 2 (ALT_SCANCODESET) 167Certain keyboards, such as those on some ThinkPad models, behave 168like the old XT keyboard and require this option. 169.El 170.\".Sh FILES 171.Sh EXAMPLES 172The 173.Nm 174driver requires the keyboard controller 175.Nm atkbdc . 176Thus, the kernel configuration file should contain the following lines. 177.Pp 178.Dl "device atkbdc" 179.Dl "device atkbd" 180.Pp 181The following example shows how to set the default, built-in keymap 182to 183.Pa jp.106.kbd . 184.Pp 185.Dl "device atkbdc" 186.Dl "options ATKBD_DFLT_KEYMAP" 187.Dl "makeoptions ATKBD_DFLT_KEYMAP=jp.106" 188.Dl "device atkbd" 189.Pp 190In both cases, you also need to have following lines in 191.Pa /boot/device.hints . 192.Pp 193.Dl hint.atkbdc.0.at="isa" 194.Dl hint.atkbdc.0.port="0x060" 195.Dl hint.atkbd.0.at="atkbdc" 196.Dl hint.atkbd.0.irq="1" 197.Pp 198.\".Sh DIAGNOSTICS 199.\".Sh CAVEATS 200.\".Sh BUGS 201.Sh SEE ALSO 202.Xr kbdcontrol 1 , 203.Xr atkbdc 4 , 204.Xr pcvt 4 , 205.Xr psm 4 , 206.Xr syscons 4 , 207.Xr loader 8 208.Sh HISTORY 209The 210.Nm 211driver first appeared in 212.Fx 3.1 . 213.Sh AUTHORS 214.An -nosplit 215The 216.Nm 217driver was written by 218.An S\(/oren Schmidt Aq sos@FreeBSD.org 219and 220.An Kazutaka Yokota Aq yokota@FreeBSD.org . 221This manual page was written by 222.An Kazutaka Yokota . 223