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