2 * Keymap for russian keyboard.
3 * Modified by Roman V. Ignatov <ignatov@minix3.ru>
7 /* scan-code !Shift Shift Alt1 Alt2 Alt+Sh Ctrl */
8 /* ==================================================================== */
9 /* 00 - none */ 0, 0, 0, 0, 0, 0,
10 /* 01 - ESC */ C('['), C('['), CA('['),CA('['),CA('['),C('['),
11 /* 02 - '1' */ '1', '!', '1', A('1'), '!', C('A'),
12 /* 03 - '2' */ '2', '@', '2', A('2'), '"', C('@'),
13 /* 04 - '3' */ '3', '#', '3', A('3'), 'N', C('C'),
14 /* 05 - '4' */ '4', '$', '4', A('4'), ';', C('D'),
15 /* 06 - '5' */ '5', '%', '5', A('5'), '%', C('E'),
16 /* 07 - '6' */ '6', '^', '6', A('6'), ':', C('^'),
17 /* 08 - '7' */ '7', '&', '7', A('7'), '?', C('G'),
18 /* 09 - '8' */ '8', '*', '8', A('8'), '*', C('H'),
19 /* 10 - '9' */ '9', '(', '9', A('9'), '(', C('I'),
20 /* 11 - '0' */ '0', ')', '0', A('0'), ')', C('@'),
21 /* 12 - '-' */ '-', '_', '-', A('-'), '_', C('_'),
22 /* 13 - '=' */ '=', '+', '=', A('='), '+', C('@'),
23 /* 14 - BS */ C('H'), C('H'), C('H'), CA('H'), C('H'),0177,
24 /* 15 - TAB */ C('I'), C('I'), C('I'), CA('I'),C('I'), C('I'),
25 /* 16 - 'q' */ L('q'), 'Q', A('J'), A('q'), A('j'), C('Q'),
26 /* 17 - 'w' */ L('w'), 'W', A(195), A('w'), A(227), C('W'),
27 /* 18 - 'e' */ L('e'), 'E', A(213), A('e'), A(245), C('E'),
28 /* 19 - 'r' */ L('r'), 'R', A(203), A('r'), A(235), C('R'),
29 /* 20 - 't' */ L('t'), 'T', A(197), A('t'), A(229), C('T'),
30 /* 21 - 'y' */ L('y'), 'Y', A(206), A('y'), A(238), C('Y'),
31 /* 22 - 'u' */ L('u'), 'U', A(199), A('u'), A(231), C('U'),
32 /* 23 - 'i' */ L('i'), 'I', A(219), A('i'), A(251), C('I'),
33 /* 24 - 'o' */ L('o'), 'O', A(221), A('o'), A(253), C('O'),
34 /* 25 - 'p' */ L('p'), 'P', A(218), A('p'), A(250), C('P'),
35 /* 26 - '[' */ '[', '{', A(200), A('['), A(232), C('['),
36 /* 27 - ']' */ ']', '}', A(223), A(']'), A(255), C(']'),
37 /* 28 - CR/LF */ C('M'), C('M'), C('M'), CA('M'), C('M') ,C('J'),
38 /* 29 - Ctrl */ CTRL, CTRL, CTRL, CTRL, CTRL, CTRL,
39 /* 30 - 'a' */ L('a'), 'A', A(198), A('a'), A(230), C('A'),
40 /* 31 - 's' */ L('s'), 'S', A(217), A('s'), A(249), C('S'),
41 /* 32 - 'd' */ L('d'), 'D', A(215), A('d'), A(247), C('D'),
42 /* 33 - 'f' */ L('f'), 'F', A(193), A('f'), A(225), C('F'),
43 /* 34 - 'g' */ L('g'), 'G', A(208), A('g'), A(240), C('G'),
44 /* 35 - 'h' */ L('h'), 'H', A(210), A('h'), A(242), C('H'),
45 /* 36 - 'j' */ L('j'), 'J', A(207), A('j'), A(239), C('J'),
46 /* 37 - 'k' */ L('k'), 'K', A(204), A('k'), A(236), C('K'),
47 /* 38 - 'l' */ L('l'), 'L', A(196), A('l'), A(228), C('L'),
48 /* 39 - ';' */ ';', ':', A(214), A(';'), A(246), C('@'),
49 /* 40 - '\'' */ '\'', '"', A(220), A('\''),A(252), C('@'),
50 /* 41 - '`' */ '`', '~', A(163), A('`'), A(179), C('@'),
51 /* 42 - l. SHIFT*/ SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT,
52 /* 43 - '\\' */ '\\', '|', '\\', A('\\'), '|', C('\\'),
53 /* 44 - 'z' */ L('z'), 'Z', A(209), A('z'), A(241), C('Z'),
54 /* 45 - 'x' */ L('x'), 'X', A(222), A('x'), A(254), C('X'),
55 /* 46 - 'c' */ L('c'), 'C', A(211), A('c'), A(243), C('C'),
56 /* 47 - 'v' */ L('v'), 'V', A(205), A('v'), A(237), C('V'),
57 /* 48 - 'b' */ L('b'), 'B', A(201), A('b'), A(233), C('B'),
58 /* 49 - 'n' */ L('n'), 'N', A(212), A('n'), A(244), C('N'),
59 /* 50 - 'm' */ L('m'), 'M', A(216), A('m'), A(248), C('M'),
60 /* 51 - ',' */ ',', '<', A(194), A(','), A(226), C('@'),
61 /* 52 - '.' */ '.', '>', A(192), A('.'), A(224), C('@'),
62 /* 53 - '/' */ '/', '?', '.', A('/'), ',', C('@'),
63 /* 54 - r. SHIFT*/ SHIFT, SHIFT, SHIFT, SHIFT, SHIFT, SHIFT,
64 /* 55 - '*' */ '*', '*', '*', A('*'), '*', C('@'),
65 /* 56 - ALT */ ALT, ALT, ALT, ALT, ALT, ALT,
66 /* 57 - ' ' */ ' ', ' ', ' ', A(' '), ' ', C('@'),
67 /* 58 - CapsLck */ CALOCK, CALOCK, CALOCK, CALOCK, CALOCK, CALOCK,
68 /* 59 - F1 */ F1, SF1, F1, AF1, SF1, CF1,
69 /* 60 - F2 */ F2, SF2, F2, AF2, SF2, CF2,
70 /* 61 - F3 */ F3, SF3, F3, AF3, SF3, CF3,
71 /* 62 - F4 */ F4, SF4, F4, AF4, SF4, CF4,
72 /* 63 - F5 */ F5, SF5, F5, AF5, SF5, CF5,
73 /* 64 - F6 */ F6, SF6, F6, AF6, SF6, CF6,
74 /* 65 - F7 */ F7, SF7, F7, AF7, SF7, CF7,
75 /* 66 - F8 */ F8, SF8, F8, AF8, SF8, CF8,
76 /* 67 - F9 */ F9, SF9, F9, AF9, SF9, CF9,
77 /* 68 - F10 */ F10, SF10, F10, AF10, SF10, CF10,
78 /* 69 - NumLock */ NLOCK, NLOCK, NLOCK, NLOCK, NLOCK, NLOCK,
79 /* 70 - ScrLock */ SLOCK, SLOCK, SLOCK, SLOCK, SLOCK, SLOCK,
80 /* 71 - Home */ HOME, '7', HOME, AHOME, '7', CHOME,
81 /* 72 - CurUp */ UP, '8', UP, AUP, '8', CUP,
82 /* 73 - PgUp */ PGUP, '9', PGUP, APGUP, '9', CPGUP,
83 /* 74 - '-' */ NMIN, '-', NMIN, ANMIN, '-', CNMIN,
84 /* 75 - Left */ LEFT, '4', LEFT, ALEFT, '4', CLEFT,
85 /* 76 - MID */ MID, '5', MID, AMID, '5', CMID,
86 /* 77 - Right */ RIGHT, '6', RIGHT, ARIGHT, '6', CRIGHT,
87 /* 78 - '+' */ PLUS, '+', PLUS, APLUS, '+', CPLUS,
88 /* 79 - End */ END, '1', END, AEND, '1', CEND,
89 /* 80 - Down */ DOWN, '2', DOWN, ADOWN, '2', CDOWN,
90 /* 81 - PgDown */ PGDN, '3', PGDN, APGDN, '3', CPGDN,
91 /* 82 - Insert */ INSRT, '0', INSRT, AINSRT, '0', CINSRT,
92 /* 83 - Delete */ 0177, '.', 0177, A(0177),'.', 0177,
93 /* 84 - Enter */ C('M'), C('M'), C('M'), CA('M'), C('M'),C('J'),
94 /* 85 - ??? */ 0, 0, 0, 0, 0, 0,
95 /* 86 - ??? */ '<', '>', '<', A('|'), '>', C('@'),
96 /* 87 - F11 */ F11, SF11, F11, AF11, SF11, CF11,
97 /* 88 - F12 */ F12, SF12, F12, AF12, SF12, CF12,
98 /* 89 - ??? */ 0, 0, 0, 0, 0, 0,
99 /* 90 - ??? */ 0, 0, 0, 0, 0, 0,
100 /* 91 - ??? */ 0, 0, 0, 0, 0, 0,
101 /* 92 - ??? */ 0, 0, 0, 0, 0, 0,
102 /* 93 - ??? */ 0, 0, 0, 0, 0, 0,
103 /* 94 - ??? */ 0, 0, 0, 0, 0, 0,
104 /* 95 - ??? */ 0, 0, 0, 0, 0, 0,
105 /* 96 - EXT_KEY */ EXTKEY, EXTKEY, EXTKEY, EXTKEY, EXTKEY, EXTKEY,
106 /* 97 - ??? */ 0, 0, 0, 0, 0, 0,
107 /* 98 - ??? */ 0, 0, 0, 0, 0, 0,
108 /* 99 - ??? */ 0, 0, 0, 0, 0, 0,
109 /*100 - ??? */ 0, 0, 0, 0, 0, 0,
110 /*101 - ??? */ 0, 0, 0, 0, 0, 0,
111 /*102 - ??? */ 0, 0, 0, 0, 0, 0,
112 /*103 - ??? */ 0, 0, 0, 0, 0, 0,
113 /*104 - ??? */ 0, 0, 0, 0, 0, 0,
114 /*105 - ??? */ 0, 0, 0, 0, 0, 0,
115 /*106 - ??? */ 0, 0, 0, 0, 0, 0,
116 /*107 - ??? */ 0, 0, 0, 0, 0, 0,
117 /*108 - ??? */ 0, 0, 0, 0, 0, 0,
118 /*109 - ??? */ 0, 0, 0, 0, 0, 0,
119 /*110 - ??? */ 0, 0, 0, 0, 0, 0,
120 /*111 - ??? */ 0, 0, 0, 0, 0, 0,
121 /*112 - ??? */ 0, 0, 0, 0, 0, 0,
122 /*113 - ??? */ 0, 0, 0, 0, 0, 0,
123 /*114 - ??? */ 0, 0, 0, 0, 0, 0,
124 /*115 - ??? */ 0, 0, 0, 0, 0, 0,
125 /*116 - ??? */ 0, 0, 0, 0, 0, 0,
126 /*117 - ??? */ 0, 0, 0, 0, 0, 0,
127 /*118 - ??? */ 0, 0, 0, 0, 0, 0,
128 /*119 - ??? */ 0, 0, 0, 0, 0, 0,
129 /*120 - ??? */ 0, 0, 0, 0, 0, 0,
130 /*121 - ??? */ 0, 0, 0, 0, 0, 0,
131 /*122 - ??? */ 0, 0, 0, 0, 0, 0,
132 /*123 - ??? */ 0, 0, 0, 0, 0, 0,
133 /*124 - ??? */ 0, 0, 0, 0, 0, 0,
134 /*125 - ??? */ 0, 0, 0, 0, 0, 0,
135 /*126 - ??? */ 0, 0, 0, 0, 0, 0,
136 /*127 - ??? */ 0, 0, 0, 0, 0, 0