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