annotate man/mule/kbd-trans.texi @ 70:131b0175ea99 r20-0b30

Import from CVS: tag r20-0b30
author cvs
date Mon, 13 Aug 2007 09:02:59 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
1 \input texinfo @c -*-texinfo-*-
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
2 @setfilename ../info/kbd-trans
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
3 @settitle Keyboard translation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
4
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
5 @titlepage
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
6 @sp 6
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
7 @center @titlefont{Keyboard translation}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
8 @sp 4
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
9 @center Version 2.0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
10 @sp 5
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
11 @center Naoto TAKAHASHI
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
12 @center ntakahas@@etl.go.jp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
13 @page
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
14
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
15 @end titlepage
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
16
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
17 @node Top, , , (mule)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
18 @section Keyboard translation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
19
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
20 Some quail packages, for example, Russian, Greek, Hebrew, etc.,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
21 completely re-map the key layout. In these cases, it is desirable to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
22 provide the same key layout no matter what keyboard is actually used.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
23 For this purpose, a variable *quail-keyboard-translate-table* is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
24 introduced. It is used to absorb the differences between the various
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
25 real keyboards and the 'ideal' standard keyboard. Currently, 12
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
26 predefined constants are provided. See the following carefully and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
27 set the apropriate constant to @code{quail-keyboard-translate-table} in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
28 your @file{.emacs} file. For example, if you are using SUN type4 keyboard,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
29 put
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
30 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
31 (setq *quail-keyboard-translate-table*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
32 *quail-keyboard-translate-table-sun-type4*)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
33 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
34
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
35 in your .emacs.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
36
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
37 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
38 * Keyboard translate tables::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
39 * Writing new keyboard translate table::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
40 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
41
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
42 @node Keyboard translate tables, Writing new keyboard translate table, , Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
43 @section Predefined keyboard translate tables
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
44
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
45 Here's a list of predefined keyboard translate tables.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
46
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
47 If you don't find your keyboard in the following list, make yours by
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
48 yourself @xref{Writing new keyboard translate table}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
49
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
50 @itemize
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
51 @item @code{quail-keyboard-standard-table}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
52 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
53 machines: vt100, etc.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
54
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
55 [unshifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
56
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
57 Esc 1 2 3 4 5 6 7 8 9 0 - = `
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
58 q w e r t y u i o p [ ]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
59 a s d f g h j k l ; ' \
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
60 z x c v b n m , . /
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
61 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
62
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
63 [shifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
64
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
65 Esc ! @ # $ % ^ & * ( ) _ + ~
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
66 Q W E R T Y U I O P { }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
67 A S D F G H J K L : " |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
68 Z X C V B N M < > ?
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
69 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
70 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
71
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
72 @item @code{quail-keyboard-translate-table-sun-type3}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
73 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
74 machines: SUN type3 keyboard
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
75 SUN type5 keyboard
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
76 TAKAOKA XMiNT (AX keyboard)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
77 JCC Xstation / GloabalX (AX keyboard)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
78
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
79 [unshifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
80
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
81 Esc 1 2 3 4 5 6 7 8 9 0 - = \ `
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
82 q w e r t y u i o p [ ]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
83 a s d f g h j k l ; '
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
84 z x c v b n m , . /
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
85 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
86
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
87 [shifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
88
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
89 Esc ! @ # $ % ^ & * ( ) _ + | ~
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
90 Q W E R T Y U I O P { }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
91 A S D F G H J K L : "
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
92 Z X C V B N M < > ?
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
93 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
94 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
95
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
96 @item @code{quail-keyboard-translate-table-sun-type4}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
97 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
98 machines: SUN type4 keyboard
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
99
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
100 [unshifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
101
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
102 \
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
103 Esc 1 2 3 4 5 6 7 8 9 0 - =
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
104 q w e r t y u i o p [ ]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
105 a s d f g h j k l ; ' `
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
106 z x c v b n m , . /
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
107 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
108
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
109 [shifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
110
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
111 |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
112 Esc ! @ # $ % ^ & * ( ) _ +
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
113 Q W E R T Y U I O P { }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
114 A S D F G H J K L : " ~
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
115 Z X C V B N M < > ?
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
116 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
117 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
118
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
119 @item @code{quail-keyboard-translate-table-sony-nwp-411a}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
120 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
121 machines: NEWS-3470
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
122
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
123 [unshifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
124
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
125 Esc 1 2 3 4 5 6 7 8 9 0 - = \
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
126 q w e r t y u i o p [ ]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
127 a s d f g h j k l ; ' `
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
128 z x c v b n m , . /
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
129 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
130
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
131 [shifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
132
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
133 Esc ! @ # $ % ^ & * ( ) _ + |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
134 Q W E R T Y U I O P { }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
135 A S D F G H J K L : " ~
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
136 Z X C V B N M < > ?
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
137 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
138 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
139
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
140 @item @code{quail-keyboard-translate-table-ibm-at}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
141 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
142 machines: IBM AT keyboard
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
143
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
144 [unshifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
145
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
146 ` 1 2 3 4 5 6 7 8 9 0 - = \
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
147 q w e r t y u i o p [ ]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
148 a s d f g h j k l ; '
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
149 z x c v b n m , . /
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
150 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
151
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
152 [shifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
153
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
154 ~ ! @ # $ % ^ & * ( ) _ + |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
155 Q W E R T Y U I O P { }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
156 A S D F G H J K L : "
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
157 Z X C V B N M < > ?
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
158 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
159 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
160
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
161 @item @code{quail-keyboard-translate-table-ibm-rt/pc}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
162 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
163 machines: IBM RT/PC 5085 keyboard
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
164 RS6000 (English keyboard)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
165 Apple Macintosh MO115 keyboard / Power Book
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
166 SGI Iris Indigo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
167
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
168 [unshifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
169
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
170 ` 1 2 3 4 5 6 7 8 9 0 - =
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
171 q w e r t y u i o p [ ] \
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
172 a s d f g h j k l ; '
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
173 z x c v b n m , . /
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
174 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
175
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
176 [shifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
177
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
178 ~ ! @ # $ % ^ & * ( ) _ +
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
179 Q W E R T Y U I O P { } |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
180 A S D F G H J K L : "
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
181 Z X C V B N M < > ?
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
182 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
183 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
184
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
185 @item @code{quail-keyboard-translate-table-decstation}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
186 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
187 machines: DEC DECstation3100 LK201 keyboard (vt100 mode)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
188 DEC DECstation3100 LK401-AJ keyboard (vt100 mode)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
189
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
190 [unshifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
191
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
192 1 2 3 4 5 6 7 8 9 0 - =
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
193 q w e r t y u i o p [ ]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
194 a s d f g h j k l ; ' \
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
195 ` z x c v b n m , . /
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
196 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
197
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
198 [shifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
199
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
200 ! @ # $ % ^ & * ( ) _ +
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
201 Q W E R T Y U I O P { }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
202 A S D F G H J K L : " |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
203 ~ Z X C V B N M < > ?
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
204 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
205 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
206
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
207 @item @code{quail-keyboard-translate-table-dynabook}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
208 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
209 machines: TOSHIBA Dynabook386/20 keyboard
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
210
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
211 [unshifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
212
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
213 1 2 3 4 5 6 7 8 9 0 - =
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
214 q w e r t y u i o p [ ]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
215 a s d f g h j k l ; '
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
216 z x c v b n m , . /
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
217 \ SPACE `
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
218
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
219 [shifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
220
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
221 ! @ # $ % ^ & * ( ) _ +
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
222 Q W E R T Y U I O P { }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
223 A S D F G H J K L : "
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
224 Z X C V B N M < > ?
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
225 | SPACE ~
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
226 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
227
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
228 @item @code{quail-keyboard-translate-table-mac-mo110}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
229 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
230 machines: Apple Macintosh MO110 keyboard
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
231
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
232 [unshifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
233
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
234 ` 1 2 3 4 5 6 7 8 9 0 - =
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
235 q w e r t y u i o p [ ]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
236 a s d f g h j k l ; '
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
237 z x c v b n m , . /
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
238 SPACE \
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
239
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
240 [shifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
241
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
242 ~ ! @ # $ % ^ & * ( ) _ +
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
243 Q W E R T Y U I O P { }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
244 A S D F G H J K L : "
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
245 Z X C V B N M < > ?
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
246 SPACE |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
247 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
248
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
249 @item @code{quail-keyboard-translate-table-mac-mo116}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
250 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
251 machines: Apple Macintosh MO116 keyboard
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
252
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
253 [unshifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
254
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
255 Esc 1 2 3 4 5 6 7 8 9 0 - =
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
256 q w e r t y u i o p [ ]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
257 a s d f g h j k l ; '
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
258 z x c v b n m , . /
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
259 ` SPACE \
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
260
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
261 [shifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
262
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
263 Esc ! @ # $ % ^ & * ( ) _ +
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
264 Q W E R T Y U I O P { }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
265 A S D F G H J K L : "
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
266 Z X C V B N M < > ?
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
267 ~ SPACE |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
268 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
269
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
270 @item @code{quail-keyboard-translate-table-jis}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
271 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
272 machines: NEC PC-9801 keyboard
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
273 NEC EWS4800/220, /260
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
274 EPSON PC-286 keyboard
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
275
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
276 [unshifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
277
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
278 Esc 1 2 3 4 5 6 7 8 9 0 - ^ \
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
279 q w e r t y u i o p @ [
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
280 a s d f g h j k l ; : ]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
281 z x c v b n m , . /
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
282 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
283
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
284 [shifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
285
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
286 Esc ! " # $ % & ' ( ) 0 = ` |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
287 Q W E R T Y U I O P ~ {
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
288 A S D F G H J K L + * }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
289 Z X C V B N M < > ? _
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
290 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
291 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
292
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
293 @item @code{quail-keyboard-translate-table-fujitsu-sigma-230}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
294 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
295 machines: Fujitsu Sigma 230
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
296
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
297 [unshifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
298
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
299 Esc 1 2 3 4 5 6 7 8 9 0 - ^ \
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
300 q w e r t y u i o p @ [
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
301 a s d f g h j k l ; : ]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
302 z x c v b n m , . /
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
303 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
304
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
305 [shifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
306
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
307 Esc ! " # $ % & ' ( ) 0 = ~ |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
308 Q W E R T Y U I O P ` {
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
309 A S D F G H J K L + * }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
310 Z X C V B N M < > ? _
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
311 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
312 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
313 @end itemize
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
314
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
315 @node Writing new keyboard translate table, , Keyboard translate tables, Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
316 @section Writing new keyboard translate table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
317
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
318 @code{quail-keyboard-translate-table} consists of two parts. One is a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
319 string and the other is an a-list. The string part, which is the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
320 @code{car} (or @code{nth 0}) of this variable, describes the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
321 `normalised' layout of your keyboard. (The meaning of 'normalised'
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
322 will soon be given.) The a-list part, which is the 'cadr' (or 'nth 1')
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
323 of the variable describes the 'unusually' located keys and their
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
324 position.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
325
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
326 Let's take IBM AT keyboard as an example. It looks like this:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
327
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
328 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
329 [AT unshifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
330
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
331 ` 1 2 3 4 5 6 7 8 9 0 - = \
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
332 q w e r t y u i o p [ ]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
333 a s d f g h j k l ; '
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
334 z x c v b n m , . /
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
335 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
336
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
337 [AT shifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
338
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
339 ~ ! @ # $ % ^ & * ( ) _ + |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
340 Q W E R T Y U I O P { }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
341 A S D F G H J K L : "
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
342 Z X C V B N M < > ?
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
343 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
344 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
345
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
346 First, normalise the layout of the keyboard. 'To normalise' means 'to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
347 move some keys so that the number of columns and the number of rows
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
348 will match those of @code{quail-keyboard-standard-table}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
349
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
350 @code{quail-keyboard-standard-table} looks like this:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
351
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
352 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
353 [STANDARD unshifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
354
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
355 1 2 3 4 5 6 7 8 9 0 - = `
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
356 q w e r t y u i o p [ ]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
357 a s d f g h j k l ; ' \
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
358 z x c v b n m , . /
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
359 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
360
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
361 [STANDARD shifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
362
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
363 ! @ # $ % ^ & * ( ) _ + ~
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
364 Q W E R T Y U I O P { }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
365 A S D F G H J K L : " |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
366 Z X C V B N M < > ?
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
367 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
368 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
369
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
370 Note that @code{quail-keyboard-standard-table} has no keys left to the 1!
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
371 key. It has;
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
372 @enumerate
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
373 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
374 13 keys at the top row, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
375 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
376 12 keys at the 2nd row, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
377 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
378 12 keys at the 3rd row, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
379 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
380 10 keys at the 4th row, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
381 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
382 1 space bar at the bottom.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
383 @end enumerate
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
384
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
385 To normalise the AT keyboard, it is necessary to move the `~ key to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
386 the right end of the 3rd row.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
387
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
388 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
389 [AT normalised unshifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
390
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
391 1 2 3 4 5 6 7 8 9 0 - = \
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
392 q w e r t y u i o p [ ]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
393 a s d f g h j k l ; ' `
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
394 z x c v b n m , . /
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
395 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
396
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
397 [AT normalised shifted]
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
398
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
399 ! @ # $ % ^ & * ( ) _ + |
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
400 Q W E R T Y U I O P { }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
401 A S D F G H J K L : " ~
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
402 Z X C V B N M < > ?
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
403 SPACE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
404 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
405
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
406 Now describe this layout by a string from left to right, up to down,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
407 unshifted to shifted. Unshifted space should be appended at the end
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
408 of the string. There's no shifted space. The resulting string looks
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
409 like this:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
410
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
411 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
412 "1234567890-=\\qwertyuiop[]asdfghjkl;'`zxcvbnm,./!@@#$%^&*()_+|QWERTYUIOP@{@}ASDFGHJKL:\"~ZXCVBNM<>? "
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
413 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
414
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
415 Note that '"' (double quote) and '\' (backslash) must be escaped by a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
416 '\'. This string will be the 'car' of *quail-keyboard-translate-table*.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
417
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
418 Next, specify the real location of the moved characters. In our
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
419 example only one KEY (`~) is moved, but this causes two CHARACTERs to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
420 be moved.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
421
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
422 The location should be given by a vector of the form:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
423 @quotation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
424 @code{[ x-position y-position shift-or-not ]}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
425 @end quotation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
426
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
427 For the keys in the first row, x-position means the offset from the 1!
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
428 key. For example, the x-position of '2' is 1, that of '3' is 2, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
429 that of '=' is 11. That of '1' itself is 0. In IBM AT keyboard, '`'
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
430 and '~' locate to the left of the 1! key, so their x-position will
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
431 be -1.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
432
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
433 For the keys in the 2nd, the 3rd, and the bottom row, their x-position
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
434 will be the offset from 'q', 'a', and 'z', respectively.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
435
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
436 The y-position is the offset from the top row (i.e. the row which
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
437 contains 1234...). So the y-position of '5' is 0, 't' is 1, 'g' is 2,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
438 and 'b' is 3. Keys above the top row will have a negative y-position.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
439
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
440 The third element shift-or-not is 0 if not shifted, and 1 if shifted.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
441
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
442 So, the real location of '`' in the AT keyboard will be [-1 0 0] and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
443 that of '~' will be [-1 0 1]. These two locations will be coded into
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
444 an a-list together with the characters they are presenting:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
445
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
446 '((?` [-1 0 0]) (?~ [-1 0 1]))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
447
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
448 Now we have both the string part and the a-list part. So the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
449 *quail-keyboard-translate-table* for IBM AT keyboard will be as
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
450 follows.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
451 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
452 '("1234567890-=\\qwertyuiop[]asdfghjkl;'`zxcvbnm,./!@@#$%^&*()_+|QWERTYUIOP@{@}ASDFGHJKL:\"~ZXCVBNM<>?" ((?` [-1 0 0]) (?~ [-1 0 1])))}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
453 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
454 When you put these beasts in your .emacs, it would be better to divide
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
455 the string part according to the rows so that you can check easily.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
456
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
457 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
458 (setq *quail-keyboard-translate-table* '("\
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
459 1234567890-=\\\
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
460 qwertyuiop[]\
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
461 asdfghjkl;'`\
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
462 zxcvbnm,./\
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
463 !@@#$%^&*()_+|\
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
464 QWERTYUIOP@{@}\
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
465 ASDFGHJKL:\"~\
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
466 ZXCVBNM<>?\
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
467 "
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
468 ((?` [-1 0 0]) (?~ [-1 0 1]))))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
469 }
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
470 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
471
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
472
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
473 @contents
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents:
diff changeset
474 @bye