xref: /freebsd/usr.sbin/kbdcontrol/kbdmap.5 (revision 315ee00f)
1.\" Copyright (c) 2000
2.\"	David Malone
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.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.Dd January 2, 2016
26.Dt KBDMAP 5
27.Os
28.Sh NAME
29.Nm kbdmap
30.Nd keyboard map file format for kbdcontrol
31.Sh SYNOPSIS
32.Nm
33.Sh DESCRIPTION
34A
35.Nm
36file describes how the keys on a keyboard should behave.
37These files can be loaded
38using
39.Xr kbdcontrol 1 ,
40or
41.Xr kbdmap 1
42can be used to select one of the default
43.Nm
44files interactively.
45A
46.Nm
47file can be specified in
48.Xr rc.conf 5 ,
49to be loaded
50at boot time.
51The current keymap may also be printed using
52.Xr kbdcontrol 1 .
53.Pp
54Each line in the file
55can describe a key or an accent.
56A
57.Ql #
58character begins a comment,
59which extends to the end of the line.
60.Pp
61The description of a key
62begins with the scancode for that key.
63Then the effect of the key
64under combinations of
65shift,
66control
67and alt
68are listed in the following order:
69no modifier,
70shift,
71control,
72control and shift,
73alt,
74alt and shift,
75alt and control,
76alt and control and shift.
77The action of the key
78under each modifier can be:
79.Bl -tag -width Ar
80.It ' Ns Ar symbol Ns No '
81The symbol the key should produce,
82in single quotes.
83.It Ar decnum
84The
85.Tn Unicode
86value to produce
87as a decimal number
88(see
89.Xr ascii 7 ) .
90For example, 32 for space.
91.It 0x Ns Ar hexnum
92The
93.Tn Unicode
94value to produce
95as a hexadecimal number.
96For example, 0x20 for space.
97.It Ar ctrlname
98One of the standard names
99for the
100.Tn ASCII
101control characters:
102nul,
103soh,
104stx,
105etx,
106eot,
107enq,
108ack,
109bel,
110bs,
111ht,
112lf,
113vt,
114ff,
115cr,
116so,
117si,
118dle,
119dc1,
120dc2,
121dc3,
122dc4,
123nak,
124syn,
125etb,
126can,
127em,
128sub,
129esc,
130fs,
131gs,
132rs,
133us,
134sp,
135del.
136.It Ar control-alias
137One of the historical aliases for certain
138.Tn ASCII
139control characters:
140nl,
141np,
142ns.
143.It Ar accentname
144By giving one of the accent names,
145the next key pressed will produce
146an accented character
147in accordance with that accent.
148See the description of accents below.
149The accent names are:
150dgra,
151dacu,
152dcir,
153dtil,
154dmac,
155dbre,
156ddot,
157duml,
158ddia,
159dsla,
160drin,
161dced,
162dapo,
163ddac,
164dogo,
165dcar.
166.It fkey Ns Ar N
167Act as the
168.Ar N Ns No th
169function key,
170where
171.Ar N
172is a decimal number in the range from 1 to 96.
173Refer to the
174.Xr atkbd 4
175manual page for a list of predefined function keys.
176You can use the
177.Fl f
178option of the
179.Xr kbdcontrol 1
180utility to assign arbitrary strings to function keys.
181.It lshift
182Act as left shift key.
183.It rshift
184Act as right shift key.
185.It clock
186Act as caps lock key.
187.It nlock
188Act as num lock key.
189.It slock
190Act as scroll lock key.
191.It lalt|alt
192Act as left alt key.
193.It btab
194Act as backwards tab.
195.It lctrl|ctrl
196Act as left control key.
197.It rctrl
198Act as right control key.
199.It ralt
200Act as right alt (altgr) key.
201.It alock
202Act as alt lock key.
203.It ashift
204Act as alt shift key.
205.It meta
206Act as meta key.
207.It lshifta|shifta
208Act as left shift key / alt lock.
209.It rshifta
210Act as right shift key / alt lock.
211.It lctrla|ctrla
212Act as left ctrl key / alt lock.
213.It rctrla
214Act as right ctrl key / alt lock.
215.It lalta|alta
216Act as left alt key / alt lock.
217.It ralta
218Act as right alt key / alt lock.
219.It nscr
220Act as switch to next screen.
221.It pscr
222Act as switch to previous screen.
223.It scr Ns Ar N
224Switch to screen
225.Ar N ,
226where
227.Ar N
228is a decimal number.
229.It boot
230Reboot the machine.
231.It halt
232Halt the machine.
233.It pdwn
234Halt the machine
235and attempt to power it down.
236.It debug
237Call the debugger.
238.It susp
239Use APM to suspend power.
240.It saver
241Activate screen saver
242by toggling between splash/text screen.
243.It panic
244Panic the system.
245The
246.Xr sysctl 8
247variable
248.Va machdep.enable_panic_key
249must be set to 1 to enable this feature.
250.It paste
251Act as mouse buffer paste.
252.El
253.Pp
254Finally,
255to complete the description of a key,
256a flag which describes
257the effect of caps lock and num lock
258on that key is given.
259The flag can be
260.Ql C
261to indicate that caps lock affects the key,
262.Ql N
263to indicate that num lock affects the key,
264.Ql B
265to indicate that both
266caps lock and num lock affects the key,
267or
268.Ql O
269to indicate that neither affects the key.
270.Pp
271An accent key works
272by modifying the behavior
273of the next key pressed.
274The description of an accent begins
275with one of the accent names
276given above.
277This is followed
278by the symbol for the accent,
279given in single quotes or
280as a decimal or hexadecimal
281.Tn Unicode
282value.
283This symbol will be produced
284if the accent key is pressed and
285then the space key is pressed.
286.Pp
287The description of the accent key
288continues with a list showing
289how it modifies various symbols,
290by giving pairs made up of the normal symbol and
291the modified symbol
292enclosed in parentheses.
293Both symbols in a pair can be given
294in either single quotes or
295as decimal or
296hexadecimal
297.Tn Unicode
298values.
299.Pp
300For example,
301consider the following extract from a
302.Nm :
303.Bd -literal -offset indent
304  041   dgra   172    nop    nop    '|'    '|'    nop    nop     O
305  dgra  '`'  ( 'a' 224 ) ( 'A' 192 ) ( 'e' 232 ) ( 'E' 200 )
306             ( 'i' 236 ) ( 'I' 204 ) ( 'o' 242 ) ( 'O' 210 )
307             ( 'u' 249 ) ( 'U' 217 )
308.Ed
309This extract
310configures the backtick key on a UK keyboard
311to act as a grave accent key.
312Pressing backtick followed by space
313produces a backtick, and
314pressing a backtick followed by a vowel
315produces the ISO-8859-1 symbol
316for that vowel with a grave accent.
317.Sh FILES
318.Bl -tag -width /usr/share/syscons/keymaps/* -compact
319.It Pa /usr/share/syscons/keymaps/*
320standard keyboard map files for syscons
321.It Pa /usr/share/vt/keymaps/*
322standard keyboard map files for vt
323.El
324.Sh SEE ALSO
325.Xr kbdcontrol 1 ,
326.Xr kbdmap 1 ,
327.Xr keyboard 4 ,
328.Xr syscons 4 ,
329.Xr vt 4 ,
330.Xr ascii 7
331.Sh HISTORY
332This manual page first appeared in
333.Fx 4.2 .
334