Mercurial > hg > xemacs-beta
comparison lisp/x11/x-compose.el @ 48:56c54cf7c5b6 r19-16b90
Import from CVS: tag r19-16b90
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:56:04 +0200 |
parents | 9ee227acff29 |
children | ee648375d8d6 |
comparison
equal
deleted
inserted
replaced
47:11c6df210d7f | 48:56c54cf7c5b6 |
---|---|
1 ;; Compose-key processing in emacs. | 1 ;; Compose-key processing in emacs. |
2 ;; Copyright (C) 1992, 1993 Free Software Foundation, Inc. | 2 ;; Copyright (C) 1992, 1993, 1997 Free Software Foundation, Inc. |
3 | 3 |
4 ;; This file is part of XEmacs. | 4 ;; This file is part of XEmacs. |
5 | 5 |
6 ;; XEmacs is free software; you can redistribute it and/or modify it | 6 ;; XEmacs is free software; you can redistribute it and/or modify it |
7 ;; under the terms of the GNU General Public License as published by | 7 ;; under the terms of the GNU General Public License as published by |
16 ;; You should have received a copy of the GNU General Public License | 16 ;; You should have received a copy of the GNU General Public License |
17 ;; along with XEmacs; see the file COPYING. If not, write to the Free | 17 ;; along with XEmacs; see the file COPYING. If not, write to the Free |
18 ;; Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | 18 ;; Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. |
19 | 19 |
20 ;;; created by jwz, 14-jun-92. | 20 ;;; created by jwz, 14-jun-92. |
21 ;;; changed by Heiko Muenkel, 11-jun-97: Fixed the degree bug. | |
22 ;;; changed by Jan Vroonhof, July 1997: Use function-key-map instead | |
23 ;;; of global map. | |
24 ;;; Preliminary support for | |
25 ;;; XFree86 deadkeys | |
26 ;;; , August 1997 allow : for diaresis like xlib | |
21 | 27 |
22 ;;; This file implements DEC-, OpenWindows-, and HP-compatible "Compose" | 28 ;;; This file implements DEC-, OpenWindows-, and HP-compatible "Compose" |
23 ;;; processing for XEmacs. | 29 ;;; processing for XEmacs. |
24 ;;; | 30 ;;; |
25 ;;; If you are running a version of X which already does compose processing, | 31 ;;; If you are running a version of X which already does compose processing, |
92 (defvar compose-tilde-map (make-sparse-keymap)) | 98 (defvar compose-tilde-map (make-sparse-keymap)) |
93 (defvar compose-ring-map (make-sparse-keymap)) | 99 (defvar compose-ring-map (make-sparse-keymap)) |
94 | 100 |
95 ;;; The command `compose-key' exists so that this file may be autoloaded. | 101 ;;; The command `compose-key' exists so that this file may be autoloaded. |
96 ;;;this doesn't work yet###autoload | 102 ;;;this doesn't work yet###autoload |
97 (define-function 'compose-key compose-map) | 103 ;; (define-function 'compose-key compose-map) |
98 | 104 |
99 ;; The "Compose" key: | 105 ;; The "Compose" key: |
100 ;; (keysym is lower case because we downcase everything in the Symbol font...) | 106 ;; (keysym is lower case because we downcase everything in the Symbol font...) |
101 ;; | 107 ;; |
102 ;;;this doesn't work yet###autoload | 108 ;;;this doesn't work yet###autoload |
103 (define-key global-map [multi-key] 'compose-key) | 109 ;; Ditched JV, (define-key function-key-map [multi-key] 'compose-key) |
110 (define-key function-key-map [multi-key] compose-map) | |
111 | |
112 ;; The following is necessary, because one can't rebind [degree] | |
113 ;; and use it to insert the degree sign! | |
114 (defun compose-insert-degree () | |
115 "Inserts a degree sign." | |
116 (interactive) | |
117 (insert ?\260)) | |
104 | 118 |
105 ;; The "Dead" keys: | 119 ;; The "Dead" keys: |
106 ;; | 120 ;; |
107 (define-key global-map [acute] compose-acute-map) | 121 (define-key function-key-map [acute] compose-acute-map) |
108 (define-key global-map [cedilla] compose-cedilla-map) | 122 (define-key function-key-map [cedilla] compose-cedilla-map) |
109 (define-key global-map [diaeresis] compose-diaeresis-map) | 123 (define-key function-key-map [diaeresis] compose-diaeresis-map) |
110 (define-key global-map [degree] compose-ring-map) | 124 (define-key function-key-map [degree] compose-ring-map) |
111 | 125 |
112 ;; The dead keys as seen by the "Compose" map: | 126 ;; The dead keys as seen by the "Compose" map: |
113 ;; | 127 ;; |
114 (define-key compose-map [acute] compose-acute-map) | 128 (define-key compose-map [acute] compose-acute-map) |
115 (define-key compose-map [cedilla] compose-cedilla-map) | 129 (define-key compose-map [cedilla] compose-cedilla-map) |
118 | 132 |
119 (define-key compose-map "'" compose-acute-map) | 133 (define-key compose-map "'" compose-acute-map) |
120 (define-key compose-map "`" compose-grave-map) | 134 (define-key compose-map "`" compose-grave-map) |
121 (define-key compose-map "," compose-cedilla-map) | 135 (define-key compose-map "," compose-cedilla-map) |
122 (define-key compose-map "\"" compose-diaeresis-map) | 136 (define-key compose-map "\"" compose-diaeresis-map) |
137 (define-key compose-map ":" compose-diaeresis-map) | |
123 (define-key compose-map "^" compose-circumflex-map) | 138 (define-key compose-map "^" compose-circumflex-map) |
124 (define-key compose-map "~" compose-tilde-map) | 139 (define-key compose-map "~" compose-tilde-map) |
125 (define-key compose-map "*" compose-ring-map) | 140 (define-key compose-map "*" compose-ring-map) |
126 | 141 |
127 | 142 |
141 ;;; mixed up view of what these keys should be called. | 156 ;;; mixed up view of what these keys should be called. |
142 | 157 |
143 ;; Sun according to MIT: | 158 ;; Sun according to MIT: |
144 ;; | 159 ;; |
145 (cond ((x-valid-keysym-name-p "SunFA_Acute") | 160 (cond ((x-valid-keysym-name-p "SunFA_Acute") |
146 (define-key global-map [SunFA_Acute] compose-acute-map) | 161 (define-key function-key-map [SunFA_Acute] |
162 compose-acute-map) | |
147 (define-key compose-map [SunFA_Acute] compose-acute-map) | 163 (define-key compose-map [SunFA_Acute] compose-acute-map) |
148 (define-key global-map [SunFA_Grave] compose-grave-map) | 164 (define-key function-key-map [SunFA_Grave] |
165 compose-grave-map) | |
149 (define-key compose-map [SunFA_Grave] compose-grave-map) | 166 (define-key compose-map [SunFA_Grave] compose-grave-map) |
150 (define-key global-map [SunFA_Cedilla] compose-cedilla-map) | 167 (define-key function-key-map [SunFA_Cedilla] |
168 compose-cedilla-map) | |
151 (define-key compose-map [SunFA_Cedilla] compose-cedilla-map) | 169 (define-key compose-map [SunFA_Cedilla] compose-cedilla-map) |
152 (define-key global-map [SunFA_Diaeresis] compose-diaeresis-map) | 170 (define-key function-key-map [SunFA_Diaeresis] compose-diaeresis-map) |
153 (define-key compose-map [SunFA_Diaeresis] compose-diaeresis-map) | 171 (define-key compose-map [SunFA_Diaeresis] compose-diaeresis-map) |
154 (define-key global-map [SunFA_Circum] compose-circumflex-map) | 172 (define-key function-key-map [SunFA_Circum] |
173 compose-circumflex-map) | |
155 (define-key compose-map [SunFA_Circum] compose-circumflex-map) | 174 (define-key compose-map [SunFA_Circum] compose-circumflex-map) |
156 (define-key global-map [SunFA_Tilde] compose-tilde-map) | 175 (define-key function-key-map [SunFA_Tilde] |
176 compose-tilde-map) | |
157 (define-key compose-map [SunFA_Tilde] compose-tilde-map) | 177 (define-key compose-map [SunFA_Tilde] compose-tilde-map) |
158 )) | 178 )) |
159 | 179 |
160 ;; Sun according to OpenWindows 2: | 180 ;; Sun according to OpenWindows 2: |
161 ;; | 181 ;; |
162 (cond ((x-valid-keysym-name-p "Dead_Grave") | 182 (cond ((x-valid-keysym-name-p "Dead_Grave") |
163 (define-key global-map [Dead_Grave] compose-grave-map) | 183 (define-key function-key-map [Dead_Grave] |
184 compose-grave-map) | |
164 (define-key compose-map [Dead_Grave] compose-grave-map) | 185 (define-key compose-map [Dead_Grave] compose-grave-map) |
165 (define-key global-map [Dead_Circum] compose-circumflex-map) | 186 (define-key function-key-map [Dead_Circum] |
187 compose-circumflex-map) | |
166 (define-key compose-map [Dead_Circum] compose-circumflex-map) | 188 (define-key compose-map [Dead_Circum] compose-circumflex-map) |
167 (define-key global-map [Dead_Tilde] compose-tilde-map) | 189 (define-key function-key-map [Dead_Tilde] |
190 compose-tilde-map) | |
168 (define-key compose-map [Dead_Tilde] compose-tilde-map) | 191 (define-key compose-map [Dead_Tilde] compose-tilde-map) |
169 )) | 192 )) |
170 | 193 |
171 ;; Sun according to OpenWindows 3: | 194 ;; Sun according to OpenWindows 3: |
172 ;; | 195 ;; |
173 (cond ((x-valid-keysym-name-p "SunXK_FA_Acute") | 196 (cond ((x-valid-keysym-name-p "SunXK_FA_Acute") |
174 (define-key global-map [SunXK_FA_Acute] compose-acute-map) | 197 (define-key function-key-map [SunXK_FA_Acute] |
198 compose-acute-map) | |
175 (define-key compose-map [SunXK_FA_Acute] compose-acute-map) | 199 (define-key compose-map [SunXK_FA_Acute] compose-acute-map) |
176 (define-key global-map [SunXK_FA_Grave] compose-grave-map) | 200 (define-key function-key-map [SunXK_FA_Grave] |
201 compose-grave-map) | |
177 (define-key compose-map [SunXK_FA_Grave] compose-grave-map) | 202 (define-key compose-map [SunXK_FA_Grave] compose-grave-map) |
178 (define-key global-map [SunXK_FA_Cedilla] compose-cedilla-map) | 203 (define-key function-key-map [SunXK_FA_Cedilla] compose-cedilla-map) |
179 (define-key compose-map [SunXK_FA_Cedilla] compose-cedilla-map) | 204 (define-key compose-map [SunXK_FA_Cedilla] compose-cedilla-map) |
180 (define-key global-map [SunXK_FA_Diaeresis] compose-diaeresis-map) | 205 (define-key function-key-map [SunXK_FA_Diaeresis] |
206 compose-diaeresis-map) | |
181 (define-key compose-map [SunXK_FA_Diaeresis] compose-diaeresis-map) | 207 (define-key compose-map [SunXK_FA_Diaeresis] compose-diaeresis-map) |
182 (define-key global-map [SunXK_FA_Circum] compose-circumflex-map) | 208 (define-key function-key-map [SunXK_FA_Circum] compose-circumflex-map) |
183 (define-key compose-map [SunXK_FA_Circum] compose-circumflex-map) | 209 (define-key compose-map [SunXK_FA_Circum] compose-circumflex-map) |
184 (define-key global-map [SunXK_FA_Tilde] compose-tilde-map) | 210 (define-key function-key-map [SunXK_FA_Tilde] |
211 compose-tilde-map) | |
185 (define-key compose-map [SunXK_FA_Tilde] compose-tilde-map) | 212 (define-key compose-map [SunXK_FA_Tilde] compose-tilde-map) |
186 )) | 213 )) |
187 | 214 |
188 ;; DEC according to MIT: | 215 ;; DEC according to MIT: |
189 ;; | 216 ;; |
190 (cond ((x-valid-keysym-name-p "Dacute_accent") | 217 (cond ((x-valid-keysym-name-p "Dacute_accent") |
191 (define-key global-map [Dacute_accent] compose-acute-map) | 218 (define-key function-key-map [Dacute_accent] |
219 compose-acute-map) | |
192 (define-key compose-map [Dacute_accent] compose-acute-map) | 220 (define-key compose-map [Dacute_accent] compose-acute-map) |
193 (define-key global-map [Dgrave_accent] compose-grave-map) | 221 (define-key function-key-map [Dgrave_accent] |
222 compose-grave-map) | |
194 (define-key compose-map [Dgrave_accent] compose-grave-map) | 223 (define-key compose-map [Dgrave_accent] compose-grave-map) |
195 (define-key global-map [Dcedilla_accent] compose-cedilla-map) | 224 (define-key function-key-map [Dcedilla_accent] compose-cedilla-map) |
196 (define-key compose-map [Dcedilla_accent] compose-cedilla-map) | 225 (define-key compose-map [Dcedilla_accent] compose-cedilla-map) |
197 (define-key global-map [Dcircumflex_accent] compose-circumflex-map) | 226 (define-key function-key-map [Dcircumflex_accent] |
227 compose-circumflex-map) | |
198 (define-key compose-map [Dcircumflex_accent] compose-circumflex-map) | 228 (define-key compose-map [Dcircumflex_accent] compose-circumflex-map) |
199 (define-key global-map [Dtilde] compose-tilde-map) | 229 (define-key function-key-map [Dtilde] |
230 compose-tilde-map) | |
200 (define-key compose-map [Dtilde] compose-tilde-map) | 231 (define-key compose-map [Dtilde] compose-tilde-map) |
201 (define-key global-map [Dring_accent] compose-ring-map) | 232 (define-key function-key-map [Dring_accent] |
233 compose-ring-map) | |
202 (define-key compose-map [Dring_accent] compose-ring-map) | 234 (define-key compose-map [Dring_accent] compose-ring-map) |
203 )) | 235 )) |
204 | 236 |
205 ;; DEC according to OpenWindows 3: | 237 ;; DEC according to OpenWindows 3: |
206 ;; | 238 ;; |
207 (cond ((x-valid-keysym-name-p "DXK_acute_accent") | 239 (cond ((x-valid-keysym-name-p "DXK_acute_accent") |
208 (define-key global-map [DXK_acute_accent] compose-acute-map) | 240 (define-key function-key-map [DXK_acute_accent] compose-acute-map) |
209 (define-key compose-map [DXK_acute_accent] compose-acute-map) | 241 (define-key compose-map [DXK_acute_accent] compose-acute-map) |
210 (define-key global-map [DXK_grave_accent] compose-grave-map) | 242 (define-key function-key-map [DXK_grave_accent] compose-grave-map) |
211 (define-key compose-map [DXK_grave_accent] compose-grave-map) | 243 (define-key compose-map [DXK_grave_accent] compose-grave-map) |
212 (define-key global-map [DXK_cedilla_accent] compose-cedilla-map) | 244 (define-key function-key-map [DXK_cedilla_accent] |
245 compose-cedilla-map) | |
213 (define-key compose-map [DXK_cedilla_accent] compose-cedilla-map) | 246 (define-key compose-map [DXK_cedilla_accent] compose-cedilla-map) |
214 (define-key global-map [DXK_circumflex_accent] compose-circumflex-map) | 247 (define-key function-key-map [DXK_circumflex_accent] |
248 compose-circumflex-map) | |
215 (define-key compose-map [DXK_circumflex_accent] compose-circumflex-map) | 249 (define-key compose-map [DXK_circumflex_accent] compose-circumflex-map) |
216 (define-key global-map [DXK_tilde] compose-tilde-map) | 250 (define-key function-key-map [DXK_tilde] |
251 compose-tilde-map) | |
217 (define-key compose-map [DXK_tilde] compose-tilde-map) | 252 (define-key compose-map [DXK_tilde] compose-tilde-map) |
218 (define-key global-map [DXK_ring_accent] compose-ring-map) | 253 (define-key function-key-map [DXK_ring_accent] compose-ring-map) |
219 (define-key compose-map [DXK_ring_accent] compose-ring-map) | 254 (define-key compose-map [DXK_ring_accent] compose-ring-map) |
220 )) | 255 )) |
221 | 256 |
222 ;; HP according to MIT: | 257 ;; HP according to MIT: |
223 ;; | 258 ;; |
224 (cond ((x-valid-keysym-name-p "hpmute_acute") | 259 (cond ((x-valid-keysym-name-p "hpmute_acute") |
225 (define-key global-map [hpmute_acute] compose-acute-map) | 260 (define-key function-key-map [hpmute_acute] |
261 compose-acute-map) | |
226 (define-key compose-map [hpmute_acute] compose-acute-map) | 262 (define-key compose-map [hpmute_acute] compose-acute-map) |
227 (define-key global-map [hpmute_grave] compose-grave-map) | 263 (define-key function-key-map [hpmute_grave] |
264 compose-grave-map) | |
228 (define-key compose-map [hpmute_grave] compose-grave-map) | 265 (define-key compose-map [hpmute_grave] compose-grave-map) |
229 (define-key global-map [hpmute_diaeresis] compose-diaeresis-map) | 266 (define-key function-key-map [hpmute_diaeresis] compose-diaeresis-map) |
230 (define-key compose-map [hpmute_diaeresis] compose-diaeresis-map) | 267 (define-key compose-map [hpmute_diaeresis] compose-diaeresis-map) |
231 (define-key global-map [hpmute_asciicircum] compose-circumflex-map) | 268 (define-key function-key-map [hpmute_asciicircum] |
269 compose-circumflex-map) | |
232 (define-key compose-map [hpmute_asciicircum] compose-circumflex-map) | 270 (define-key compose-map [hpmute_asciicircum] compose-circumflex-map) |
233 (define-key global-map [hpmute_asciitilde] compose-tilde-map) | 271 (define-key function-key-map [hpmute_asciitilde] |
272 compose-tilde-map) | |
234 (define-key compose-map [hpmute_asciitilde] compose-tilde-map) | 273 (define-key compose-map [hpmute_asciitilde] compose-tilde-map) |
235 )) | 274 )) |
236 | 275 |
237 ;; HP according to OpenWindows 3: | 276 ;; HP according to OpenWindows 3: |
238 ;; | 277 ;; |
239 (cond ((x-valid-keysym-name-p "hpXK_mute_acute") | 278 (cond ((x-valid-keysym-name-p "hpXK_mute_acute") |
240 (define-key global-map [hpXK_mute_acute] compose-acute-map) | 279 (define-key function-key-map [hpXK_mute_acute] compose-acute-map) |
241 (define-key compose-map [hpXK_mute_acute] compose-acute-map) | 280 (define-key compose-map [hpXK_mute_acute] compose-acute-map) |
242 (define-key global-map [hpXK_mute_grave] compose-grave-map) | 281 (define-key function-key-map [hpXK_mute_grave] compose-grave-map) |
243 (define-key compose-map [hpXK_mute_grave] compose-grave-map) | 282 (define-key compose-map [hpXK_mute_grave] compose-grave-map) |
244 (define-key global-map [hpXK_mute_diaeresis] compose-diaeresis-map) | 283 (define-key function-key-map [hpXK_mute_diaeresis] |
284 compose-diaeresis-map) | |
245 (define-key compose-map [hpXK_mute_diaeresis] compose-diaeresis-map) | 285 (define-key compose-map [hpXK_mute_diaeresis] compose-diaeresis-map) |
246 (define-key global-map [hpXK_mute_asciicircum] compose-circumflex-map) | 286 (define-key function-key-map [hpXK_mute_asciicircum] |
287 compose-circumflex-map) | |
247 (define-key compose-map [hpXK_mute_asciicircum] compose-circumflex-map) | 288 (define-key compose-map [hpXK_mute_asciicircum] compose-circumflex-map) |
248 (define-key global-map [hpXK_mute_asciitilde] compose-tilde-map) | 289 (define-key function-key-map [hpXK_mute_asciitilde] |
290 compose-tilde-map) | |
249 (define-key compose-map [hpXK_mute_asciitilde] compose-tilde-map) | 291 (define-key compose-map [hpXK_mute_asciitilde] compose-tilde-map) |
250 )) | 292 )) |
251 | 293 |
252 ;; HP according to HP-UX 8.0: | 294 ;; HP according to HP-UX 8.0: |
253 ;; | 295 ;; |
254 (cond ((x-valid-keysym-name-p "XK_mute_acute") | 296 (cond ((x-valid-keysym-name-p "XK_mute_acute") |
255 (define-key global-map [XK_mute_acute] compose-acute-map) | 297 (define-key function-key-map [XK_mute_acute] |
298 compose-acute-map) | |
256 (define-key compose-map [XK_mute_acute] compose-acute-map) | 299 (define-key compose-map [XK_mute_acute] compose-acute-map) |
257 (define-key global-map [XK_mute_grave] compose-grave-map) | 300 (define-key function-key-map [XK_mute_grave] |
301 compose-grave-map) | |
258 (define-key compose-map [XK_mute_grave] compose-grave-map) | 302 (define-key compose-map [XK_mute_grave] compose-grave-map) |
259 (define-key global-map [XK_mute_diaeresis] compose-diaeresis-map) | 303 (define-key function-key-map [XK_mute_diaeresis] |
304 compose-diaeresis-map) | |
260 (define-key compose-map [XK_mute_diaeresis] compose-diaeresis-map) | 305 (define-key compose-map [XK_mute_diaeresis] compose-diaeresis-map) |
261 (define-key global-map [XK_mute_asciicircum] compose-circumflex-map) | 306 (define-key function-key-map [XK_mute_asciicircum] |
307 compose-circumflex-map) | |
262 (define-key compose-map [XK_mute_asciicircum] compose-circumflex-map) | 308 (define-key compose-map [XK_mute_asciicircum] compose-circumflex-map) |
263 (define-key global-map [XK_mute_asciitilde] compose-tilde-map) | 309 (define-key function-key-map |
310 [XK_mute_asciitilde] compose-tilde-map) | |
264 (define-key compose-map [XK_mute_asciitilde] compose-tilde-map) | 311 (define-key compose-map [XK_mute_asciitilde] compose-tilde-map) |
265 )) | 312 )) |
313 ;; Xfree seems to use lower case and a hyphen | |
314 (cond ((x-valid-keysym-name-p "dead-tilde") | |
315 (define-key function-key-map [dead-acute] | |
316 compose-acute-map) | |
317 (define-key compose-map [dead-acute] compose-acute-map) | |
318 (define-key function-key-map [dead-grave] | |
319 compose-grave-map) | |
320 (define-key compose-map [dead-grave] compose-grave-map) | |
321 (define-key function-key-map [dead-cedilla] compose-cedilla-map) | |
322 (define-key compose-map [dead-cedilla] compose-cedilla-map) | |
323 (define-key function-key-map [dead_diaeresis] compose-diaeresis-map) | |
324 (define-key compose-map [dead-diaeresis] compose-diaeresis-map) | |
325 (define-key function-key-map [dead-circum] compose-circumflex-map) | |
326 (define-key compose-map [dead-circum] compose-circumflex-map) | |
327 (define-key function-key-map [dead-circumflex] compose-circumflex-map) | |
328 (define-key compose-map [dead-circumflex] compose-circumflex-map) | |
329 (define-key function-key-map [dead-tilde] | |
330 compose-tilde-map) | |
331 (define-key compose-map [dead-tilde] compose-tilde-map) | |
332 )) | |
333 ;; and AIX uses underscore, sigh.... | |
334 (cond ((x-valid-keysym-name-p "dead_tilde") | |
335 (define-key function-key-map [dead_acute] | |
336 compose-acute-map) | |
337 (define-key compose-map [dead_acute] compose-acute-map) | |
338 (define-key function-key-map [dead_grave] | |
339 compose-grave-map) | |
340 (define-key compose-map [dead_grave] compose-grave-map) | |
341 (define-key function-key-map [dead_cedilla] compose-cedilla-map) | |
342 (define-key compose-map [dead_cedilla] compose-cedilla-map) | |
343 (define-key function-key-map [dead_diaeresis] compose-diaeresis-map) | |
344 (define-key compose-map [dead_diaeresis] compose-diaeresis-map) | |
345 ; There seems to be several spellings for circumflex.... | |
346 (define-key function-key-map [dead_circum] compose-circumflex-map) | |
347 (define-key compose-map [dead_circum] compose-circumflex-map) | |
348 (define-key function-key-map [dead_circumflex] compose-circumflex-map) | |
349 (define-key compose-map [dead_circumflex] compose-circumflex-map) | |
350 (define-key function-key-map [dead_tilde] | |
351 compose-tilde-map) | |
352 (define-key compose-map [dead_tilde] compose-tilde-map) | |
353 )) | |
354 | |
355 | |
266 | 356 |
267 ;;; The contents of the "dead key" maps. These are shared by the | 357 ;;; The contents of the "dead key" maps. These are shared by the |
268 ;;; compose-map. | 358 ;;; compose-map. |
269 | 359 |
270 (set-keymap-name compose-acute-map 'compose-acute-map) | 360 (set-keymap-name compose-acute-map 'compose-acute-map) |
282 (define-key compose-acute-map "o" [oacute]) | 372 (define-key compose-acute-map "o" [oacute]) |
283 (define-key compose-acute-map "u" [uacute]) | 373 (define-key compose-acute-map "u" [uacute]) |
284 (define-key compose-acute-map "y" [yacute]) | 374 (define-key compose-acute-map "y" [yacute]) |
285 | 375 |
286 (set-keymap-name compose-grave-map 'compose-grave-map) | 376 (set-keymap-name compose-grave-map 'compose-grave-map) |
287 (define-key compose-grave-map " " [grave]) | 377 (define-key compose-grave-map " " "`") |
378 (define-key compose-grave-map "`" [grave]) | |
288 (define-key compose-grave-map "A" [Agrave]) | 379 (define-key compose-grave-map "A" [Agrave]) |
289 (define-key compose-grave-map "E" [Egrave]) | 380 (define-key compose-grave-map "E" [Egrave]) |
290 (define-key compose-grave-map "I" [Igrave]) | 381 (define-key compose-grave-map "I" [Igrave]) |
291 (define-key compose-grave-map "O" [Ograve]) | 382 (define-key compose-grave-map "O" [Ograve]) |
292 (define-key compose-grave-map "U" [Ugrave]) | 383 (define-key compose-grave-map "U" [Ugrave]) |
295 (define-key compose-grave-map "i" [igrave]) | 386 (define-key compose-grave-map "i" [igrave]) |
296 (define-key compose-grave-map "o" [ograve]) | 387 (define-key compose-grave-map "o" [ograve]) |
297 (define-key compose-grave-map "u" [ugrave]) | 388 (define-key compose-grave-map "u" [ugrave]) |
298 | 389 |
299 (set-keymap-name compose-cedilla-map 'compose-cedilla-map) | 390 (set-keymap-name compose-cedilla-map 'compose-cedilla-map) |
391 (define-key compose-cedilla-map " " ",") | |
300 (define-key compose-cedilla-map "," [cedilla]) | 392 (define-key compose-cedilla-map "," [cedilla]) |
301 (define-key compose-cedilla-map "C" [Ccedilla]) | 393 (define-key compose-cedilla-map "C" [Ccedilla]) |
302 (define-key compose-cedilla-map "c" [ccedilla]) | 394 (define-key compose-cedilla-map "c" [ccedilla]) |
303 | 395 |
304 (set-keymap-name compose-diaeresis-map 'compose-diaeresis-map) | 396 (set-keymap-name compose-diaeresis-map 'compose-diaeresis-map) |
305 (define-key compose-diaeresis-map " " [diaeresis]) | 397 (define-key compose-diaeresis-map " " [diaeresis]) |
306 (define-key compose-diaeresis-map "\"" [diaeresis]) | 398 (define-key compose-diaeresis-map "\"" [diaeresis]) |
399 (define-key compose-diaeresis-map ":" [diaeresis]) | |
307 (define-key compose-diaeresis-map "A" [Adiaeresis]) | 400 (define-key compose-diaeresis-map "A" [Adiaeresis]) |
308 (define-key compose-diaeresis-map "E" [Ediaeresis]) | 401 (define-key compose-diaeresis-map "E" [Ediaeresis]) |
309 (define-key compose-diaeresis-map "I" [Idiaeresis]) | 402 (define-key compose-diaeresis-map "I" [Idiaeresis]) |
310 (define-key compose-diaeresis-map "O" [Odiaeresis]) | 403 (define-key compose-diaeresis-map "O" [Odiaeresis]) |
311 (define-key compose-diaeresis-map "U" [Udiaeresis]) | 404 (define-key compose-diaeresis-map "U" [Udiaeresis]) |
320 (define-key compose-circumflex-map " " "^") | 413 (define-key compose-circumflex-map " " "^") |
321 (define-key compose-circumflex-map "/" "|") | 414 (define-key compose-circumflex-map "/" "|") |
322 (define-key compose-circumflex-map "!" [brokenbar]) | 415 (define-key compose-circumflex-map "!" [brokenbar]) |
323 (define-key compose-circumflex-map "-" [macron]) | 416 (define-key compose-circumflex-map "-" [macron]) |
324 (define-key compose-circumflex-map "_" [macron]) | 417 (define-key compose-circumflex-map "_" [macron]) |
325 (define-key compose-circumflex-map "0" [degree]) | 418 (define-key compose-circumflex-map "0" 'compose-insert-degree) |
326 (define-key compose-circumflex-map "1" [onesuperior]) | 419 (define-key compose-circumflex-map "1" [onesuperior]) |
327 (define-key compose-circumflex-map "2" [twosuperior]) | 420 (define-key compose-circumflex-map "2" [twosuperior]) |
328 (define-key compose-circumflex-map "3" [threesuperior]) | 421 (define-key compose-circumflex-map "3" [threesuperior]) |
329 (define-key compose-circumflex-map "." [periodcentered]) | 422 (define-key compose-circumflex-map "." [periodcentered]) |
330 (define-key compose-circumflex-map "A" [Acircumflex]) | 423 (define-key compose-circumflex-map "A" [Acircumflex]) |
346 (define-key compose-tilde-map "a" [atilde]) | 439 (define-key compose-tilde-map "a" [atilde]) |
347 (define-key compose-tilde-map "n" [ntilde]) | 440 (define-key compose-tilde-map "n" [ntilde]) |
348 (define-key compose-tilde-map "o" [otilde]) | 441 (define-key compose-tilde-map "o" [otilde]) |
349 | 442 |
350 (set-keymap-name compose-ring-map 'compose-ring-map) | 443 (set-keymap-name compose-ring-map 'compose-ring-map) |
351 (define-key compose-ring-map " " [degree]) | 444 (define-key compose-ring-map " " 'compose-insert-degree) |
352 (define-key compose-ring-map "A" [Aring]) | 445 (define-key compose-ring-map "A" [Aring]) |
353 (define-key compose-ring-map "a" [aring]) | 446 (define-key compose-ring-map "a" [aring]) |
354 | 447 |
355 | 448 |
356 ;;; The rest of the compose-map. These are the composed characters | 449 ;;; The rest of the compose-map. These are the composed characters |
361 (define-key compose-map " ^" "^") | 454 (define-key compose-map " ^" "^") |
362 (define-key compose-map " `" "`") | 455 (define-key compose-map " `" "`") |
363 (define-key compose-map " ~" "~") | 456 (define-key compose-map " ~" "~") |
364 (define-key compose-map " " [nobreakspace]) | 457 (define-key compose-map " " [nobreakspace]) |
365 (define-key compose-map " \"" [diaeresis]) | 458 (define-key compose-map " \"" [diaeresis]) |
366 (define-key compose-map " *" [degree]) | 459 (define-key compose-map " :" [diaeresis]) |
460 (define-key compose-map " *" 'compose-insert-degree) | |
367 | 461 |
368 (define-key compose-map "!!" [exclamdown]) | 462 (define-key compose-map "!!" [exclamdown]) |
369 (define-key compose-map "!^" [brokenbar]) | 463 (define-key compose-map "!^" [brokenbar]) |
370 (define-key compose-map "!S" [section]) | 464 (define-key compose-map "!S" [section]) |
371 (define-key compose-map "!s" [section]) | 465 (define-key compose-map "!s" [section]) |
415 (define-key compose-map "0s" [section]) | 509 (define-key compose-map "0s" [section]) |
416 (define-key compose-map "0C" [copyright]) | 510 (define-key compose-map "0C" [copyright]) |
417 (define-key compose-map "0c" [copyright]) | 511 (define-key compose-map "0c" [copyright]) |
418 (define-key compose-map "0R" [registered]) | 512 (define-key compose-map "0R" [registered]) |
419 (define-key compose-map "0r" [registered]) | 513 (define-key compose-map "0r" [registered]) |
420 (define-key compose-map "0^" [degree]) | 514 (define-key compose-map "0^" 'compose-insert-degree) |
421 | 515 |
422 (define-key compose-map "1^" [onesuperior]) | 516 (define-key compose-map "1^" [onesuperior]) |
423 (define-key compose-map "14" [onequarter]) | 517 (define-key compose-map "14" [onequarter]) |
424 (define-key compose-map "12" [onehalf]) | 518 (define-key compose-map "12" [onehalf]) |
425 | 519 |
448 (define-key compose-map "A`" [Agrave]) | 542 (define-key compose-map "A`" [Agrave]) |
449 (define-key compose-map "A'" [Aacute]) | 543 (define-key compose-map "A'" [Aacute]) |
450 (define-key compose-map "A^" [Acircumflex]) | 544 (define-key compose-map "A^" [Acircumflex]) |
451 (define-key compose-map "A~" [Atilde]) | 545 (define-key compose-map "A~" [Atilde]) |
452 (define-key compose-map "A\"" [Adiaeresis]) | 546 (define-key compose-map "A\"" [Adiaeresis]) |
547 (define-key compose-map "A:" [Adiaeresis]) | |
453 (define-key compose-map "A*" [Aring]) | 548 (define-key compose-map "A*" [Aring]) |
454 (define-key compose-map "AE" [AE]) | 549 (define-key compose-map "AE" [AE]) |
455 | 550 |
456 (define-key compose-map "C/" [cent]) | 551 (define-key compose-map "C/" [cent]) |
457 (define-key compose-map "C|" [cent]) | 552 (define-key compose-map "C|" [cent]) |
464 | 559 |
465 (define-key compose-map "E`" [Egrave]) | 560 (define-key compose-map "E`" [Egrave]) |
466 (define-key compose-map "E'" [Eacute]) | 561 (define-key compose-map "E'" [Eacute]) |
467 (define-key compose-map "E^" [Ecircumflex]) | 562 (define-key compose-map "E^" [Ecircumflex]) |
468 (define-key compose-map "E\"" [Ediaeresis]) | 563 (define-key compose-map "E\"" [Ediaeresis]) |
564 (define-key compose-map "E:" [Ediaeresis]) | |
469 | 565 |
470 (define-key compose-map "I`" [Igrave]) | 566 (define-key compose-map "I`" [Igrave]) |
471 (define-key compose-map "I'" [Iacute]) | 567 (define-key compose-map "I'" [Iacute]) |
472 (define-key compose-map "I^" [Icircumflex]) | 568 (define-key compose-map "I^" [Icircumflex]) |
473 (define-key compose-map "I\"" [Idiaeresis]) | 569 (define-key compose-map "I\"" [Idiaeresis]) |
570 (define-key compose-map "I:" [Idiaeresis]) | |
474 | 571 |
475 (define-key compose-map "L-" [sterling]) | 572 (define-key compose-map "L-" [sterling]) |
476 (define-key compose-map "L=" [sterling]) | 573 (define-key compose-map "L=" [sterling]) |
477 | 574 |
478 (define-key compose-map "N~" [Ntilde]) | 575 (define-key compose-map "N~" [Ntilde]) |
489 (define-key compose-map "O`" [Ograve]) | 586 (define-key compose-map "O`" [Ograve]) |
490 (define-key compose-map "O'" [Oacute]) | 587 (define-key compose-map "O'" [Oacute]) |
491 (define-key compose-map "O^" [Ocircumflex]) | 588 (define-key compose-map "O^" [Ocircumflex]) |
492 (define-key compose-map "O~" [Otilde]) | 589 (define-key compose-map "O~" [Otilde]) |
493 (define-key compose-map "O\"" [Odiaeresis]) | 590 (define-key compose-map "O\"" [Odiaeresis]) |
591 (define-key compose-map "O:" [Odiaeresis]) | |
494 (define-key compose-map "O/" [Ooblique]) | 592 (define-key compose-map "O/" [Ooblique]) |
495 | 593 |
496 (define-key compose-map "P!" [paragraph]) | 594 (define-key compose-map "P!" [paragraph]) |
497 | 595 |
498 (define-key compose-map "R0" [registered]) | 596 (define-key compose-map "R0" [registered]) |
509 | 607 |
510 (define-key compose-map "U`" [Ugrave]) | 608 (define-key compose-map "U`" [Ugrave]) |
511 (define-key compose-map "U'" [Uacute]) | 609 (define-key compose-map "U'" [Uacute]) |
512 (define-key compose-map "U^" [Ucircumflex]) | 610 (define-key compose-map "U^" [Ucircumflex]) |
513 (define-key compose-map "U\"" [Udiaeresis]) | 611 (define-key compose-map "U\"" [Udiaeresis]) |
612 (define-key compose-map "U:" [Udiaeresis]) | |
514 | 613 |
515 (define-key compose-map "X0" [currency]) | 614 (define-key compose-map "X0" [currency]) |
516 (define-key compose-map "XO" [currency]) | 615 (define-key compose-map "XO" [currency]) |
517 (define-key compose-map "Xo" [currency]) | 616 (define-key compose-map "Xo" [currency]) |
518 | 617 |
533 (define-key compose-map "a`" [agrave]) | 632 (define-key compose-map "a`" [agrave]) |
534 (define-key compose-map "a'" [aacute]) | 633 (define-key compose-map "a'" [aacute]) |
535 (define-key compose-map "a^" [acircumflex]) | 634 (define-key compose-map "a^" [acircumflex]) |
536 (define-key compose-map "a~" [atilde]) | 635 (define-key compose-map "a~" [atilde]) |
537 (define-key compose-map "a\"" [adiaeresis]) | 636 (define-key compose-map "a\"" [adiaeresis]) |
637 (define-key compose-map "a:" [adiaeresis]) | |
538 (define-key compose-map "a*" [aring]) | 638 (define-key compose-map "a*" [aring]) |
539 (define-key compose-map "ae" [ae]) | 639 (define-key compose-map "ae" [ae]) |
540 | 640 |
541 (define-key compose-map "c/" [cent]) | 641 (define-key compose-map "c/" [cent]) |
542 (define-key compose-map "c|" [cent]) | 642 (define-key compose-map "c|" [cent]) |
549 | 649 |
550 (define-key compose-map "e`" [egrave]) | 650 (define-key compose-map "e`" [egrave]) |
551 (define-key compose-map "e'" [eacute]) | 651 (define-key compose-map "e'" [eacute]) |
552 (define-key compose-map "e^" [ecircumflex]) | 652 (define-key compose-map "e^" [ecircumflex]) |
553 (define-key compose-map "e\"" [ediaeresis]) | 653 (define-key compose-map "e\"" [ediaeresis]) |
654 (define-key compose-map "e:" [ediaeresis]) | |
554 | 655 |
555 (define-key compose-map "i`" [igrave]) | 656 (define-key compose-map "i`" [igrave]) |
556 (define-key compose-map "i'" [iacute]) | 657 (define-key compose-map "i'" [iacute]) |
557 (define-key compose-map "i^" [icircumflex]) | 658 (define-key compose-map "i^" [icircumflex]) |
558 (define-key compose-map "i\"" [idiaeresis]) | 659 (define-key compose-map "i\"" [idiaeresis]) |
660 (define-key compose-map "i:" [idiaeresis]) | |
559 | 661 |
560 (define-key compose-map "l-" [sterling]) | 662 (define-key compose-map "l-" [sterling]) |
561 (define-key compose-map "l=" [sterling]) | 663 (define-key compose-map "l=" [sterling]) |
562 | 664 |
563 (define-key compose-map "n~" [ntilde]) | 665 (define-key compose-map "n~" [ntilde]) |
574 (define-key compose-map "o`" [ograve]) | 676 (define-key compose-map "o`" [ograve]) |
575 (define-key compose-map "o'" [oacute]) | 677 (define-key compose-map "o'" [oacute]) |
576 (define-key compose-map "o^" [ocircumflex]) | 678 (define-key compose-map "o^" [ocircumflex]) |
577 (define-key compose-map "o~" [otilde]) | 679 (define-key compose-map "o~" [otilde]) |
578 (define-key compose-map "o\"" [odiaeresis]) | 680 (define-key compose-map "o\"" [odiaeresis]) |
681 (define-key compose-map "o:" [odiaeresis]) | |
579 (define-key compose-map "o/" [oslash]) | 682 (define-key compose-map "o/" [oslash]) |
580 | 683 |
581 (define-key compose-map "p!" [paragraph]) | 684 (define-key compose-map "p!" [paragraph]) |
582 | 685 |
583 (define-key compose-map "r0" [registered]) | 686 (define-key compose-map "r0" [registered]) |
594 | 697 |
595 (define-key compose-map "u`" [ugrave]) | 698 (define-key compose-map "u`" [ugrave]) |
596 (define-key compose-map "u'" [uacute]) | 699 (define-key compose-map "u'" [uacute]) |
597 (define-key compose-map "u^" [ucircumflex]) | 700 (define-key compose-map "u^" [ucircumflex]) |
598 (define-key compose-map "u\"" [udiaeresis]) | 701 (define-key compose-map "u\"" [udiaeresis]) |
702 (define-key compose-map "u:" [udiaeresis]) | |
599 (define-key compose-map "u/" [mu]) | 703 (define-key compose-map "u/" [mu]) |
600 | 704 |
601 (define-key compose-map "x0" [currency]) | 705 (define-key compose-map "x0" [currency]) |
602 (define-key compose-map "xO" [currency]) | 706 (define-key compose-map "xO" [currency]) |
603 (define-key compose-map "xo" [currency]) | 707 (define-key compose-map "xo" [currency]) |
605 | 709 |
606 (define-key compose-map "y-" [yen]) | 710 (define-key compose-map "y-" [yen]) |
607 (define-key compose-map "y=" [yen]) | 711 (define-key compose-map "y=" [yen]) |
608 (define-key compose-map "y'" [yacute]) | 712 (define-key compose-map "y'" [yacute]) |
609 (define-key compose-map "y\"" [ydiaeresis]) | 713 (define-key compose-map "y\"" [ydiaeresis]) |
714 (define-key compose-map "y:" [ydiaeresis]) | |
610 | 715 |
611 (define-key compose-map "|C" [cent]) | 716 (define-key compose-map "|C" [cent]) |
612 (define-key compose-map "|c" [cent]) | 717 (define-key compose-map "|c" [cent]) |
613 (define-key compose-map "||" [brokenbar]) | 718 (define-key compose-map "||" [brokenbar]) |
614 | 719 |
643 (let* ((c last-command-char) | 748 (let* ((c last-command-char) |
644 (map (cond ((eq c ?') compose-acute-map) | 749 (map (cond ((eq c ?') compose-acute-map) |
645 ((eq c ?`) compose-grave-map) | 750 ((eq c ?`) compose-grave-map) |
646 ((eq c ?,) compose-cedilla-map) | 751 ((eq c ?,) compose-cedilla-map) |
647 ((eq c ?:) compose-diaeresis-map) | 752 ((eq c ?:) compose-diaeresis-map) |
753 ((eq c ?\") compose-diaeresis-map) | |
648 ((eq c ?^) compose-circumflex-map) | 754 ((eq c ?^) compose-circumflex-map) |
649 ((eq c ?~) compose-tilde-map) | 755 ((eq c ?~) compose-tilde-map) |
650 ((eq c ?.) compose-ring-map) | 756 ((eq c ?.) compose-ring-map) |
651 (t (error "unknown diacritic: %s (%c)" c c)))) | 757 (t (error "unknown diacritic: %s (%c)" c c)))) |
652 (base-char (preceding-char)) | 758 (base-char (preceding-char)) |