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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
|
.\" Copyright (c) 2000
.\" David Malone
.\"
.\" 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.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd September 11, 2000
.Dt KBDMAP 5
.Os
.Sh NAME
.Nm kbdmap
.Nd keyboard map file format for kbdcontrol
.Sh SYNOPSIS
.Nm
.Sh DESCRIPTION
A
.Nm
file describes how the keys on a keyboard should behave.
These files can be loaded
using
.Xr kbdcontrol 1 ,
or
.Xr kbdmap 1
can be used to select one of the default
.Nm
files interactively.
A
.Nm
file can be specified in
.Xr rc.conf 5 ,
to be loaded
at boot time.
The current keymap may also be printed using
.Xr kbdcontrol 1 .
.Pp
Each line in the file
can describe a key or an accent.
A
.Ql #
character begins a comment,
which extends to the end of the line.
.Pp
The description of a key
begins with the scancode for that key.
Then the effect of the key
under combinations of
shift,
control
and alt
are listed in the following order:
no modifier,
shift,
control,
control and shift,
alt,
alt and shift,
alt and control,
alt and control and shift.
The action of the key
under each modifier can be:
.Bl -tag -width Ar
.It ' Ns Ar symbol Ns No '
The symbol the key should produce,
in single quotes.
.It Ar decnum
The
.Tn ASCII
value to produce
as a decimal number
(see
.Xr ascii 7 ) .
For example, 32 for space.
.It 0x Ns Ar hexnum
The
.Tn ASCII
value to produce
as a hexadecimal number.
For example, 0x20 for space.
.It Ar ctrlname
One of the standard names
for the
.Tn ASCII
control characters:
nul,
soh,
stx,
etx,
eot,
enq,
ack,
bel,
bs,
ht,
nl,
vt,
np,
cr,
so,
si,
dle,
dc1,
dc2,
dc3,
dc4,
nak,
syn,
etb,
can,
em,
sub,
esc,
fs,
gs,
rs,
ns,
us,
sp,
del.
.It Ar accentname
By giving one of the accent names,
the next key pressed will produce
an accented character
in accordance with that accent.
See the description of accents below.
The accent names are:
dgra,
dacu,
dcir,
dtil,
dmac,
dbre,
ddot,
duml,
ddia,
dsla,
drin,
dced,
dapo,
ddac,
dogo,
dcar.
.It fkey Ns Ar N
Act as the
.Ar N Ns No th
function key,
where
.Ar N
is a decimal number.
.It lshift
Act as left shift key.
.It rshift
Act as right shift key.
.It clock
Act as caps lock key.
.It nlock
Act as num lock key.
.It slock
Act as scroll lock key.
.It lalt|alt
Act as left alt key.
.It btab
Act as backwards tab.
.It lctrl|ctrl
Act as left control key.
.It rctrl
Act as right control key.
.It ralt
Act as right alt (altgr) key.
.It alock
Act as alt lock key.
.It ashift
Act as alt shift key.
.It meta
Act as meta key.
.It lshifta|shifta
Act as left shift key / alt lock.
.It rshifta
Act as right shift key / alt lock.
.It lctrla|ctrla
Act as left ctrl key / alt lock.
.It rctrla
Act as right ctrl key / alt lock.
.It lalta|alta
Act as left alt key / alt lock.
.It ralta
Act as right alt key / alt lock.
.It nscr
Act as switch to next screen.
.It pscr
Act as switch to previous screen.
.It scr Ns Ar N
Switch to screen
.Ar N ,
where
.Ar N
is a decimal number.
.It boot
Reboot the machine.
.It halt
Halt the machine.
.It pdwn
Halt the machine
and attempt to power it down.
.It debug
Call the debugger.
.It susp
Use APM to suspend power.
.It saver
Activate screen saver
by toggling between splash/text screen.
.It panic
Panic the system.
.El
.Pp
Finally,
to complete the description of a key,
a flag which describes
the effect of caps lock and num lock
on that key is given.
The flag can be
.Ql C
to indicate that caps lock affects the key,
.Ql N
to indicate that num lock affects the key,
.Ql B
to indicate that both
caps lock and num lock affects the key,
or
.Ql O
to indicate that neither affects the key.
.Pp
An accent key works
by modifying the behavior
of the next key pressed.
The description of an accent begins
with one of the accent names
given above.
This is followed
by the symbol for the accent,
given in single quotes or
as a decimal or hexadecimal
.Tn ASCII
value.
This symbol will be produced
if the accent key is pressed and
then the space key is pressed.
.Pp
The description of the accent key
continues with a list showing
how it modifies various symbols,
by giving pairs made up of the normal symbol and
the modified symbol
enclosed in parentheses.
Both symbols in a pair can be given
in either single quotes or
as decimal or
hexadecimal
.Tn ASCII
values.
.Pp
For example,
consider the following extract from a
.Nm :
.Bd -literal -offset indent
041 dgra 172 nop nop '|' '|' nop nop O
dgra '`' ( 'a' 224 ) ( 'A' 192 ) ( 'e' 232 ) ( 'E' 200 )
( 'i' 236 ) ( 'I' 204 ) ( 'o' 242 ) ( 'O' 210 )
( 'u' 249 ) ( 'U' 217 )
.Ed
This extract
configures the backtick key on a UK keyboard
to act as a grave accent key.
Pressing backtick followed by space
produces a backtick, and
pressing a backtick followed by a vowel
produces the ISO-8859-1 symbol
for that vowel with a grave accent.
.Sh FILES
.Bl -tag -width /usr/share/syscons/keymaps/* -compact
.It Pa /usr/share/syscons/keymaps/*
standard keyboard map files
.El
.Sh SEE ALSO
.Xr kbdcontrol 1 ,
.Xr kbdmap 1 ,
.Xr keyboard 4 ,
.Xr syscons 4 ,
.Xr ascii 7
.Sh HISTORY
This manual page first appeared in
.Fx 5.0 .
|