adding GNU dc ("desk calculator")
[unix-history] / usr.sbin / keymap / keymap / keycap.5
CommitLineData
15637ed4
RG
1.\" Copyright (c) 1983, 1991 The Regents of the University of California.
2.\" All rights reserved.
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.\" 3. All advertising materials mentioning features or use of this software
13.\" must display the following acknowledgement:
14.\" This product includes software developed by the University of
15.\" California, Berkeley and its contributors.
16.\" 4. Neither the name of the University nor the names of its contributors
17.\" may be used to endorse or promote products derived from this software
18.\" without specific prior written permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.\" @(#)keycap.5 1.1 (Contributed to 386bsd) 4/27/93
33.\"
34.Dd April 27, 1993
35.Dt KEYCAP 5
36.Os 386bsd
37.Sh NAME
38.Nm keycap
39.Nd keyboard configuration data base
40.Sh SYNOPSIS
41.Nm keycap
42.Sh DESCRIPTION
43The
44.Nm keycap
45file describes national keyboard mappings for the console driver
46.Xr co 4 .
47This file is accessed by the
48.Xr keymap 8
49utility.
50Each entry in the data base
51is used to describe one class of keyboards.
52.Pp
53There is a default keyboard class,
54.Em default ,
55which corresponds to the standard builtin mapping of the
56.Xr co 4
57driver.
58.Sh CAPABILITIES
59Refer to
60.Xr termcap 5
61for a description of the file layout.
62The
63.Em default
64column below lists defaults obtained if there is
65no entry in the table obtained, nor one in the special
66.Em default
67table.
68.Bl -column Symbol D0..D127 -column Type false
69.It Symbol Type Default Description
70.It "ag num 0 key number of the ALTGRLOCK key
71.It "A1..A127 str 0 map a string to the ALTGR key layer
72.It "C1..C127 str none map a string to the CTRL key layer
73.It "ca num 0 key number of the CAPS LOCK key
74.It "de bool false sets the default mapping (top precedence)
75.It "D0..D127 bool false disables the given key (1..127) entirely
76.It "fn0 str none pathname of first loadable font
77.It "fn1 str none pathname of second loadable font
78.It "fe0 num none font encoding first font
79.It "fe1 num none font encoding second font
80.It "h1..h9 num 0 key numbers of the SHIFT keys (up to 9)
81.It "K1..K127 str none map a string to the UNSHIFTED key
82.It "l0 bool false clears the ALTGR map
83.It "l1..l9 num 0 key numbers of the ALTGR keys (up to 9)
84.It "la num 0 defines the operation of the CAPSLOCK LED
85.It "m1..m9 num 0 key numbers of the META Keys (up to 9)
86.It "M1..M127 str 0 map a string to the META key layer
87.It "nl num 0 key number of the NUM LOCK key
88.It "p1..p9 num 0 key number of a diacritical prefix
89.It "S1..S127 str none map a string to the SHIFTED key layer
90.It "sc num 0 key number of the SCROLL LOCK key
91.It "sh num 0 key number of the SHIFT LOCK key
92.It "t0 bool false clears the CTRL map
93.It "t1..t9 num 0 key numbers of the CTRL keys (up to 9)
94.It "tc str none allows extension of capabilities
95.It "X1..X127 str none map a string to the SHIFTED-ALTGR key layer
96.El
97.Pp
98The
99.Em tc=capability
100entry allows the extension of a keyboard entry. If, for instance,
101the keyboard type
102.Em foo ,
103differs from the similar type
104.Em bar
105in that the first has the capslock function on key 55, you might write
106an entry for
107.Em foo
108in the following way:
109.Pp
110.Bd -literal
111foo|the foo keyboard:\e
112 ca#55:tc=bar:
113.Ed
114.Sh String Entries for the keys (K*,S*,C*,A*):
115These allow mappings of strings to keys. Examples:
116.Pp
117.Bl -tag -width K123=abcdef -compact
118.It Em K123=abcdef
119maps the string "abcdef" to key 123
120.It Em K123=^D
121maps CTRL-D to key 123
122.It Em K123=\e072
123maps the colon \: to key 123 (only way to do it)
124.It Em K123=\e176
125maps the tilde \~ to key 123 (only way to do it)
126.It Em K123=\e077
127maps the question mark ? to key 123 (only way to do it)
128.El
129.Pp
130The maximum allowed length of string is 15 bytes.
131.Pp
132.Sh Special alphabetic characters (new since 0.1.2):
133The CAPSLOCK key if present on your keyboard influences alphabetic
134keys only. This is obvious for the Latin alphabet only. If you use
135another than the latin alphabet, the alphabetic characters must
136be identified otherwise. If a key string starts with a tilde \~
137the following code inherits the ALPHA attribute, i.e. it is
138influenced by the CAPSLOCK key.
139.Pp
140.Sh Locking keys (new since 0.1.2):
141The ALTGR key layer (A,X) has its own LOCK key which can be
142assigned with the
143.Em ag
144capability. To have an indicator which
145layer is currently active, the CAPSLOCK LED may be redefined
146to follow the ALTGRLOCK key
147.Em (la#2)
148rather than the CAPSLOCK key
149.Em (la#0)
150or SHIFTLOCK key
151.Em (la#1).
152.Pp
153.Sh Special hotkeys (new since 0.1.2):
154The
155.Xr co 4
156driver has support for some hotkeys that are processed
157.Em before
158the normal character interpretation. Hotkey functions can be assigned to
159any key like any standard string. To encode them, a two character
160sequence starting with a question mark ? is used. Any of the six layers
161K,S,A,C,X,M can be used, with the M (META) layer denoting SYSKEY,
162and the X layer denoting CTRL-ALT. SYSKEY is a prefix key.
163Note that a hotkey mapped to some key layer will suppress the
164underlying standard function. The following table shows the hotkeys,
165their encoding, their default mapping and their meaning:
166
167.Bl -column Name VTY-PREV -column Encoding ?X -column Default CTRL-ALT-DEL
168.It "Name Encoding Default Description
169.It "--- ?- none deletes a default hotkey
170.It "RESET ?R CTRL-ALT-DEL do a CPU reset
171.It "DEBUG ?D CTRL-ALT-ESC call the kernel debugger (if conf'd)
172.It "VTY-PREV ?P none switch to previous vty in sequence
173.It "VTY-NEXT ?N none switch to previous vty in sequence
174.It "VTY-0 ?0 CTRL-ALT-F1 switch to vty 0
175.It "... .. ... ...
176.It "VTY-9 ?9 CTRL-ALT-F10 switch to vty 9 (if conf'd)
177.It "VTY-10 ?A CTRL-ALT-F11 switch to vty 10 (if conf'd)
178.It "VTY-11 ?B CTRL-ALT-F12 switch to vty 11 (if conf'd)
179.El
180.Pp
181.Sh Diacritical Prefixes:
182Normally, keys like ` ' ^ ~ have their regular meaning and return the
183corresponding ASCII code. If the corresponding key gets the
184.Em diacritical prefix attribute ,
185it behaves different: Returning the ASCII code is retained
186until a second character. If this is a character, which may have an
187additional diacritical mark, then the corresponding diacritical character
188is returned. If the character is a blank, the original ASCII code of the
189prefix is returned. Otherwise the prefix is absorbed. Example:
190To get the A with an accent grave, press first ` , then A.
191In the data base, these diacritical keys are entered by their corresponding
192octal number.
193.Pp
194.Sh SEE ALSO
195.Xr co 4 ,
196.Xr keymap 8.
197.Sh BUGS
198In general, the database is downward compatible to keycap 0.1.1 and
199pccons clones, but there is no guarantee that it works as expected.
200Upgrade to the new
201.Xr co 4
202driver (release 0.1.2 or later) to get full support for all the features.
203Furthermore, there is no good way to express ISO-LATIN1 or other
204characters >127 other than by their octal representation.
205.Sh HISTORY
206The
207.Nm keycap
208file format is a new feature of 386bsd 0.1 and later.