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 $
36 #---------------------------------------------------------------------------
38 # keyboard mappings for the pcvt vt220 emulator
39 # ---------------------------------------------
41 # Last Edit-Date: [Tue Apr 30 10:52:50 2002]
43 # DEC MCS and/or ISO-Latin-1 Characterset used
45 # MF II Keyboards fully supported
46 # AT Keyboards lack a ALTGR Key, so they cannot be handled by
47 # the current driver implementation .... sorry
49 # Many entries are taken from the 386BSD patchkit 0.2.4 codrv
51 #---------------------------------------------------------------------------
53 df|default|default entry:\
56 tt|test|Test entry which swaps y and z:\
57 :K22=z:S22=Z:C22=\032:\
58 :K46=y:S46=Y:C46=\031:
60 # from codrv, untested
61 be|belgium|Belgian mapping:\
68 :K7=\247:S7=6:A7=\136:\
71 :K10=\347:S10=9:A10={:\
72 :K11=\340:S11=0:A11=}:\
77 :K27=\136:S27=\250:A27=[:p1#27:\
81 :K41=\371:S41=%:A41=':p2#41:\
82 :K42=\265:S42=\243:A42=\264:p3#42:\
91 # from codrv, untested
92 ca|canadafr|Canadian French mapping:\
94 :A2=\261:S3=":A3=@:S4=/:A4=\243:A5=\242:\
95 :A6=\244:S7=\077:A7=\254:S8=&:A8=\246:S9=*:A9=\262:\
96 :S10=(:A10=\263:S11=):A11=\274:\
97 :K12=-:S12=_:A12=\275:\
98 :K13==:S13=+:A13=\276:\
100 :K27=\136:S27=\136:A27=[:\
101 :K28=\270:S28=\250:A28=]:p1#28:\
102 :A40=~:K41=`:S41=`:A41={:\
104 :K45=\253:S45=\273:A45=\260:\
105 :A49=\253:A50=\273:A51=\260:\
106 :A52=\265:K53=,:S53=,:A53=-:\
107 :K54=\351:S54=\311:A54=':\
110 # from codrv, untested
111 c1|swissde|Swiss German mapping:\
112 :K1=\247:S1=\260:p1#1:\
113 :S2=+:A2=|:S3=":A3=@:S4=*:A4=#:S5=\347:S7=&:A7=\254:\
114 :S8=/:A8=\246:S9=(:A9=\242:S10=):S11==:\
115 :K12=`:S12=\077:A12=':p2#12:\
116 :K13=^:S13=\\:A13=~:p3#13:\
117 :K22=z:S22=Z:C22=\032:\
118 :S27=\350:K27=\374:A27=[:\
119 :K28=\250:S28=!:A28=]:\
121 :S41=\340:K41=\344:A41={:\
122 :K42=$:S42=\243:A42=}:\
123 :K45=<:S45=>:A45=\\:\
124 :K46=y:S46=Y:C46=\031:
125 :S53=;:S54=\072:K55=-:S55=_:\
128 # from codrv, untested
129 c2|swissfr|Swiss French mapping:\
130 :K27=\350:S27=\374:A27=[:\
132 :K41=\340:S41=\344:A41={:\
135 # more programmer-like than an original German kbd, you needn't
136 # have gum-fingers to get `{}' and the like:-)
137 # maps: ae -> [, oe -> \, ue -> ], Ae -> {, Oe -> |, Ue -> }
138 # umlaute are available as AltGr- and Control-Mappings
139 # also maps Pause -> ^Z
141 # (from Joerg Wunsch)
143 # l1/m1 bindings: left Alt is AltGr
145 # C79/C89: ctrl-{leftarrow,rightarrow} {backward,forward} word
146 # A79/A89: {backward,forward} sexp
147 # C83/C84: ctrl-{uparrow,downarrow} {backward,forward} window
149 de-prog|germany-prog|programmer's mapping for german keyboard:\
150 :K27=]:S27=}:A27=\374:C27=\334:\
151 :K40=\\:S40=|:A40=\366:C40=\326:\
152 :K41=[:S41={:A41=\344:C41=\304:\
153 :K126=\032:C126=\003:\
156 # :C79=^[B:K79=^[[D:S79=^[OD:A79=^[^B:\
157 # :C89=^[F:K89=^[[C:S89=^[OC:A89=^[^F:\
158 # :C83=^U-1^XO:K83=^[[A:S84=^[OA:\
159 # :C84=^XO:K84=^[[B:S84=^[OB:\
161 de|germany|German mapping for MF II-Keyboard:\
163 :S3=\042:S4=\247:S7=&:S8=/:S9=(:S10=):S11=\075:\
164 :A3=\262:A4=\263:A8={:A9=[:A10=]:A11=}:A12=\134:\
165 :K12=\337:S12=?:C12=\034:\
168 :K22=z:S22=Z:C22=\032:\
170 :K28=+:S28=*:A28=\176:\
171 :K29=\043:S29=':A29=\174:\
175 :K46=y:S46=Y:C46=\031:\
181 de-at|germany-at|German mapping for AT-Keyboard:\
190 :K12=\337:S12=?:C12=\034:\
193 :K22=z:S22=Z:C22=\032:\
199 :K46=y:S46=Y:C46=\031:\
203 # from codrv, untested
204 # Includes improvements by Thomas Hiller (hiller@fzi.de)
205 # and Andreas Israel (ai@hrz.tu-chemnitz.de)
206 de-hi|germany-hiller|yet another German mapping:\
207 :K1=\136:S1=\260:C1=|:\
208 :S3=\042:S4=#:S7=&:S8=/:S9=(:S10=):S11=\075:\
209 :A8={:A9=[:A10=]:A11=}:A17=@:A28=~:\
210 :K12=\337:S12=\077:C12=\036:A12=\\:\
211 :K13=':S13=`:C13=\134:p1#13:\
212 :K22=z:S22=Z:C22=\032:\
213 :K27=\374:S27=\334:C27=\035:\
214 :K28=+:S28=*:C28=\000:\
215 :K29=<:S29=>:C29=\134:\
216 :K40=\366:S40=\326:C40=\034:\
217 :K41=\344:S41=\304:C41=\033:\
218 :K46=y:S46=Y:C46=\031:\
223 # from codrv, untested
224 # Contribution by Thomas Hiller (hiller@fzi.de)
225 # "K42 may not work on 102 keys kbds, K29 seems to work"
226 d1|de-102|german with mf2:\
232 # from codrv, untested
233 hv|holgi|Holgi's special MF1 keyboard mapping:\
235 :K29=#:S29=\136:A29=\\:C29=~:\
238 # from codrv, untested
239 # Contributed by Andreas Israel (ai@hrz.tu-chemnitz.de)
240 de-ai|nixmf2|ct22|nix|nix7|German Nixdorf MF2:\
246 # from codrv, untested
247 dk|denmark|Danish mapping:\
252 :S7=&:S8=/:A8={:S9=(:A9=[:S10=):A10=]:S11==:A11=}:\
254 :K13=':S13=`:A13=|:p1#13:\
256 :K28=\250:S28=\136:A28=~:p2#28:\
260 :K45=<:S45=>:A45=\\:\
265 # from codrv, untested
266 # Finnish keyboard map with 7-bit versions of the national
267 # chars. The Latin1 chars are available with Alt-7, Alt-8, etc
268 # (where normally you would have the 7-bit ones).
269 # Makes C/C++ programming more comfortable, since the 7-bit chars
270 # (|\{[}]) are needed much more often than the Latin1 chars.
271 # -- Petri.Wessman@hut.fi
272 fi|finland|finland7b|finland-ascii|Finnish ASCII mapping:\
274 :A8=\344:A9=\304:A10=\305:A11=\345:A12=\326:A13=\366:\
275 :K40=|:S40=\\:K41={:S41=[:K27=}:S27=]:\
280 :S7=&:S8=/:S9=(:S10=):S11==:\
283 :K28=~:S28=\136:A28=~:\
290 # from codrv, untested
291 # Finnish keyboard map with the Latin1 national chars in
292 # their "right" place. --Petri.Wessman@hut.fi
293 f1|finland8b|finland-latin1|Finnish Latin1 mapping:\
294 :A8={:A9=[:A10=]:A11=}:A12=\\:\
295 :K40=\366:S40=\326:K41=\344:S41=\304:K27=\345:S27=\305:\
299 # French keyboard mapping
300 # From Matthieu Herrb <matthieu@laas.fr>
301 # For 102 keys keyboards, produces 8 bits characters
302 # with ISO Latin-1 encoding
303 f8|france-iso-8859-1|French ISO 8859-1 102 keys keyboard:\
307 :K3=\351:S3=2:C3=\211:A3=~:\
311 :K7=-:S7=6:C7=\036:A7=|:\
312 :K8=\350:S8=7:C8=\210:A8=`:\
313 :K9=_:S9=8:C9=\037:A9=\\:\
314 :K10=\347:S10=9:C10=\207:A10=\136:\
315 :K11=\340:S11=0:C11=\340:A11=@:\
316 :K12=):S12=\260:A12=]:\
318 :K17=a:S17=A:C17=\001:\
319 :K18=z:S18=Z:C18=\032:\
323 :K31=q:S31=Q:C31=\021:\
324 :K40=m:S40=M:C40=\015;\
325 :K41=\371:C41=\231:S41=%:\
327 :K46=w:S46=W:C46=\027:\
330 :K54=\072:S54=/:C54=\037\
333 # fr|france|French mapping:\
336 # from codrv, untested
337 # f1|france120|French 120 mapping:\
341 # from codrv, untested
342 #f2|france189|French 189 mapping:\
344 # :A2=:A3=~:A5={:A6=[:A7=|:A8=`:\
345 # :S9=_:A9=\\:A10=\136:A11=@:A12=]:A13=}:\
346 # :A27=:A28=\244:A41=:A42=:\
350 # From: Andy Duplain, duplain@rtf.bt.co.uk
351 gb|greatbritain|British mapping for MF-2 keyboard:\
352 :S1=|:S3=":C3=2:C12=-:S41=@:K42=#:S42=~:C42=#:K45=\\:S45=|:C45=\\:
354 # from codrv, untested
355 # This entry has been corrected by Mike Trim (mtrim@crucible.demon.co.uk)
356 # (hv's comment: For the keys # and ~ you might also check the following
359 # Also I think I was wrong with the ALTGR key. If you need one, add this:
361 g1|greatbritain166|British 166 mapping:\
368 # from codrv, untested
369 g2|greatbritain168|British 168 mapping:\
371 :S3=":S4=\243:S7=&:S8=:S9=(:S10=):A10=\261:\
372 :S11=#:A11=\260:S12=:K13=\254:S13=-:\
376 :K41=\072:S41=*:A41=\136:\
382 # from codrv, untested
383 is:iceland:Island mapping:\
384 :K1=\260:S1=\250:p1#1:\
385 :S2=":S7=&:S8=/:A8={:S9=(:A9=[:S10=):A10=]:S11==:A11=}:\
388 :A17=@:K27=\360:S27=\320:\
389 :K28=':S28=\077:A28=~:\
391 :K41=':S41=':A41=\136:p2#41:\
392 :K42=+:S42=*:A42=`:p3#42:\
399 # from codrv, untested
400 i1|italy141|Italian 141 mapping:\
402 :S3=":S4=\243:S7=&:S8=/:A8={:S9=(:A9=[:S10=):A10=]:S11==:A11=}:\
403 :K12=':A12=`:S12=\077:\
404 :K13=\354:S13=\136:A13=~:\
405 :K27=\350:S27=\351:\A27=[:\
407 :K40=\362:S40=\347:A40=@:\
408 :K41=\340:S41=\260:A41=#:\
415 # from codrv, untested
416 i2|italy142|Italian 142 mapping:\
417 :A8={:A9=[:A10=]:A11=}:\
418 :A17=@:A27=:A28=~:A40=:A41=:\
421 # from codrv, untested
422 nl|netherlands|Dutch mapping:\
423 :K1=@:S1=\247:A1=\254:\
424 :A2=\271:S3=":A3=\262:S4=#:A4=\263:A5=\274:A6=\275:S7=&:\
425 :A7=\276:S8=_:A8=\243:S9=(:A9={:S10=):A10=}:S11=':\
426 :K12=/:S12=\077:A12=\\:\
427 :K13=\260:S13=~:A13=\270:p1#13:\
428 :K20=\266:K27=\250:S27=^:p2#27:\
434 :S53=;:S54=\072:K55=-:S55=_:\
438 # Norwegian keyboard map with national characters.
439 # Anders Nordby, anders@fix.no
440 no|norway|Norwegian 8bit mapping ISO 8859-1:\
443 :K3=\62:S3=\42:A3=\100:\
444 :K4=\63:S4=\43:A4=\243:\
445 :K5=\64:S5=\244:A5=\44:\
448 :K8=\67:S8=\57:A8=\173:\
449 :K9=\70:S9=\50:A9=\133:\
450 :K10=\71:S10=\51:A10=\135:\
451 :K11=\60:S11=\75:A11=\175:\
453 :K13=\134:S13=\140:A13=\264:\
454 :K28=\250:S28=\136:A28=\176:\
464 # from codrv, untested
465 pt|portugal|Portugesian mapping:\
467 :S3=":A3=@:A4=\243:A5=\247:S7=&:S8=/:A8={:S9=(:A9=[:\
468 :S10=):A10=]:S11=}:A11==:\
475 :S53=;:S54=\072:K55=-:S55=_:\
478 # from codrv, untested
479 es|spain|Spainish mapping:\
480 :K1=\272:S1=\252:A1=\\:\
481 :A2=|:S3=":A3=@:S4=:A4=#:S7=&:A7=\254:S8=/:S9=(:S10=):S11==:\
482 :K12=':S12=\077:p1#12:\
484 :K27=`:S27=^:A27=[:p2#27:\
487 :K41=/:S41=\250:A41={:p3#41:\
488 :K42=\347:S42=\307:A42=}:\
495 # from codrv, untested
496 # Contributed by Mats O Jansson, moj@stacken.kth.se
497 # "Here is my map, rather large, but i want ALTGR normaly to be dead.
498 # Only seven bit national characters have been placed where national characters
499 # is on the keyboard."
500 # We can help this man, just use the 'a0' capability -hv-
501 s1|sweden1|Swedish mapping:\
505 :S2=!:S3=":S4=#:S5=$:S6=%:S7=&:S8=/:\
506 :S9=(:S10=):S11=\075:S12=\077:S13=`:S29=*:\
507 :C2=:C3=\000:C4=\033:C5=\034:C6=\035:C7=:C8=:C9=:\
508 :C10=:C11=:C12=:C13=:C29=:\
510 :A9=[:A10=]:A11=}:A12=\134:\
518 :K45=<:K53=,:K54=.:K55=-:\
519 :S45=>:S53=;:S54=\072:S55=_:\
520 :C45=\034:C53=:C54=:C55=:\
524 # from codrv, untested
525 # Contributed by Mats O Jansson, moj@stacken.kth.se
526 # "Here is my map, rather large, but i want ALTGR normaly to be dead.
527 # Only seven bit national characters have been placed where national
528 # characters is on the keyboard."
529 # We can help this man, just use the 'a0' capability -hv-
530 # Corrected by Paul Pries, 5322@msg.abc.se (Some national shifts were
532 sa|sweden1a|Swedish 7bit mapping ISO 646:\
536 :S2=!:S3=":S4=#:S5=$:S6=%:S7=&:S8=/:\
537 :S9=(:S10=):S11=\075:S12=\077:S13=`:S29=*:\
538 :C2=:C3=\000:C4=\033:C5=\034:C6=\035:C7=:C8=:C9=:\
539 :C10=:C11=:C12=:C13=:C29=:\
541 :A9=[:A10=]:A11=}:A12=\134:\
549 :K45=<:K53=,:K54=.:K55=-:\
550 :S45=>:S53=;:S54=\072:S55=_:\
551 :C45=\034:C53=:C54=:C55=:\
555 # from codrv, untested
556 # Swedish keyboard map with national characters.
557 # Paul Pries, 5322@msg.abc.se
558 s2|sweden2|Swedish 8bit mapping ISO 8859-1:\
562 :S2=!:S3=":S4=#:S5=$:S6=%:S7=&:S8=/:\
563 :S9=(:S10=):S11=\075:S12=\077:S13=`:S29=*:\
564 :C2=:C3=\000:C4=\033:C5=\034:C6=\035:C7=:C8=:C9=:\
565 :C10=:C11=:C12=:C13=:C29=:\
566 :A3=\100:A4=\234:A5=$:A8={:\
567 :A9=[:A10=]:A11=}:A12=\134:\
575 :K45=<:K53=,:K54=.:K55=-:\
576 :S45=>:S53=;:S54=\072:S55=_:\
577 :C45=\034:C53=:C54=:C55=:\
582 # tg: my idiosyncratic mappings (thomas@ghpc8.ihf.rwth-aachen.de)
584 # the six function keys above the cursor keys are arranged
585 # identical to a real VT220:
590 # since i don't have a use for the numbers on the keypad,
591 # i map NumLock, /, *, - to PF1-PF4;
592 # + is mapped to SS3 l, shifted + is mapped to SS3 m
594 # they convinced me finally to add some support for german umlauts.
595 # so, i stole the mapping from jörg wunsch's de-prog entry.
606 :K126=\032:C126=\003:\
607 :K75=
\e[1~:S75=
\e[1~:C75=
\e[1~:\
608 :K76=
\e[4~:S76=
\e[4~:C76=
\e[4~:\
609 :K80=
\e[2~:S80=
\e[2~:C80=
\e[2~:\
610 :K81=
\e[5~:S81=
\e[5~:C81=
\e[5~:\
611 :K85=
\e[3~:S85=
\e[3~:C85=
\e[3~:\
612 :K86=
\e[6~:S86=
\e[6~:C86=
\e[6~:\
613 :K90=
\eOP:S90=
\eOP:C90=
\eOP:\
614 :K95=
\eOQ:S95=
\eOQ:C95=
\eOQ:\
615 :K100=
\eOR:S100=
\eOR:C100=
\eOR:\
616 :K104=
\eOn:S104=
\eOn:C104=
\eOn:\
617 :K105=
\eOS:S105=
\eOS:C105=
\eOS:\
618 :K106=
\eOl:S106=
\eOm:\
619 :K108=
\eOM:S108=
\eOM:C108=
\eOM:
621 us|usa|United States mapping:\