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