! pc.common by jhs@ ! PROBLEM see keyword PROBLEM ! pc.FreeBSD.normal.german for 2.0.5 German Site ! PC 102 key keyboard & dec layout ) ! With modifications to force a layout similar to a 1 ! (Note exact simulation impossible, key layout on a vt220 is different.) ! ! Copyright Julian H. Stacey Munich 1996, Vector Systems Ltd ! ! This is an `xmodmap' input file for PC 101 Type 2 & PC 102 Type 1 key ! keyboards, as shown by (XKeyCaps 2.31 for FreeBSD+XFree86) ! ! Ref. /usr/X11R6/lib/X11/etc/xmodmap.std & xmodmap {-pke -pp -pm} after boot. ! For a list of symbols see: /usr/X11R6/lib/X11/XKeysymDB ! ! From man XKeyCaps(1): ! ``K'' ==> ``K NoSymbol K NoSymbol'' ! ``K1 K2'' ==> ``K1 K2 K1 K2'' ! ``K1 K2 K3'' ==> ``K1 K2 K3 NoSymbol'' ! ============================================================================= ! SET MAPPING FOR EACH KEY ! Shift, Lock, Control, Mod1, Mod2, Mod3, Mod4, and Mod5 ! keycode 8 = ! keycode 9 = Escape ! ! 0x0A = 10 keycode 10 = 1 exclam ! ! 0x0B = 11 keycode 11 = 2 quotedbl twosuperior ! ! 0x0C = 12 keycode 12 = 3 section threesuperior ! Default needed by PC102.German: 3 section threesuperior ! Default set by /etc/sysconfig:keymap=german.iso: 3 botintegral Greek_eta ! Default 2.0.5 German Site: 3 botintegral Greek_eta ! ! 0x0D = 13 keycode 13 = 4 dollar ! ! 0x0E = 14 keycode 14 = 5 percent ! ! 0x0F = 15 keycode 15 = 6 ampersand ! ! 0x10 = 16 keycode 16 = 7 slash braceleft ! ! 0x11 = 17 keycode 17 = 8 parenleft bracketleft ! ! 0x12 = 18 keycode 18 = 9 parenright bracketright ! ! 0x13 = 19 keycode 19 = 0 equal braceright ! ! 0x14 = 20 keycode 20 = ssharp question backslash ! Default needed by PC102.German: ssharp question backslash ! Default set by /etc/sysconfig:keymap=german.iso: NoSymbol question backslash ! Native 2.0.5 German Site: NoSymbol question backslash ! ! 0x15 = 21 keycode 21 = apostrophe grave ! ! 0x16 = 22 keycode 22 = BackSpace ! ! 0x17 = 23 ! I was thinking of doing this: ! keycode 23 = Tab hpBackTab ! but don't need it, as I deal with Shift Tab in Emu. ! Note this shifted tab is a non standard extension, I (jhs) did it because: ! I saw med editor has a back tab facility, & wanted to access it. ! I noted MED assumed for all of {VT52, AT386-M, & hp-term} that 0x0A ! would indicate MiTab (so I hacked that into Emu) ! I have no justification to choose between hpBackTab & osfBackTab, ! I would have preffered a straight BackTab, but there wasnt one, ! but I could at least decide hpKP_BackTab didnt seem appropriate. ! ! 0x18 = 24 keycode 24 = q Q at ! Default set by /etc/sysconfig:keymap=german.iso: q Q at ! Default needed by PC102.German: q Q at ! ! 0x19 = 25 ! keycode 25 = w W keycode 25 = W ! ! 0x1A = 26 keycode 26 = E ! ! 0x1B = 27 keycode 27 = R ! ! 0x1C = 28 keycode 28 = T ! ! 0x1D = 29 keycode 29 = Z ! ! 0x1E = 30 keycode 30 = U ! ! 0x1F = 31 keycode 31 = I ! ! 0x20 = 32 keycode 32 = O ! ! 0x21 = 33 keycode 33 = P ! ! 0x22 = 34 keycode 34 = Udiaeresis ! Default needed by PC102.German: Udiaeresis ! Default set by /etc/sysconfig:keymap=german.iso: Greek_eta ! Default 2.0.5 German Site: Greek_eta ! ! 0x23 = 35 keycode 35 = plus asterisk asciitilde ! Default set by /etc/sysconfig:keymap=german.iso: plus asterisk asciitilde ! Default needed by PC102.German: plus asterisk asciitilde ! ! 0x24 = 36 keycode 36 = Return ! ! 0x25 = 37 keycode 37 = Control_L ! ! 0x26 = 38 keycode 38 = A ! ! 0x27 = 39 keycode 39 = S ! ! 0x28 = 40 keycode 40 = D ! ! 0x29 = 41 keycode 41 = F ! ! 0x2A = 42 keycode 42 = G ! ! 0x2B = 43 keycode 43 = H ! ! 0x2C = 44 keycode 44 = J ! ! 0x2D = 45 keycode 45 = K ! ! 0x2E = 46 keycode 46 = L ! ! 0x2F = 47 keycode 47 = Odiaeresis ! if you dont run stty cs8 -istrip befor xmodmap, zou wont get odiaeresis ! Default set by /etc/sysconfig:keymap=german.iso: division ! Default needed by PC102.German: Odiaeresis ! Default 2.0.5 German Site: division ! ! 0x30 = 48 keycode 48 = Adiaeresis ! Default set by /etc/sysconfig:keymap=german.iso: Greek_SIGMA ! Default needed by PC102.German: Adiaeresis ! Default 2.0.5 German Site: Greek_SIGMA ! ! 0x31 = 49 keycode 49 = asciicircum degree ! Default set by /etc/sysconfig:keymap=german.iso: asciicircum degree ! Default needed by PC102.German: asciicircum degree ! ! 0x32 = 50 keycode 50 = Shift_L ! ! 0x33 = 51 keycode 51 = numbersign apostrophe ! Default set by /etc/sysconfig:keymap=german.iso: numbersign apostrophe ! Default needed by PC102.German: numbersign apostrophe ! ! 0x34 = 52 keycode 52 = Y ! ! 0x35 = 53 keycode 53 = X ! ! 0x36 = 54 keycode 54 = C ! ! 0x37 = 55 keycode 55 = V ! ! 0x38 = 56 keycode 56 = B ! ! 0x39 = 57 keycode 57 = N ! ! 0x3A = 58 keycode 58 = m M mu ! Default set by /etc/sysconfig:keymap=german.iso: m M mu ! Default needed by PC102.German: m M mu ! ! 0x3B = 59 keycode 59 = comma semicolon ! Default set by /etc/sysconfig:keymap=german.iso: comma semicolon ! Default needed by PC102.German: comma semicolon ! ! 0x3C = 60 keycode 60 = period colon ! Default set by /etc/sysconfig:keymap=german.iso: period colon ! Default needed by PC102.German: period colon ! ! 0x3D = 61 keycode 61 = minus underscore ! Default set by /etc/sysconfig:keymap=german.iso: minus underscore ! Default needed by PC102.German: minus underscore ! ! 0x3E = 62 keycode 62 = Shift_R ! ! 0x3F = 63 keycode 63 = KP_F3 ! ! 0x40 = 64 keycode 64 = Alt_L Meta_L ! ! 0x41 = 65 keycode 65 = space ! ! 0x42 = 66 keycode 66 = Caps_Lock ! ! 0x43 = 67 keycode 67 = F1 ! Default set by vector /etc/sysconfig:keymap=NO: F1 NoSymbol Alt_R ! Default set by 2.0.5 German Site: F1 NoSymbol Alt_R ! ! 0x44 = 68 keycode 68 = F2 ! Default set by vector /etc/sysconfig:keymap=NO: F2 NoSymbol Control_L ! Default set by 2.0.5 German Site: F2 NoSymbol Control_L ! ! 0x45 = 69 keycode 69 = F3 ! Default set by vector /etc/sysconfig:keymap=NO: F3 NoSymbol Control_R ! Default set by 2.0.5 German Site: F3 NoSymbol Control_R ! ! 0x46 = 70 keycode 70 = F4 ! ! 0x47 = 71 keycode 71 = F5 ! ! 0x48 = 72 keycode 72 = F6 ! ! 0x49 = 73 keycode 73 = F7 ! ! 0x4A = 74 keycode 74 = F8 ! ! 0x4B = 75 keycode 75 = F9 1 2 3 ! ! 0x4C = 76 keycode 76 = F10 ! ! 0x4D = 77 keycode 77 = KP_F1 ! ! 0x4E = 78 ! Labels: USA:Scroll Lock German:Rollen keycode 78 = Mode_switch 0x1007ff01 ! Default set by 2.0.5 German Site: Mode_switch 0x1007ff01 ! Default set by /etc/sysconfig:keymap=german.iso: Multi_key ! Default needed by PC102.German: Mode_switch ! Mode_switch X386Mode_Lock ! Printed label above Key F1 on an Esprit 1 is "Hold Screen", ! Presumably akin to PC Key "Scroll Lock". But we will not do ! keycode 78 = F1 ! because (a) its not necessary, (b) Scroll Lock is another way of doing AltGr ! ! 0x4F = 79 keycode 79 = KP_7 ! ! 0x50 = 80 keycode 80 = KP_8 ! ! 0x51 = 81 keycode 81 = KP_9 ! ! 0x52 = 82 keycode 82 = KP_F4 ! ! 0x53 = 83 keycode 83 = KP_4 ! ! 0x54 = 84 keycode 84 = KP_5 ! ! 0x55 = 85 keycode 85 = KP_6 ! ! 0x56 = 86 ! Generate upper of the 2 vt220 keys this pc key covers, ! (lower of the 2 vt220 is done by the PC Print Screen key) keycode 86 = KP_Subtract ! ! 0x57 = 87 keycode 87 = KP_1 ! ! 0x58 = 88 keycode 88 = KP_2 ! ! 0x59 = 89 keycode 89 = KP_3 ! ! 0x5A = 90 keycode 90 = KP_0 ! ! 0x5B = 91 keycode 91 = KP_Decimal ! ! 0x5C = 92 keycode 92 = Sys_Req ! Default set by /etc/sysconfig:keymap=german.iso: Sys_Req ! /usr/X11R6/lib/X11/etc/xmodmap.std does not set 92, ! yet something sets it on both ! vector (FreeBSD-2.2-current+X11R6pl11+XFree86_3.1.2) & 2.0.5 German Site (FreeBSD-2.0.5). ! ! 0x5D = 93 keycode 93 = ! ! 0x5E = 94 keycode 94 = less greater bar ! Default set by /etc/sysconfig:keymap=german.iso: less greater bar ! Default needed by PC102.German: less greater bar ! No key 94 on PC101 USA board, so these symbols not available when in Geramn. ! ! 0x5F = 95 keycode 95 = F11 ! ! 0x60 = 96 keycode 96 = F12 ! ! Keycodes 97-107 are not available on 84-key keyboards ! 0x61 = 97 keycode 97 = Insert ! ! 0x62 = 98 keycode 98 = Up ! ! 0x63 = 99 keycode 99 = Cancel ! ! 0x64 = 100 keycode 100 = Left ! ! 0x65 = 101 keycode 101 = Begin ! XKeyCaps 2.31 suggests: leave it unset ! ! 0x66 = 102 keycode 102 = Right ! ! 0x67 = 103 keycode 103 = Prior ! ! 0x68 = 104 keycode 104 = Down ! ! 0x69 = 105 keycode 105 = Next ! ! 0x6A = 106 keycode 106 = Find ! ! 0x6B = 107 keycode 107 = Select ! ! 0x6C = 108 keycode 108 = KP_Enter ! ! 0x6D = 109 keycode 109 = Control_R ! Multi_key ! ! 0x6E = 110 ! Esprit 1 has no Pause, ! (NCD has no Pause, but above F3 is marked "Compose"). ! so we steal this to make up the extra 1 style key missing on a PC ! 101/102 key keyboard ! keycode 110 = KP_Separator keycode 110 = less greater bar bar ! ! 0x6F = 111 ! There is no such key as Print on an Esprit 1, ! (but above F2 key it is is labelled Print.) ! As there is no Print key on a 1, ! we steal the key to duplicate a German key of '<' & '>' & '|', ! As a USA PC 101 kbd when forced into German PC 102 layout is missing key 94, ! which generates this functionality. ! keycode 111 = less greater bar bar keycode 111 = KP_Separator ! PROBLEM ! For some reason Ctl Right SysReq(111) always comes out as SysReq, & wont ! accept another value, so I swopped the functionality of 110 & 111, ! even though on the keyboard, the other layout is more desirable. ! ! 0x70 = 112 keycode 112 = KP_F2 ! ! 0x71 = 113 keycode 113 = Mode_switch ! Labels: USA:Alt Right German:Alt. Gross ! Default set by /etc/sysconfig:keymap=german.iso: Alt_R Meta_R ! Suggested by Xkeycaps: Alt_R Meta_R ! ! 0x72 = 114 keycode 114 = Break ! ! Keycodes 115-117 are only available on some extended keyboards ! (e.g., Microsoft's ergonomic keyboard). ! ! 0x73 = 115 keycode 115 = Meta_L ! ! 0x74 = 116 keycode 116 = Meta_R ! ! 0x75 = 117 keycode 117 = Menu ! ! 0x76 = 118 keycode 118 = ! ! 0x77 = 119 keycode 119 = ! ! 0x78 = 120 keycode 120 = ! ! 0x79 = 121 keycode 121 = ! ! 0x7A = 122 keycode 122 = ! ! 0x7B = 123 keycode 123 = ! ! 0x7C = 124 keycode 124 = ! ! 0x7D = 125 keycode 125 = ! ! 0x7E = 126 keycode 126 = ! ! 0x7F = 127 keycode 127 = ! ! 0x80 = 128 keycode 128 = ! ! 0x81 = 129 keycode 129 = ! ! 0x82 = 130 keycode 130 = ! ! 0x83 = 131 keycode 131 = ! ! 0x84 = 132 keycode 132 = ! ! 0x85 = 133 keycode 133 = ! ! 0x86 = 134 keycode 134 = ! ! If ServerNumLock is set in /usr/X11R6/lib/X11/XF86Config, set 136-157. ! ! 0x88 = 136 ! keycode 136 = KP_7 ! ! 0x89 = 137 ! keycode 137 = KP_8 ! ! 0x8A = 138 ! keycode 138 = KP_9 ! ! 0x8B = 139 ! keycode 139 = KP_4 ! ! 0x8C = 140 ! keycode 140 = KP_5 ! ! 0x8D = 141 ! keycode 141 = KP_6 ! ! 0x8E = 142 ! keycode 142 = KP_1 ! ! 0x8F = 143 ! keycode 143 = KP_2 ! ! 0x90 = 144 ! keycode 144 = KP_3 ! ! 0x91 = 145 ! keycode 145 = KP_0 ! ! 0x92 = 146 ! keycode 146 = KP_Decimal ! ! 0x93 = 147 ! keycode 147 = KP_7 ! ! 0x94 = 148 ! keycode 148 = KP_8 ! ! 0x95 = 149 ! keycode 149 = KP_9 ! ! 0x96 = 150 ! keycode 150 = KP_4 ! ! 0x97 = 151 ! keycode 151 = KP_5 ! ! 0x98 = 152 ! keycode 152 = KP_6 ! ! 0x99 = 153 ! keycode 153 = KP_1 ! ! 0x9A = 154 ! keycode 154 = KP_2 ! ! 0x9B = 155 ! keycode 155 = KP_3 ! ! 0x9C = 156 ! keycode 156 = KP_0 ! ! 0x9D = 157 ! keycode 157 = KP_Decimal ! ! ============================================================================= ! ============================================================================= ! CLEAR MODIFIERS clear shift clear lock clear control clear mod1 clear mod2 clear mod3 clear mod4 clear mod5 ! ============================================================================= ! SET MODIFIERS ! Mappings should be added before the section setting modifiers. ! up to 2 keys per modifier ! add shift = Shift_L Shift_R ! add lock = Caps_Lock ! add control = Control_L Control_R ! add mod1 = Alt_L ! add mod2 = Num_Lock ! If you have ServerNumlock set in your XF86Config, you can comment out ! add mod2 = Num_Lock ! ! mod3 unused ! ! mod4 unused ! ! If you use ModeShift or ModeLock, the following modifier must be set: add mod5 = Mode_switch ! add Mod5 = Alt_R