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 driver 54.Xr syscons 4 . 55.Pp 56There can be only one 57.Nm 58device defined in the kernel configuration file. 59This device also requires the 60.Nm atkbdc 61keyboard controller to be present. 62The 63.Em irq 64number must always be 1; there is no provision of changing the number. 65.Ss Function Keys 66The AT keyboard has a number of function keys. 67They are numbered as follows and can be associated with strings 68by the 69.Xr kbdcontrol 1 70command. 71.Pp 72.Bl -tag -width "Function Key Number" -compact 73.It "Function Key number" 74Function Key 75.It "1, 2,...12" 76F1, F2,...\& F12 77.It "13, 14,...24" 78Shift+F1, Shift+F2,...\& Shift+F12 79.It "25, 26,...36" 80Ctl+F1, Ctl+F2,...\& Ctl+F12 81.It "37, 38,...48" 82Shift+Ctl+F1, Shift+Ctl+F2,...\& Shift+Ctl+F12 83.It 49 84Home and Numpad 7 (without NumLock) 85.It 50 86Up Arrow and Numpad 8 (without NumLock) 87.It 51 88Page Up and Numpad 9 (without NumLock) 89.It 52 90Numpad - 91.It 53 92Left Arrow and Numpad 4 (without NumLock) 93.It 54 94Numpad 5 (without NumLock) 95.It 55 96Right Arrow and Numpad 6 (without NumLock) 97.It 56 98Numpad + 99.It 57 100End and Numpad 1 (without NumLock) 101.It 58 102Down Arrow and Numpad 2 (without NumLock) 103.It 59 104Page Down and Numpad 3 (without NumLock) 105.It 60 106Ins and Numpad 0 (without NumLock) 107.It 61 108Del 109.It 62 110Left GUI Key 111.It 63 112Right GUI Key 113.It 64 114Menu 115.El 116.Pp 117See the man page for the 118.Xr kbdcontrol 1 119command for how to assign a string to the function key. 120.Sh DRIVER CONFIGURATION 121.Ss Kernel Configuration Options 122The following kernel configuration options control the 123.Nm 124driver. 125.Bl -tag -width ATKBD_DFLT 126.It Em ATKBD_DFLT_KEYMAP 127This option sets the default, built-in keymap of the 128.Nm 129driver to the named keymap. 130See 131.Sx EXAMPLES 132below. 133.It Em KBD_DISABLE_KEYMAP_LOAD 134The keymap can be modified by the 135.Xr kbdcontrol 1 136command. 137This option will disable this feature and prevent the user from 138changing key assignment. 139.El 140.Pp 141.Ss Driver Flags 142The 143.Nm 144driver accepts the following driver flags. 145They can be set either in 146.Pa /boot/device.hints , 147or else from within the boot loader 148(see 149.Xr loader 8 ) . 150.Bl -tag -width FAIL 151.It bit 0 (FAIL_IF_NO_KBD) 152By default the 153.Nm 154driver will install even if a keyboard is not actually connected to the 155system. 156This option prevents the driver from being installed in this situation. 157.It bit 1 (NO_RESET) 158When this option is given, the 159.Nm 160driver will not reset the keyboard when initializing it. 161It may be useful for laptop computers whose function keys 162have special functions and these functions are forgotten when the 163keyboard is reset. 164.It bit 2 (ALT_SCANCODESET) 165Certain keyboards, such as those on some ThinkPad models, behave 166like the old XT keyboard and require this option. 167.It bit 3 (NO_PROBE_TEST) 168When this option is given, the 169.Nm 170driver will not test the keyboard port during the probe routine. 171Some machines hang during boot when this test is performed. 172.El 173.\".Sh FILES 174.Sh EXAMPLES 175The 176.Nm 177driver requires the keyboard controller 178.Nm atkbdc . 179Thus, the kernel configuration file should contain the following lines. 180.Pp 181.Dl "device atkbdc" 182.Dl "device atkbd" 183.Pp 184The following example shows how to set the default, built-in keymap 185to 186.Pa jp.106.kbd . 187.Pp 188.Dl "device atkbdc" 189.Dl "options ATKBD_DFLT_KEYMAP" 190.Dl "makeoptions ATKBD_DFLT_KEYMAP=jp.106" 191.Dl "device atkbd" 192.Pp 193In both cases, you also need to have following lines in 194.Pa /boot/device.hints . 195.Pp 196.Dl hint.atkbdc.0.at="isa" 197.Dl hint.atkbdc.0.port="0x060" 198.Dl hint.atkbd.0.at="atkbdc" 199.Dl hint.atkbd.0.irq="1" 200.\".Sh DIAGNOSTICS 201.\".Sh CAVEATS 202.\".Sh BUGS 203.Sh SEE ALSO 204.Xr kbdcontrol 1 , 205.Xr atkbdc 4 , 206.Xr psm 4 , 207.Xr syscons 4 , 208.Xr loader 8 209.Sh HISTORY 210The 211.Nm 212driver first appeared in 213.Fx 3.1 . 214.Sh AUTHORS 215.An -nosplit 216The 217.Nm 218driver was written by 219.An S\(/oren Schmidt Aq sos@FreeBSD.org 220and 221.An Kazutaka Yokota Aq yokota@FreeBSD.org . 222This manual page was written by 223.An Kazutaka Yokota . 224