2 .\" Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved.
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .TH KEYTABLES 4 "Feb 18, 2003"
8 keytables \- keyboard table descriptions for loadkeys and dumpkeys
12 These files are used by \fBloadkeys\fR(1) to modify the translation tables used
13 by the keyboard streams module and generated from those translation tables. See
17 Any line in the file beginning with \fB#\fR is a comment, and is ignored.
18 \fB#\fR is treated specially only at the beginning of a line.
21 Other lines specify the values to load into the tables for a particular
22 keystation. The format is either:
26 \fBkey\fR \fInumber list_of_entries\fR
37 \fBswap\fR \fInumber1\fR \fBwith\fR \fInumber2\fR
48 \fBkey\fR \fInumber1\fR \fBsame as\fR \fInumber2\fR
55 or a blank line, which is ignored.
59 \fBkey\fR \fInumber list_of_entries\fR
66 sets the entries for keystation \fInumber\fR from the list given. An entry in
67 that list is of the form
71 \fItablename\fR \fIcode\fR
78 where \fItablename\fR is the name of a particular translation table, or
79 \fBall\fR. The translation tables are:
86 entry when no shifts are active
95 entry when "Shift" key is down
104 entry when "Caps Lock" is in effect
113 entry when "Control" is down
122 entry when "Alt Graph" is down
131 entry when "Num Lock" is in effect
140 entry when a key goes up
145 All tables other than \fBup\fR refer to the action generated when a key goes
146 down. Entries in the \fBup\fR table are used only for shift keys, since the
147 shift in question goes away when the key goes up, except for keys such as "Caps
148 Lock" or "Num Lock"; the keyboard streams module makes the key look as if it
152 A table name of \fBall\fR indicates that the entry for all tables should be set
153 to the specified value, with the following exception: for entries with a value
154 other than \fBhole\fR, the entry for the \fBnuml\fR table should be set to
155 \fBnonl\fR, and the entry for the \fBup\fR table should be set to \fBnop\fR.
158 The \fIcode\fR specifies the effect of the key in question when the specified
159 shift key is down. A \fIcode\fR consists of either:
164 A character, which indicates that the key should generate the given character.
165 The character can either be a single character, a single character preceded by
166 \fB^\fR which refers to a "control character" (for instance, \fB^c\fR is
167 control-C), or a C-style character constant enclosed in single quote characters
168 (\fB\&'\fR), which can be expressed with C-style escape sequences such as \er
169 for \fBRETURN\fR or \e000 for the null character. Note that the single
170 character may be any character in an 8-bit character set, such as ISO 8859/1.
176 A string, consisting of a list of characters enclosed in double quote
177 characters (\fB"\fR). Note that the use of the double quote character means
178 that a \fIcode\fR of double quote must be enclosed in single quotes.
184 One of the following expressions:
190 \fB\fBshiftkeys+leftshift\fR\fR
194 the key is to be the left-hand "Shift" key
200 \fB\fBshiftkeys+rightshift\fR\fR
204 the key is to be the right-hand "Shift" key
210 \fB\fBshiftkeys+leftctrl\fR\fR
214 the key is to be the left-hand "Control" key
220 \fB\fBshiftkeys+rightctrl\fR\fR
224 the key is to be the right-hand "Control" key
230 \fB\fBshiftkeys+alt\fR\fR
234 the key is to be the "Alt" shift key
240 \fB\fBshiftkeys+altgraph\fR\fR
244 the key is to be the "Alt Graph" shift key
250 \fB\fBshiftkeys+capslock\fR\fR
254 the key is to be the "Caps Lock" key
260 \fB\fBshiftkeys+shiftlock\fR\fR
264 the key is to be the "Shift Lock" key
270 \fB\fBshiftkeys+numlock\fR\fR
274 the key is to be the "Num Lock" key
280 \fB\fBbuckybits+systembit\fR\fR
284 the key is to be the "Stop" key in SunView; this is normally the L1 key, or the
285 SETUP key on the VT100 keyboard
291 \fB\fBbuckybits+metabit\fR\fR
295 the key is to be the "meta" key. That is, the "Left" or "Right" key on a Sun-2
296 or Sun-3 keyboard or the "diamond" key on a Sun-4 keyboard
306 the key is to be the "Compose" key
316 on the "VT100" keyboard, the key is to transmit the control-Q character (this
317 would be the entry for the "Q" key in the \fBctrl\fR table)
327 on the "VT100" keyboard, the key is to transmit the control-S character (this
328 would be the entry for the "S" key in the \fBctrl\fR table)
338 on the "VT100" keyboard, the key is to be the "No Scroll" key
344 \fB\fBstring+uparrow\fR\fR
348 the key is to be the "up arrow" key
354 \fB\fBstring+downarrow\fR\fR
358 the key is to be the "down arrow" key
364 \fB\fBstring+leftarrow\fR\fR
368 the key is to be the "left arrow" key
374 \fB\fBstring+rightarrow\fR\fR
378 the key is to be the "right arrow" key
384 \fB\fBstring+homearrow\fR\fR
388 the key is to be the "home" key
398 the key is to be the acute accent "floating accent" key
404 \fB\fBfa_cedilla\fR\fR
408 the key is to be the cedilla "floating accent" key
418 the key is to be the circumflex "floating accent" key
428 the key is to be the grave accent "floating accent" key
438 the key is to be the tilde "floating accent" key
444 \fB\fBfa_umlaut\fR\fR
448 the key is to be the umlaut "floating accent" key
458 this is used only in the Num Lock table; the key is not to be affected by the
469 the key is to be the "0" key on the numeric keypad
479 the key is to be the "1" key on the numeric keypad
489 the key is to be the "2" key on the numeric keypad
499 the key is to be the "3" key on the numeric keypad
509 the key is to be the "4" key on the numeric keypad
519 the key is to be the "5" key on the numeric keypad
529 the key is to be the "6" key on the numeric keypad
539 the key is to be the "7" key on the numeric keypad
549 the key is to be the "8" key on the numeric keypad
559 the key is to be the "9" key on the numeric keypad
569 the key is to be the "." key on the numeric keypad
579 the key is to be the "Enter" key on the numeric keypad
589 the key is to be the "+" key on the numeric keypad
599 the key is to be the "\(mi" key on the numeric keypad
609 the key is to be the "*" key on the numeric keypad
619 the key is to be the "/" key on the numeric keypad
629 the key is to be the "=" key on the numeric keypad
639 the key is to be the "," (separator) key on the numeric keypad
645 \fB\fBlf(\fIn\fR)\fR\fR
649 the key is to be the left-hand function key \fIn\fR
655 \fB\fBrf(\fIn\fR)\fR\fR
659 the key is to be the right-hand function key \fIn\fR
665 \fB\fBtf(\fIn\fR)\fR\fR
669 the key is to be the top function key \fIn\fR
675 \fB\fBbf(\fIn\fR)\fR\fR
679 the key is to be the "bottom" function key \fIn\fR
689 the key is to do nothing
699 this code indicates an internal error; to be used only for keystation 126, and
710 this code indicates that the keyboard is idle (that is, has no keys down); to
711 be used only for all entries other than the \fBnuml\fR and \fBup\fR table
712 entries for keystation 127, and must be used there
722 this key exists, but its action is not defined; it has the same effect as
733 this code indicates that the keyboard has just been reset; to be used only for
734 the \fBup\fR table entry for keystation 127, and must be used there.
740 \fB\fBswap\fR \fInumber1\fR with \fInumber2\fR\fR
744 exchanges the entries for keystations \fInumber1\fR and \fInumber2\fR.
750 \fB\fBkey \fInumber1\fR\fR same as \fInumber2\fR\fR
754 sets the entries for keystation \fInumber1\fR to be the same as those for
755 keystation \fInumber2\fR. If the file does not specify entries for keystation
756 \fInumber2\fR, the entries currently in the translation table are used; if the
757 file does specify entries for keystation \fInumber2\fR, those entries are used.
765 \fBExample 1 \fRExample of setting multiple keystations.
768 The following entry sets keystation 15 to be a "hole" (that is, an entry
769 indicating that there is no keystation 15); sets keystation 30 to do nothing
770 when Alt Graph is down, generate "!" when Shift is down, and generate "1" under
771 all other circumstances; and sets keystation 76 to be the left-hand Control
778 key 30 base 1 shift ! caps 1 ctrl 1 altg nop
779 key 76 all shiftkeys+leftctrl up shiftkeys+leftctrl
785 \fBExample 2 \fRExchange DELETE and BACKSPACE keys
788 The following entry exchanges the Delete and Back Space keys on the Type 4
801 Keystation 43 is normally the Back Space key, and keystation 66 is normally the
805 \fBExample 3 \fRDisable CAPS LOCK key
808 The following entry disables the Caps Lock key on the Type 3 and U.S. Type 4
820 \fBExample 4 \fRStandard translation tables for the U.S. Type 4 keyboard
823 The following specifies the standard translation tables for the U.S. Type 4
830 key 1 all buckybits+systembit up buckybits+systembit
842 key 13 all shiftkeys+altgraph up shiftkeys+altgraph
848 key 19 all shiftkeys+alt up shiftkeys+alt
859 key 30 base 1 shift ! caps 1 ctrl 1 altg nop
860 key 31 base 2 shift @ caps 2 ctrl ^@ altg nop
861 key 32 base 3 shift # caps 3 ctrl 3 altg nop
862 key 33 base 4 shift $ caps 4 ctrl 4 altg nop
863 key 34 base 5 shift % caps 5 ctrl 5 altg nop
864 key 35 base 6 shift ^ caps 6 ctrl ^^ altg nop
865 key 36 base 7 shift & caps 7 ctrl 7 altg nop
866 key 37 base 8 shift * caps 8 ctrl 8 altg nop
867 key 38 base 9 shift ( caps 9 ctrl 9 altg nop
868 key 39 base 0 shift ) caps 0 ctrl 0 altg nop
869 key 40 base - shift _ caps - ctrl ^_ altg nop
870 key 41 base = shift + caps = ctrl = altg nop
871 key 42 base ` shift ~ caps ` ctrl ^^ altg nop
874 key 45 all rf(4) numl padequal
875 key 46 all rf(5) numl padslash
876 key 47 all rf(6) numl padstar
879 key 50 all bf(10) numl padequal
883 key 54 base q shift Q caps Q ctrl ^Q altg nop
884 key 55 base w shift W caps W ctrl ^W altg nop
885 key 56 base e shift E caps E ctrl ^E altg nop
886 key 57 base r shift R caps R ctrl ^R altg nop
887 key 58 base t shift T caps T ctrl ^T altg nop
888 key 59 base y shift Y caps Y ctrl ^Y altg nop
889 key 60 base u shift U caps U ctrl ^U altg nop
890 key 61 base i shift I caps I ctrl '\et' altg nop
891 key 62 base o shift O caps O ctrl ^O altg nop
892 key 63 base p shift P caps P ctrl ^P altg nop
893 key 64 base [ shift { caps [ ctrl ^[ altg nop
894 key 65 base ] shift } caps ] ctrl ^] altg nop
897 key 68 all rf(7) numl pad7
898 key 69 all rf(8) numl pad8
899 key 70 all rf(9) numl pad9
900 key 71 all bf(15) numl padminus
905 key 76 all shiftkeys+leftctrl up shiftkeys+leftctrl
906 key 77 base a shift A caps A ctrl ^A altg nop
907 key 78 base s shift S caps S ctrl ^S altg nop
908 key 79 base d shift D caps D ctrl ^D altg nop
909 key 80 base f shift F caps F ctrl ^F altg nop
910 key 81 base g shift G caps G ctrl ^G altg nop
911 key 82 base h shift H caps H ctrl '\eb' altg nop
912 key 83 base j shift J caps J ctrl '\en' altg nop
913 key 84 base k shift K caps K ctrl '\ev' altg nop
914 key 85 base l shift L caps L ctrl ^L altg nop
915 key 86 base ; shift : caps ; ctrl ; altg nop
916 key 87 base '\e'' shift '"' caps '\e'' ctrl '\e'' altg nop
917 key 88 base '\e\e' shift | caps '\e\e' ctrl ^\e altg nop
919 key 90 all bf(11) numl padenter
920 key 91 all rf(10) numl pad4
921 key 92 all rf(11) numl pad5
922 key 93 all rf(12) numl pad6
923 key 94 all bf(8) numl pad0
927 key 98 all shiftkeys+numlock
928 key 99 all shiftkeys+leftshift up shiftkeys+leftshift
929 key 100 base z shift Z caps Z ctrl ^Z altg nop
930 key 101 base x shift X caps X ctrl ^X altg nop
931 key 102 base c shift C caps C ctrl ^C altg nop
932 key 103 base v shift V caps V ctrl ^V altg nop
933 key 104 base b shift B caps B ctrl ^B altg nop
934 key 105 base n shift N caps N ctrl ^N altg nop
935 key 106 base m shift M caps M ctrl '\er' altg nop
936 key 107 base , shift < caps , ctrl , altg nop
937 key 108 base . shift > caps . ctrl . altg nop
938 key 109 base / shift ? caps / ctrl ^_ altg nop
939 key 110 all shiftkeys+rightshift up shiftkeys+rightshift
941 key 112 all rf(13) numl pad1
942 key 113 all rf(14) numl pad2
943 key 114 all rf(15) numl pad3
948 key 119 all shiftkeys+capslock
949 key 120 all buckybits+metabit up buckybits+metabit
950 key 121 base ' ' shift ' ' caps ' ' ctrl ^@ altg ' '
951 key 122 all buckybits+metabit up buckybits+metabit
954 key 125 all bf(14) numl padplus
955 key 126 all error numl error up hole
956 key 127 all idle numl idle up reset