kernel - Reduce lwp_signotify() latency
[dragonfly.git] / usr.sbin / kbdcontrol / kbdcontrol.1
CommitLineData
984263bc
MD
1.\"
2.\" kbdcontrol - a utility for manipulating the syscons keyboard driver section
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\" notice, this list of conditions and the following disclaimer in the
11.\" documentation and/or other materials provided with the distribution.
12.\"
13.\" @(#)kbdcontrol.1
14.\" $FreeBSD: src/usr.sbin/kbdcontrol/kbdcontrol.1,v 1.18.2.9 2001/08/16 15:56:00 ru Exp $
15.\"
99bef3c0 16.Dd September 12, 2009
984263bc
MD
17.Dt KBDCONTROL 1
18.Os
19.Sh NAME
20.Nm kbdcontrol
99bef3c0 21.Nd keyboard control and configuration utility
984263bc
MD
22.Sh SYNOPSIS
23.Nm
24.Op Fl dFKix
bff9cd50
AH
25.Op Fl A Ar name
26.Op Fl a Ar name
984263bc
MD
27.Oo
28.Fl b
29.Ar duration . Ns Ar pitch | Ar belltype
30.Oc
31.Oo
32.Fl r
33.Ar delay . Ns Ar repeat | Ar speed
34.Oc
35.Op Fl l Ar keymap_file
36.Op Fl f Ar # Ar string
37.Op Fl h Ar size
38.Op Fl k Ar keyboard_device
39.Op Fl L Ar keymap_file
40.Sh DESCRIPTION
41The
42.Nm
43command is used to set various keyboard related options for the
44.Xr syscons 4
45console driver and the keyboard drivers,
46such as key map, keyboard repeat and delay rates, bell
47characteristics etc.
48.Pp
49Keyboard options may be automatically configured at system boot time by
50setting variables in
51.Pa /etc/rc.conf .
52See
53.Sx Boot Time Configuration
54below.
55.Pp
56The following command line options are supported:
57.Bl -tag -width indent
bff9cd50
AH
58.It Fl A Ar name
59Detach the keyboard, specified by the keyboard device name, from the keyboard
60multiplexer.
61When using this option, the standard input of the
62.Nm
99bef3c0
SW
63process should be redirected from the keyboard multiplexer keyboard device
64(if the keyboard multiplexer is not the active keyboard) or
bff9cd50 65.Pa /dev/console
99bef3c0 66(if the keyboard multiplexer is the active keyboard and
bff9cd50
AH
67you are not working on the system console).
68.It Fl a Ar name
69Attach the keyboard, specified by the keyboard device name, to the keyboard
70multiplexer.
71When using this option, the standard input of the
72.Nm
99bef3c0
SW
73process should be redirected from the keyboard multiplexer keyboard device
74(if the keyboard multiplexer is not the active keyboard) or
bff9cd50 75.Pa /dev/console
99bef3c0 76(if the keyboard multiplexer is the active keyboard and
bff9cd50 77you are not working on the system console).
984263bc
MD
78.It Fl b Xo
79.Ar duration . Ns Ar pitch | Ar belltype
80.Xc
81Set the bell duration in milliseconds and pitch in hertz.
82If a
83.Ar belltype
84argument is specified, it may be one of
85.Cm normal
86which sets sound parameters back to normal values,
87.Cm off
88which disables the bell entirely, or
89.Cm visual
99bef3c0 90which sets the bell to visual mode, i.e., flashes the screen instead.
984263bc
MD
91If
92.Ar belltype
93is preceded by the word
94.Cm quiet. ,
95the bell will not be rung when the ringing process is in the background vty.
99bef3c0
SW
96The
97.Cm visual
98bell, when chosen, applies to all vtys; other bell types
99can be set individually for each vty.
984263bc
MD
100.It Fl r Xo
101.Ar delay . Ns Ar repeat | Ar speed
102.Xc
103Set keyboard
104.Ar delay
105(250, 500, 750, 1000)
106and
107.Ar repeat
108(34, 38, 42, 46, 50, 55, 59, 63, 68, 76, 84, 92, 100, 110, 118, 126,
109136, 152, 168, 184, 200, 220, 236, 252, 272, 304, 336, 368, 400, 440,
110472, 504)
111rates, or if a
112.Ar speed
113argument is specified, it may be one of
114.Cm slow
115(1000.504),
116.Cm fast
117(250.34)
118or
119.Cm normal
120(500.126).
121.It Fl l Ar keymap_file
122Install keyboard map file from
123.Ar keymap_file .
124You may load the keyboard map file from a menu-driven command,
125.Xr kbdmap 1 .
99bef3c0
SW
126The format of keyboard map files is documented in the
127.Xr kbdmap 5
128manual page.
984263bc
MD
129.It Fl d
130Dump the current keyboard map onto stdout.
131The output may be redirected to a file and can be loaded
132back to the kernel later by the
133.Fl l
134option above.
135.It Fl f Ar # Ar string
136Set function key number
137.Ar #
138to send
139.Ar string .
140Refer to the man page for the keyboard driver
141(e.g.\&
142.Xr atkbd 4 )
143for available function keys and their numbers.
144.It Fl F
145Set function keys back to the standard definitions.
146.It Fl x
147Use hexadecimal numbers in keyboard map dump.
148.It Fl h Ar size
149Set history buffer size to
150.Ar size
151lines.
152.It Fl i
153Print brief information about the keyboard.
154.It Fl K
155Disconnect the keyboard from the console.
156You need to use the
157.Fl k
158option below to associate a keyboard with the console again.
159.It Fl k Ar keyboard_device
160Use the specified device as the console keyboard.
161When using this option, the standard input of the
162.Nm
163process should be redirected from
164.Pa /dev/console
165if you are not working on the system console
166(see the
167.Sx EXAMPLES
168section).
169.It Fl L Ar keymap_file
170Load keyboard map file from
171.Ar keymap_file
172and write the
173.Ft "struct keymap"
174compiled from it to stdout.
175This option is primarily intended for programmers and is probably
176of little use under normal circumstances.
177.El
99bef3c0
SW
178.Sh ENVIRONMENT
179The environment variable
180.Ev KEYMAP_PATH
181can hold an alternative path to the keyboard map files.
984263bc
MD
182.Sh KEYBOARD CONFIGURATION
183.Ss Boot Time Configuration
184You may set variables in
185.Pa /etc/rc.conf
186or
187.Pa /etc/rc.conf.local
188in order to configure the keyboard at boot time.
189The following is the list of relevant variables.
190.Pp
191.Bl -tag -width foo_bar_var -compact
192.It Ar keymap
193Specifies a keyboard map file for the
194.Fl l
195option.
196.It Ar keyrate
197Sets the keyboard repeat rate for the
198.Fl r
199option.
200.It Ar keychange
201Lists function key strings for the
202.Fl f
203option.
204.El
205.Pp
206See
207.Xr rc.conf 5
208for details.
209.Ss Driver Configuration
210The keyboard device driver may let you change default configuration
211options, such as the default keyboard map, so that you do not need to set up
212the options at boot time.
213See keyboard driver manuals
214(e.g.\&
215.Xr atkbd 4 ,
216.Xr ukbd 4 )
217for details.
218.Sh FILES
219.Bl -tag -width /usr/share/syscons/keymaps/foo_bar -compact
220.It Pa /usr/share/syscons/keymaps/*
221keyboard map files
222.El
223.Sh EXAMPLES
224The following command will load the keyboard map file
225.Pa /usr/share/syscons/keymaps/ru.koi8-r.kbd .
226.Pp
227.Dl kbdcontrol -l /usr/share/syscons/keymaps/ru.koi8-r.kbd
228.Pp
229So long as the keyboard map file resides in
230.Pa /usr/share/syscons/keymaps ,
231you may abbreviate the file name as
232.Pa ru.koi8-r .
233.Pp
234.Dl kbdcontrol -l ru.koi8-r
235.Pp
236The following command will make the function key 10 emit "telnet myhost".
237.Pp
238.Dl kbdcontrol -f 10 \&"telnet myhost\&"
239.Pp
240In order to get the visual effect for bell, but prevent the screen
241from flushing if the bell is to ring in the background screen,
242run the following command.
243.Pp
244.Dl kbdcontrol -b quiet.visual
245.Pp
decd541a 246To change the default console keyboard to another keyboard,
984263bc
MD
247for example the first USB keyboard (see
248.Xr ukbd 4 ) ,
249use the following commands.
250.Pp
251.Dl kbdcontrol -k /dev/kbd1 < /dev/console
252.Pp
253To switch back to the default keyboard, use this command.
254.Pp
255.Dl kbdcontrol -k /dev/kbd0
984263bc
MD
256.Sh SEE ALSO
257.Xr kbdmap 1 ,
258.Xr vidcontrol 1 ,
259.Xr atkbd 4 ,
99bef3c0 260.Xr kbdmux 4 ,
984263bc
MD
261.Xr keyboard 4 ,
262.Xr screen 4 ,
263.Xr syscons 4 ,
264.Xr ukbd 4 ,
265.Xr kbdmap 5 ,
266.Xr rc.conf 5
267.Sh AUTHORS
e65bc1c3 268.An S\(/oren Schmidt Aq Mt sos@FreeBSD.org
49781055
SW
269.Sh BUGS
270Report when found.