1 # Copyright (c) 1992, 1993, 1994 Hellmuth Michaelis, Joerg Wunsch and
6 # Redistribution and use in source and binary forms, with or without
7 # modification, are permitted provided that the following conditions
9 # 1. Redistributions of source code must retain the above copyright
10 # notice, this list of conditions and the following disclaimer.
11 # 2. Redistributions in binary form must reproduce the above copyright
12 # notice, this list of conditions and the following disclaimer in the
13 # documentation and/or other materials provided with the distribution.
14 # 3. All advertising materials mentioning features or use of this software
15 # must display the following acknowledgement:
16 # This product includes software developed by Hellmuth Michaelis,
17 # Joerg Wunsch and Holger Veit.
18 # 4. The names of the Authors may not be used to endorse or promote
19 # products derived from this software without specific prior written
22 # THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND
23 # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 # ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26 # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28 # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 # $FreeBSD: src/usr.sbin/pcvt/keycap/keycap.src,v 1.6.6.1 2002/04/30 08:54:58 hm Exp $
35 # $DragonFly: src/usr.sbin/pcvt/keycap/Attic/keycap.src,v 1.2 2003/06/17 04:29:59 dillon Exp $
37 #---------------------------------------------------------------------------
39 # keyboard mappings for the pcvt vt220 emulator
40 # ---------------------------------------------
42 # Last Edit-Date: [Tue Apr 30 10:52:50 2002]
44 # DEC MCS and/or ISO-Latin-1 Characterset used
46 # MF II Keyboards fully supported
47 # AT Keyboards lack a ALTGR Key, so they cannot be handled by
48 # the current driver implementation .... sorry
50 # Many entries are taken from the 386BSD patchkit 0.2.4 codrv
52 #---------------------------------------------------------------------------
54 df|default|default entry:\
57 tt|test|Test entry which swaps y and z:\
58 :K22=z:S22=Z:C22=\032:\
59 :K46=y:S46=Y:C46=\031:
61 # from codrv, untested
62 be|belgium|Belgian mapping:\
69 :K7=\247:S7=6:A7=\136:\
72 :K10=\347:S10=9:A10={:\
73 :K11=\340:S11=0:A11=}:\
78 :K27=\136:S27=\250:A27=[:p1#27:\
82 :K41=\371:S41=%:A41=':p2#41:\
83 :K42=\265:S42=\243:A42=\264:p3#42:\
92 # from codrv, untested
93 ca|canadafr|Canadian French mapping:\
95 :A2=\261:S3=":A3=@:S4=/:A4=\243:A5=\242:\
96 :A6=\244:S7=\077:A7=\254:S8=&:A8=\246:S9=*:A9=\262:\
97 :S10=(:A10=\263:S11=):A11=\274:\
98 :K12=-:S12=_:A12=\275:\
99 :K13==:S13=+:A13=\276:\
101 :K27=\136:S27=\136:A27=[:\
102 :K28=\270:S28=\250:A28=]:p1#28:\
103 :A40=~:K41=`:S41=`:A41={:\
105 :K45=\253:S45=\273:A45=\260:\
106 :A49=\253:A50=\273:A51=\260:\
107 :A52=\265:K53=,:S53=,:A53=-:\
108 :K54=\351:S54=\311:A54=':\
111 # from codrv, untested
112 c1|swissde|Swiss German mapping:\
113 :K1=\247:S1=\260:p1#1:\
114 :S2=+:A2=|:S3=":A3=@:S4=*:A4=#:S5=\347:S7=&:A7=\254:\
115 :S8=/:A8=\246:S9=(:A9=\242:S10=):S11==:\
116 :K12=`:S12=\077:A12=':p2#12:\
117 :K13=^:S13=\\:A13=~:p3#13:\
118 :K22=z:S22=Z:C22=\032:\
119 :S27=\350:K27=\374:A27=[:\
120 :K28=\250:S28=!:A28=]:\
122 :S41=\340:K41=\344:A41={:\
123 :K42=$:S42=\243:A42=}:\
124 :K45=<:S45=>:A45=\\:\
125 :K46=y:S46=Y:C46=\031:
126 :S53=;:S54=\072:K55=-:S55=_:\
129 # from codrv, untested
130 c2|swissfr|Swiss French mapping:\
131 :K27=\350:S27=\374:A27=[:\
133 :K41=\340:S41=\344:A41={:\
136 # more programmer-like than an original German kbd, you needn't
137 # have gum-fingers to get `{}' and the like:-)
138 # maps: ae -> [, oe -> \, ue -> ], Ae -> {, Oe -> |, Ue -> }
139 # umlaute are available as AltGr- and Control-Mappings
140 # also maps Pause -> ^Z
142 # (from Joerg Wunsch)
144 # l1/m1 bindings: left Alt is AltGr
146 # C79/C89: ctrl-{leftarrow,rightarrow} {backward,forward} word
147 # A79/A89: {backward,forward} sexp
148 # C83/C84: ctrl-{uparrow,downarrow} {backward,forward} window
150 de-prog|germany-prog|programmer's mapping for german keyboard:\
151 :K27=]:S27=}:A27=\374:C27=\334:\
152 :K40=\\:S40=|:A40=\366:C40=\326:\
153 :K41=[:S41={:A41=\344:C41=\304:\
154 :K126=\032:C126=\003:\
157 # :C79=^[B:K79=^[[D:S79=^[OD:A79=^[^B:\
158 # :C89=^[F:K89=^[[C:S89=^[OC:A89=^[^F:\
159 # :C83=^U-1^XO:K83=^[[A:S84=^[OA:\
160 # :C84=^XO:K84=^[[B:S84=^[OB:\
162 de|germany|German mapping for MF II-Keyboard:\
164 :S3=\042:S4=\247:S7=&:S8=/:S9=(:S10=):S11=\075:\
165 :A3=\262:A4=\263:A8={:A9=[:A10=]:A11=}:A12=\134:\
166 :K12=\337:S12=?:C12=\034:\
169 :K22=z:S22=Z:C22=\032:\
171 :K28=+:S28=*:A28=\176:\
172 :K29=\043:S29=':A29=\174:\
176 :K46=y:S46=Y:C46=\031:\
182 de-at|germany-at|German mapping for AT-Keyboard:\
191 :K12=\337:S12=?:C12=\034:\
194 :K22=z:S22=Z:C22=\032:\
200 :K46=y:S46=Y:C46=\031:\
204 # from codrv, untested
205 # Includes improvements by Thomas Hiller (hiller@fzi.de)
206 # and Andreas Israel (ai@hrz.tu-chemnitz.de)
207 de-hi|germany-hiller|yet another German mapping:\
208 :K1=\136:S1=\260:C1=|:\
209 :S3=\042:S4=#:S7=&:S8=/:S9=(:S10=):S11=\075:\
210 :A8={:A9=[:A10=]:A11=}:A17=@:A28=~:\
211 :K12=\337:S12=\077:C12=\036:A12=\\:\
212 :K13=':S13=`:C13=\134:p1#13:\
213 :K22=z:S22=Z:C22=\032:\
214 :K27=\374:S27=\334:C27=\035:\
215 :K28=+:S28=*:C28=\000:\
216 :K29=<:S29=>:C29=\134:\
217 :K40=\366:S40=\326:C40=\034:\
218 :K41=\344:S41=\304:C41=\033:\
219 :K46=y:S46=Y:C46=\031:\
224 # from codrv, untested
225 # Contribution by Thomas Hiller (hiller@fzi.de)
226 # "K42 may not work on 102 keys kbds, K29 seems to work"
227 d1|de-102|german with mf2:\
233 # from codrv, untested
234 hv|holgi|Holgi's special MF1 keyboard mapping:\
236 :K29=#:S29=\136:A29=\\:C29=~:\
239 # from codrv, untested
240 # Contributed by Andreas Israel (ai@hrz.tu-chemnitz.de)
241 de-ai|nixmf2|ct22|nix|nix7|German Nixdorf MF2:\
247 # from codrv, untested
248 dk|denmark|Danish mapping:\
253 :S7=&:S8=/:A8={:S9=(:A9=[:S10=):A10=]:S11==:A11=}:\
255 :K13=':S13=`:A13=|:p1#13:\
257 :K28=\250:S28=\136:A28=~:p2#28:\
261 :K45=<:S45=>:A45=\\:\
266 # from codrv, untested
267 # Finnish keyboard map with 7-bit versions of the national
268 # chars. The Latin1 chars are available with Alt-7, Alt-8, etc
269 # (where normally you would have the 7-bit ones).
270 # Makes C/C++ programming more comfortable, since the 7-bit chars
271 # (|\{[}]) are needed much more often than the Latin1 chars.
272 # -- Petri.Wessman@hut.fi
273 fi|finland|finland7b|finland-ascii|Finnish ASCII mapping:\
275 :A8=\344:A9=\304:A10=\305:A11=\345:A12=\326:A13=\366:\
276 :K40=|:S40=\\:K41={:S41=[:K27=}:S27=]:\
281 :S7=&:S8=/:S9=(:S10=):S11==:\
284 :K28=~:S28=\136:A28=~:\
291 # from codrv, untested
292 # Finnish keyboard map with the Latin1 national chars in
293 # their "right" place. --Petri.Wessman@hut.fi
294 f1|finland8b|finland-latin1|Finnish Latin1 mapping:\
295 :A8={:A9=[:A10=]:A11=}:A12=\\:\
296 :K40=\366:S40=\326:K41=\344:S41=\304:K27=\345:S27=\305:\
300 # French keyboard mapping
301 # From Matthieu Herrb <matthieu@laas.fr>
302 # For 102 keys keyboards, produces 8 bits characters
303 # with ISO Latin-1 encoding
304 f8|france-iso-8859-1|French ISO 8859-1 102 keys keyboard:\
308 :K3=\351:S3=2:C3=\211:A3=~:\
312 :K7=-:S7=6:C7=\036:A7=|:\
313 :K8=\350:S8=7:C8=\210:A8=`:\
314 :K9=_:S9=8:C9=\037:A9=\\:\
315 :K10=\347:S10=9:C10=\207:A10=\136:\
316 :K11=\340:S11=0:C11=\340:A11=@:\
317 :K12=):S12=\260:A12=]:\
319 :K17=a:S17=A:C17=\001:\
320 :K18=z:S18=Z:C18=\032:\
324 :K31=q:S31=Q:C31=\021:\
325 :K40=m:S40=M:C40=\015;\
326 :K41=\371:C41=\231:S41=%:\
328 :K46=w:S46=W:C46=\027:\
331 :K54=\072:S54=/:C54=\037\
334 # fr|france|French mapping:\
337 # from codrv, untested
338 # f1|france120|French 120 mapping:\
342 # from codrv, untested
343 #f2|france189|French 189 mapping:\
345 # :A2=:A3=~:A5={:A6=[:A7=|:A8=`:\
346 # :S9=_:A9=\\:A10=\136:A11=@:A12=]:A13=}:\
347 # :A27=:A28=\244:A41=:A42=:\
351 # From: Andy Duplain, duplain@rtf.bt.co.uk
352 gb|greatbritain|British mapping for MF-2 keyboard:\
353 :S1=|:S3=":C3=2:C12=-:S41=@:K42=#:S42=~:C42=#:K45=\\:S45=|:C45=\\:
355 # from codrv, untested
356 # This entry has been corrected by Mike Trim (mtrim@crucible.demon.co.uk)
357 # (hv's comment: For the keys # and ~ you might also check the following
360 # Also I think I was wrong with the ALTGR key. If you need one, add this:
362 g1|greatbritain166|British 166 mapping:\
369 # from codrv, untested
370 g2|greatbritain168|British 168 mapping:\
372 :S3=":S4=\243:S7=&:S8=:S9=(:S10=):A10=\261:\
373 :S11=#:A11=\260:S12=:K13=\254:S13=-:\
377 :K41=\072:S41=*:A41=\136:\
383 # from codrv, untested
384 is:iceland:Island mapping:\
385 :K1=\260:S1=\250:p1#1:\
386 :S2=":S7=&:S8=/:A8={:S9=(:A9=[:S10=):A10=]:S11==:A11=}:\
389 :A17=@:K27=\360:S27=\320:\
390 :K28=':S28=\077:A28=~:\
392 :K41=':S41=':A41=\136:p2#41:\
393 :K42=+:S42=*:A42=`:p3#42:\
400 # from codrv, untested
401 i1|italy141|Italian 141 mapping:\
403 :S3=":S4=\243:S7=&:S8=/:A8={:S9=(:A9=[:S10=):A10=]:S11==:A11=}:\
404 :K12=':A12=`:S12=\077:\
405 :K13=\354:S13=\136:A13=~:\
406 :K27=\350:S27=\351:\A27=[:\
408 :K40=\362:S40=\347:A40=@:\
409 :K41=\340:S41=\260:A41=#:\
416 # from codrv, untested
417 i2|italy142|Italian 142 mapping:\
418 :A8={:A9=[:A10=]:A11=}:\
419 :A17=@:A27=:A28=~:A40=:A41=:\
422 # from codrv, untested
423 nl|netherlands|Dutch mapping:\
424 :K1=@:S1=\247:A1=\254:\
425 :A2=\271:S3=":A3=\262:S4=#:A4=\263:A5=\274:A6=\275:S7=&:\
426 :A7=\276:S8=_:A8=\243:S9=(:A9={:S10=):A10=}:S11=':\
427 :K12=/:S12=\077:A12=\\:\
428 :K13=\260:S13=~:A13=\270:p1#13:\
429 :K20=\266:K27=\250:S27=^:p2#27:\
435 :S53=;:S54=\072:K55=-:S55=_:\
439 # Norwegian keyboard map with national characters.
440 # Anders Nordby, anders@fix.no
441 no|norway|Norwegian 8bit mapping ISO 8859-1:\
444 :K3=\62:S3=\42:A3=\100:\
445 :K4=\63:S4=\43:A4=\243:\
446 :K5=\64:S5=\244:A5=\44:\
449 :K8=\67:S8=\57:A8=\173:\
450 :K9=\70:S9=\50:A9=\133:\
451 :K10=\71:S10=\51:A10=\135:\
452 :K11=\60:S11=\75:A11=\175:\
454 :K13=\134:S13=\140:A13=\264:\
455 :K28=\250:S28=\136:A28=\176:\
465 # from codrv, untested
466 pt|portugal|Portugesian mapping:\
468 :S3=":A3=@:A4=\243:A5=\247:S7=&:S8=/:A8={:S9=(:A9=[:\
469 :S10=):A10=]:S11=}:A11==:\
476 :S53=;:S54=\072:K55=-:S55=_:\
479 # from codrv, untested
480 es|spain|Spainish mapping:\
481 :K1=\272:S1=\252:A1=\\:\
482 :A2=|:S3=":A3=@:S4=:A4=#:S7=&:A7=\254:S8=/:S9=(:S10=):S11==:\
483 :K12=':S12=\077:p1#12:\
485 :K27=`:S27=^:A27=[:p2#27:\
488 :K41=/:S41=\250:A41={:p3#41:\
489 :K42=\347:S42=\307:A42=}:\
496 # from codrv, untested
497 # Contributed by Mats O Jansson, moj@stacken.kth.se
498 # "Here is my map, rather large, but i want ALTGR normaly to be dead.
499 # Only seven bit national characters have been placed where national characters
500 # is on the keyboard."
501 # We can help this man, just use the 'a0' capability -hv-
502 s1|sweden1|Swedish mapping:\
506 :S2=!:S3=":S4=#:S5=$:S6=%:S7=&:S8=/:\
507 :S9=(:S10=):S11=\075:S12=\077:S13=`:S29=*:\
508 :C2=:C3=\000:C4=\033:C5=\034:C6=\035:C7=:C8=:C9=:\
509 :C10=:C11=:C12=:C13=:C29=:\
511 :A9=[:A10=]:A11=}:A12=\134:\
519 :K45=<:K53=,:K54=.:K55=-:\
520 :S45=>:S53=;:S54=\072:S55=_:\
521 :C45=\034:C53=:C54=:C55=:\
525 # from codrv, untested
526 # Contributed by Mats O Jansson, moj@stacken.kth.se
527 # "Here is my map, rather large, but i want ALTGR normaly to be dead.
528 # Only seven bit national characters have been placed where national
529 # characters is on the keyboard."
530 # We can help this man, just use the 'a0' capability -hv-
531 # Corrected by Paul Pries, 5322@msg.abc.se (Some national shifts were
533 sa|sweden1a|Swedish 7bit mapping ISO 646:\
537 :S2=!:S3=":S4=#:S5=$:S6=%:S7=&:S8=/:\
538 :S9=(:S10=):S11=\075:S12=\077:S13=`:S29=*:\
539 :C2=:C3=\000:C4=\033:C5=\034:C6=\035:C7=:C8=:C9=:\
540 :C10=:C11=:C12=:C13=:C29=:\
542 :A9=[:A10=]:A11=}:A12=\134:\
550 :K45=<:K53=,:K54=.:K55=-:\
551 :S45=>:S53=;:S54=\072:S55=_:\
552 :C45=\034:C53=:C54=:C55=:\
556 # from codrv, untested
557 # Swedish keyboard map with national characters.
558 # Paul Pries, 5322@msg.abc.se
559 s2|sweden2|Swedish 8bit mapping ISO 8859-1:\
563 :S2=!:S3=":S4=#:S5=$:S6=%:S7=&:S8=/:\
564 :S9=(:S10=):S11=\075:S12=\077:S13=`:S29=*:\
565 :C2=:C3=\000:C4=\033:C5=\034:C6=\035:C7=:C8=:C9=:\
566 :C10=:C11=:C12=:C13=:C29=:\
567 :A3=\100:A4=\234:A5=$:A8={:\
568 :A9=[:A10=]:A11=}:A12=\134:\
576 :K45=<:K53=,:K54=.:K55=-:\
577 :S45=>:S53=;:S54=\072:S55=_:\
578 :C45=\034:C53=:C54=:C55=:\
583 # tg: my idiosyncratic mappings (thomas@ghpc8.ihf.rwth-aachen.de)
585 # the six function keys above the cursor keys are arranged
586 # identical to a real VT220:
591 # since i don't have a use for the numbers on the keypad,
592 # i map NumLock, /, *, - to PF1-PF4;
593 # + is mapped to SS3 l, shifted + is mapped to SS3 m
595 # they convinced me finally to add some support for german umlauts.
596 # so, i stole the mapping from jörg wunsch's de-prog entry.
607 :K126=\032:C126=\003:\
608 :K75=
\e[1~:S75=
\e[1~:C75=
\e[1~:\
609 :K76=
\e[4~:S76=
\e[4~:C76=
\e[4~:\
610 :K80=
\e[2~:S80=
\e[2~:C80=
\e[2~:\
611 :K81=
\e[5~:S81=
\e[5~:C81=
\e[5~:\
612 :K85=
\e[3~:S85=
\e[3~:C85=
\e[3~:\
613 :K86=
\e[6~:S86=
\e[6~:C86=
\e[6~:\
614 :K90=
\eOP:S90=
\eOP:C90=
\eOP:\
615 :K95=
\eOQ:S95=
\eOQ:C95=
\eOQ:\
616 :K100=
\eOR:S100=
\eOR:C100=
\eOR:\
617 :K104=
\eOn:S104=
\eOn:C104=
\eOn:\
618 :K105=
\eOS:S105=
\eOS:C105=
\eOS:\
619 :K106=
\eOl:S106=
\eOm:\
620 :K108=
\eOM:S108=
\eOM:C108=
\eOM:
622 us|usa|United States mapping:\