2 Keymap for Latin American keyboard. v1.02
3 Victor A. Rodriguez - El bit Fantasma - Bit-Man@Tasa.Com.AR
5 The Latin American keyboard makes differences between the left and
6 right ALT keys (the right one is so called ALT GR), and uses accent.
11 v1.01 Extended ASCII characters replaced by hex. equivalents
12 v1.02 NR_SCAN_CODES has grown to 0x80, required by Toshiya Ogawa
13 (ogw@shizuokanet.or.jp) and added by Kees J.Bot (kjb@cs.vu.nl)
17 #if (NR_SCAN_CODES != 0x80)
18 #error NR_SCAN_CODES mis-match
21 /* scan-code !Shift Shift Alt1 Alt2 Alt+Sh Ctrl */
22 /* ==================================================================== */
23 /* 00 - none */ 0, 0, 0, 0, 0, 0,
24 /* 01 - ESC */ C('['), C('['), CA('['),CA('['),CA('['),C('['),
25 /* 02 - '1' */ '1', '!', A('1'), A('1'), A('!'), C('A'),
26 /* 03 - '2' */ '2', '"', A('2'), A('2'), A('"'), C('@'),
27 /* 04 - '3' */ '3', '#', A('3'), A('3'), A('#'), C('C'),
28 /* 05 - '4' */ '4', '$', A('4'), A('4'), A('$'), C('D'),
29 /* 06 - '5' */ '5', '%', A('5'), A('5'), A('%'), C('E'),
30 /* 07 - '6' */ '6', '&', A('6'), A('6'), A('$'), C('^'),
31 /* 08 - '7' */ '7', '/', A('7'), A('7'), A('/'), C('G'),
32 /* 09 - '8' */ '8', '(', A('8'), A('8'), A('('), C('H'),
33 /* 10 - '9' */ '9', ')', A('9'), A('9'), A(')'), C('I'),
34 /* 11 - '0' */ '0', '=', A('0'), A('0'), A('='), C('@'),
35 /* 12 - '-' */ '\'', '?', A('\''), 0x5c, A('?'), C('?'),
36 /* 13 - '¨' */ 0xa8, 0xad, A(0xa8),A(0xa8),A(0xad), C('@'),
37 /* 14 - BS */ C('H'), C('H'), CA('H'),CA('H'),CA('H'),0177,
38 /* 15 - TAB */ C('I'), C('I'), CA('I'),CA('I'),CA('I'),C('I'),
39 /* 16 - 'q' */ L('q'), 'Q', A('q'), 0x40, A('Q'), C('Q'),
40 /* 17 - 'w' */ L('w'), 'W', A('w'), A('w'), A('W'), C('W'),
41 /* 18 - 'e' */ L('e'), 'E', A('e'), A('e'), A('E'), C('E'),
42 /* 19 - 'r' */ L('r'), 'R', A('r'), A('r'), A('R'), C('R'),
43 /* 20 - 't' */ L('t'), 'T', A('t'), A('t'), A('T'), C('T'),
44 /* 21 - 'y' */ L('y'), 'Y', A('y'), A('y'), A('Y'), C('Y'),
45 /* 22 - 'u' */ L('u'), 'U', A('u'), A('u'), A('U'), C('U'),
46 /* 23 - 'i' */ L('i'), 'I', A('i'), A('i'), A('I'), C('I'),
47 /* 24 - 'o' */ L('o'), 'O', A('o'), A('o'), A('O'), C('O'),
48 /* 25 - 'p' */ L('p'), 'P', A('p'), A('p'), A('P'), C('P'),
49 /* 26 - 'ï' */ 0xef, 0xf9, A(0xef),A(0xef),A(0xf9),C(0xef),
50 /* 27 - '+' */ '+', '*', A('+'), 0x7e, A('*'), C('+'),
51 /* 28 - CR/LF */ C('M'), C('M'), CA('M'),CA('M'),CA('M'),C('J'),
52 /* 29 - Ctrl */ CTRL, CTRL, CTRL, CTRL, CTRL, CTRL,
53 /* 30 - 'a' */ L('a'), 'A', A('a'), A('a'), A('A'), C('A'),
54 /* 31 - 's' */ L('s'), 'S', A('s'), A('s'), A('S'), C('S'),
55 /* 32 - 'd' */ L('d'), 'D', A('d'), A('d'), A('D'), C('D'),
56 /* 33 - 'f' */ L('f'), 'F', A('f'), A('f'), A('F'), C('F'),
57 /* 34 - 'g' */ L('g'), 'G', A('g'), A('g'), A('G'), C('G'),
58 /* 35 - 'h' */ L('h'), 'H', A('h'), A('h'), A('H'), C('H'),
59 /* 36 - 'j' */ L('j'), 'J', A('j'), A('j'), A('J'), C('J'),
60 /* 37 - 'k' */ L('k'), 'K', A('k'), A('k'), A('K'), C('K'),
61 /* 38 - 'l' */ L('l'), 'L', A('l'), A('l'), A('L'), C('L'),
62 /* 39 - '¤' */ L(0xa4),0xa5, A(0xa4),A(0xa4),A(0xa5),C('@'),
63 /* 40 - '{' */ '{', '[', A('{'), 0x5e, A('['), C('@'),
64 /* 41 - '|' */ '|', 0xf8, A('|'), 0xaa, A('\''),C('@'),
65 /* 42 - l. SHIFT*/ SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT,
66 /* 43 - '}' */ 0x7d, 0x5d, A('<'), 0x60, A('>'), C('<'),
67 /* 44 - 'z' */ L('z'), 'Z', A('z'), A('z'), A('Z'), C('Z'),
68 /* 45 - 'x' */ L('x'), 'X', A('x'), A('x'), A('X'), C('X'),
69 /* 46 - 'c' */ L('c'), 'C', A('c'), A('c'), A('C'), C('C'),
70 /* 47 - 'v' */ L('v'), 'V', A('v'), A('v'), A('V'), C('V'),
71 /* 48 - 'b' */ L('b'), 'B', A('b'), A('b'), A('B'), C('B'),
72 /* 49 - 'n' */ L('n'), 'N', A('n'), A('n'), A('N'), C('N'),
73 /* 50 - 'm' */ L('m'), 'M', A('m'), A('m'), A('M'), C('M'),
74 /* 51 - ',' */ ',', ';', A(','), A(','), A(';'), C('@'),
75 /* 52 - '.' */ '.', ':', A('.'), A('.'), A(':'), C('@'),
76 /* 53 - '/' */ '-', '_', A('-'), A('-'), A('_'), C('@'),
77 /* 54 - r. SHIFT*/ SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT,
78 /* 55 - '*' */ '*', '*', A('*'), A('*'), A('*'), C('@'),
79 /* 56 - ALT */ ALT, ALT, ALT, ALT, ALT, ALT,
80 /* 57 - ' ' */ ' ', ' ', A(' '), A(' '), A(' '), C('@'),
81 /* 58 - CapsLck */ CALOCK, CALOCK, CALOCK, CALOCK, CALOCK, CALOCK,
82 /* 59 - F1 */ F1, SF1, AF1, AF1, ASF1, CF1,
83 /* 60 - F2 */ F2, SF2, AF2, AF2, ASF2, CF2,
84 /* 61 - F3 */ F3, SF3, AF3, AF3, ASF3, CF3,
85 /* 62 - F4 */ F4, SF4, AF4, AF4, ASF4, CF4,
86 /* 63 - F5 */ F5, SF5, AF5, AF5, ASF5, CF5,
87 /* 64 - F6 */ F6, SF6, AF6, AF6, ASF6, CF6,
88 /* 65 - F7 */ F7, SF7, AF7, AF7, ASF7, CF7,
89 /* 66 - F8 */ F8, SF8, AF8, AF8, ASF8, CF8,
90 /* 67 - F9 */ F9, SF9, AF9, AF9, ASF9, CF9,
91 /* 68 - F10 */ F10, SF10, AF10, AF10, ASF10, CF10,
92 /* 69 - NumLock */ NLOCK, NLOCK, NLOCK, NLOCK, NLOCK, NLOCK,
93 /* 70 - ScrLock */ SLOCK, SLOCK, SLOCK, SLOCK, SLOCK, SLOCK,
94 /* 71 - Home */ HOME, '7', AHOME, AHOME, A('7'), CHOME,
95 /* 72 - CurUp */ UP, '8', AUP, AUP, A('8'), CUP,
96 /* 73 - PgUp */ PGUP, '9', APGUP, APGUP, A('9'), CPGUP,
97 /* 74 - '-' */ '-', '-', '-', '-', '-', '-',
98 /* 75 - Left */ LEFT, '4', ALEFT, ALEFT, A('4'), CLEFT,
99 /* 76 - MID */ MID, '5', AMID, AMID, A('5'), CMID,
100 /* 77 - Right */ RIGHT, '6', ARIGHT, ARIGHT, A('6'), CRIGHT,
101 /* 78 - '+' */ '+', '+', '+', '+', '+', '+',
102 /* 79 - End */ END, '1', AEND, AEND, A('1'), CEND,
103 /* 80 - Down */ DOWN, '2', ADOWN, ADOWN, A('2'), CDOWN,
104 /* 81 - PgDown */ PGDN, '3', APGDN, APGDN, A('3'), CPGDN,
105 /* 82 - Insert */ INSRT, '0', AINSRT, AINSRT, A('0'), CINSRT,
106 /* 83 - Delete */ 0177, '.', A(0177),A(0177),A('.'), 0177,
107 /* 84 - Enter */ C('M'), C('M'), CA('M'),CA('M'),CA('M'),C('J'),
108 /* 85 - ??? */ 0, 0, 0, 0, 0, 0,
109 /* 86 - ??? */ '<', '>', A('<'), A('>'), A('>'), C('@'),
110 /* 87 - F11 */ F11, SF11, AF11, AF11, ASF11, CF11,
111 /* 88 - F12 */ F12, SF12, AF12, AF12, ASF12, CF12,
112 /* 89 - ??? */ 0, 0, 0, 0, 0, 0,
113 /* 90 - ??? */ 0, 0, 0, 0, 0, 0,
114 /* 91 - ??? */ 0, 0, 0, 0, 0, 0,
115 /* 92 - ??? */ 0, 0, 0, 0, 0, 0,
116 /* 93 - ??? */ 0, 0, 0, 0, 0, 0,
117 /* 94 - ??? */ 0, 0, 0, 0, 0, 0,
118 /* 95 - ??? */ 0, 0, 0, 0, 0, 0,
119 /* 96 - EXT_KEY */ EXTKEY, EXTKEY, EXTKEY, EXTKEY, EXTKEY, EXTKEY,
120 /* 97 - ??? */ 0, 0, 0, 0, 0, 0,
121 /* 98 - ??? */ 0, 0, 0, 0, 0, 0,
122 /* 99 - ??? */ 0, 0, 0, 0, 0, 0,
123 /*100 - ??? */ 0, 0, 0, 0, 0, 0,
124 /*101 - ??? */ 0, 0, 0, 0, 0, 0,
125 /*102 - ??? */ 0, 0, 0, 0, 0, 0,
126 /*103 - ??? */ 0, 0, 0, 0, 0, 0,
127 /*104 - ??? */ 0, 0, 0, 0, 0, 0,
128 /*105 - ??? */ 0, 0, 0, 0, 0, 0,
129 /*106 - ??? */ 0, 0, 0, 0, 0, 0,
130 /*107 - ??? */ 0, 0, 0, 0, 0, 0,
131 /*108 - ??? */ 0, 0, 0, 0, 0, 0,
132 /*109 - ??? */ 0, 0, 0, 0, 0, 0,
133 /*110 - ??? */ 0, 0, 0, 0, 0, 0,
134 /*111 - ??? */ 0, 0, 0, 0, 0, 0,
135 /*112 - ??? */ 0, 0, 0, 0, 0, 0,
136 /*113 - ??? */ 0, 0, 0, 0, 0, 0,
137 /*114 - ??? */ 0, 0, 0, 0, 0, 0,
138 /*115 - ??? */ 0, 0, 0, 0, 0, 0,
139 /*116 - ??? */ 0, 0, 0, 0, 0, 0,
140 /*117 - ??? */ 0, 0, 0, 0, 0, 0,
141 /*118 - ??? */ 0, 0, 0, 0, 0, 0,
142 /*119 - ??? */ 0, 0, 0, 0, 0, 0,
143 /*120 - ??? */ 0, 0, 0, 0, 0, 0,
144 /*121 - ??? */ 0, 0, 0, 0, 0, 0,
145 /*122 - ??? */ 0, 0, 0, 0, 0, 0,
146 /*123 - ??? */ 0, 0, 0, 0, 0, 0,
147 /*124 - ??? */ 0, 0, 0, 0, 0, 0,
148 /*125 - ??? */ 0, 0, 0, 0, 0, 0,
149 /*126 - ??? */ 0, 0, 0, 0, 0, 0,
150 /*127 - ??? */ 0, 0, 0, 0, 0, 0