Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame^] | 1 | |
| 2 | /* Do not edit this file! It was automatically generated by */ |
| 3 | /* loadkeys --mktable defkeymap.map > defkeymap.c */ |
| 4 | |
| 5 | #include <linux/types.h> |
| 6 | #include <linux/keyboard.h> |
| 7 | #include <linux/kd.h> |
| 8 | |
| 9 | u_short plain_map[NR_KEYS] = { |
| 10 | 0xf200, 0xf060, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036, |
| 11 | 0xf037, 0xf038, 0xf039, 0xf030, 0xf02d, 0xf03d, 0xf200, 0xf07f, |
| 12 | 0xf009, 0xfb71, 0xfb77, 0xfb65, 0xfb72, 0xfb74, 0xfb79, 0xfb75, |
| 13 | 0xfb69, 0xfb6f, 0xfb70, 0xf05b, 0xf05d, 0xf05c, 0xf207, 0xfb61, |
| 14 | 0xfb73, 0xfb64, 0xfb66, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c, |
| 15 | 0xf03b, 0xf027, 0xf060, 0xf201, 0xf700, 0xf200, 0xfb7a, 0xfb78, |
| 16 | 0xfb63, 0xfb76, 0xfb62, 0xfb6e, 0xfb6d, 0xf02c, 0xf02e, 0xf02f, |
| 17 | 0xf200, 0xf700, 0xf702, 0xf200, 0xf703, 0xf020, 0xf703, 0xf200, |
| 18 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 19 | 0xf200, 0xf200, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf601, |
| 20 | 0xf200, 0xf200, 0xf200, 0xf603, 0xf600, 0xf118, 0xf119, 0xf200, |
| 21 | 0xf200, 0xf602, 0xf208, 0xf02d, 0xf02b, 0xf30c, 0xf02e, 0xf30d, |
| 22 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 23 | 0xf200, 0xf200, 0xf200, 0xf117, 0xf600, 0xf200, 0xf01b, 0xf200, |
| 24 | 0xf100, 0xf101, 0xf102, 0xf103, 0xf104, 0xf105, 0xf106, 0xf107, |
| 25 | 0xf108, 0xf109, 0xf200, 0xf200, 0xf200, 0xf200, 0xf11d, 0xf200, |
| 26 | }; |
| 27 | |
| 28 | u_short shift_map[NR_KEYS] = { |
| 29 | 0xf200, 0xf07e, 0xf021, 0xf040, 0xf023, 0xf024, 0xf025, 0xf05e, |
| 30 | 0xf026, 0xf02a, 0xf028, 0xf029, 0xf05f, 0xf02b, 0xf200, 0xf07f, |
| 31 | 0xf009, 0xfb51, 0xfb57, 0xfb45, 0xfb52, 0xfb54, 0xfb59, 0xfb55, |
| 32 | 0xfb49, 0xfb4f, 0xfb50, 0xf07b, 0xf07d, 0xf07c, 0xf207, 0xfb41, |
| 33 | 0xfb53, 0xfb44, 0xfb46, 0xfb47, 0xfb48, 0xfb4a, 0xfb4b, 0xfb4c, |
| 34 | 0xf03a, 0xf022, 0xf07e, 0xf201, 0xf700, 0xf200, 0xfb5a, 0xfb58, |
| 35 | 0xfb43, 0xfb56, 0xfb42, 0xfb4e, 0xfb4d, 0xf03c, 0xf03e, 0xf03f, |
| 36 | 0xf200, 0xf700, 0xf702, 0xf200, 0xf703, 0xf020, 0xf703, 0xf200, |
| 37 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 38 | 0xf200, 0xf200, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf601, |
| 39 | 0xf200, 0xf200, 0xf200, 0xf603, 0xf600, 0xf20b, 0xf20a, 0xf200, |
| 40 | 0xf200, 0xf602, 0xf213, 0xf02d, 0xf02b, 0xf30c, 0xf02e, 0xf30d, |
| 41 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 42 | 0xf200, 0xf200, 0xf200, 0xf117, 0xf600, 0xf200, 0xf01b, 0xf200, |
| 43 | 0xf10a, 0xf10b, 0xf10c, 0xf10d, 0xf10e, 0xf10f, 0xf110, 0xf111, |
| 44 | 0xf112, 0xf113, 0xf200, 0xf200, 0xf200, 0xf200, 0xf11d, 0xf200, |
| 45 | }; |
| 46 | |
| 47 | u_short altgr_map[NR_KEYS] = { |
| 48 | 0xf200, 0xf200, 0xf200, 0xf040, 0xf200, 0xf024, 0xf200, 0xf200, |
| 49 | 0xf07b, 0xf05b, 0xf05d, 0xf07d, 0xf05c, 0xf200, 0xf200, 0xf200, |
| 50 | 0xf200, 0xfb71, 0xfb77, 0xfb65, 0xfb72, 0xfb74, 0xfb79, 0xfb75, |
| 51 | 0xfb69, 0xfb6f, 0xfb70, 0xf200, 0xf200, 0xf200, 0xf207, 0xfb61, |
| 52 | 0xfb73, 0xfb64, 0xfb66, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c, |
| 53 | 0xf200, 0xf200, 0xf200, 0xf201, 0xf700, 0xf200, 0xfb7a, 0xfb78, |
| 54 | 0xfb63, 0xfb76, 0xfb62, 0xfb6e, 0xfb6d, 0xf200, 0xf200, 0xf200, |
| 55 | 0xf200, 0xf700, 0xf702, 0xf200, 0xf703, 0xf200, 0xf703, 0xf200, |
| 56 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 57 | 0xf200, 0xf200, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf601, |
| 58 | 0xf200, 0xf200, 0xf200, 0xf603, 0xf600, 0xf118, 0xf119, 0xf200, |
| 59 | 0xf200, 0xf602, 0xf208, 0xf02d, 0xf02b, 0xf30c, 0xf02e, 0xf30d, |
| 60 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 61 | 0xf200, 0xf200, 0xf200, 0xf117, 0xf600, 0xf200, 0xf200, 0xf200, |
| 62 | 0xf50c, 0xf50d, 0xf50e, 0xf50f, 0xf510, 0xf511, 0xf512, 0xf513, |
| 63 | 0xf514, 0xf515, 0xf200, 0xf200, 0xf200, 0xf200, 0xf11d, 0xf200, |
| 64 | }; |
| 65 | |
| 66 | u_short ctrl_map[NR_KEYS] = { |
| 67 | 0xf200, 0xf200, 0xf200, 0xf000, 0xf01b, 0xf01c, 0xf01d, 0xf01e, |
| 68 | 0xf01f, 0xf07f, 0xf200, 0xf200, 0xf01f, 0xf200, 0xf200, 0xf008, |
| 69 | 0xf200, 0xf011, 0xf017, 0xf005, 0xf012, 0xf014, 0xf019, 0xf015, |
| 70 | 0xf009, 0xf00f, 0xf010, 0xf01b, 0xf01d, 0xf01c, 0xf207, 0xf001, |
| 71 | 0xf013, 0xf004, 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c, |
| 72 | 0xf007, 0xf000, 0xf200, 0xf201, 0xf700, 0xf200, 0xf01a, 0xf018, |
| 73 | 0xf003, 0xf016, 0xf002, 0xf00e, 0xf20e, 0xf07f, 0xf200, 0xf200, |
| 74 | 0xf200, 0xf700, 0xf702, 0xf200, 0xf703, 0xf000, 0xf703, 0xf200, |
| 75 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 76 | 0xf200, 0xf200, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf601, |
| 77 | 0xf200, 0xf200, 0xf200, 0xf603, 0xf600, 0xf118, 0xf119, 0xf200, |
| 78 | 0xf200, 0xf602, 0xf208, 0xf02d, 0xf02b, 0xf30c, 0xf02e, 0xf30d, |
| 79 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 80 | 0xf200, 0xf200, 0xf200, 0xf117, 0xf600, 0xf200, 0xf200, 0xf200, |
| 81 | 0xf100, 0xf101, 0xf102, 0xf103, 0xf104, 0xf105, 0xf106, 0xf107, |
| 82 | 0xf108, 0xf109, 0xf200, 0xf200, 0xf200, 0xf200, 0xf11d, 0xf200, |
| 83 | }; |
| 84 | |
| 85 | u_short shift_ctrl_map[NR_KEYS] = { |
| 86 | 0xf200, 0xf200, 0xf200, 0xf000, 0xf200, 0xf200, 0xf200, 0xf200, |
| 87 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf01f, 0xf200, 0xf200, 0xf200, |
| 88 | 0xf200, 0xf011, 0xf017, 0xf005, 0xf012, 0xf014, 0xf019, 0xf015, |
| 89 | 0xf009, 0xf00f, 0xf010, 0xf200, 0xf200, 0xf200, 0xf207, 0xf001, |
| 90 | 0xf013, 0xf004, 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c, |
| 91 | 0xf200, 0xf200, 0xf200, 0xf201, 0xf700, 0xf200, 0xf01a, 0xf018, |
| 92 | 0xf003, 0xf016, 0xf002, 0xf00e, 0xf00d, 0xf200, 0xf200, 0xf200, |
| 93 | 0xf200, 0xf700, 0xf702, 0xf200, 0xf703, 0xf200, 0xf703, 0xf200, |
| 94 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 95 | 0xf200, 0xf200, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf601, |
| 96 | 0xf200, 0xf200, 0xf200, 0xf603, 0xf600, 0xf118, 0xf119, 0xf200, |
| 97 | 0xf200, 0xf602, 0xf208, 0xf02d, 0xf02b, 0xf30c, 0xf02e, 0xf30d, |
| 98 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 99 | 0xf200, 0xf200, 0xf200, 0xf117, 0xf600, 0xf200, 0xf200, 0xf200, |
| 100 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 101 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf11d, 0xf200, |
| 102 | }; |
| 103 | |
| 104 | u_short alt_map[NR_KEYS] = { |
| 105 | 0xf200, 0xf81b, 0xf831, 0xf832, 0xf833, 0xf834, 0xf835, 0xf836, |
| 106 | 0xf837, 0xf838, 0xf839, 0xf830, 0xf82d, 0xf83d, 0xf200, 0xf87f, |
| 107 | 0xf809, 0xf871, 0xf877, 0xf865, 0xf872, 0xf874, 0xf879, 0xf875, |
| 108 | 0xf869, 0xf86f, 0xf870, 0xf85b, 0xf85d, 0xf85c, 0xf207, 0xf861, |
| 109 | 0xf873, 0xf864, 0xf866, 0xf867, 0xf868, 0xf86a, 0xf86b, 0xf83b, |
| 110 | 0xf827, 0xf860, 0xf200, 0xf80d, 0xf700, 0xf200, 0xf87a, 0xf878, |
| 111 | 0xf863, 0xf876, 0xf862, 0xf82c, 0xf82e, 0xf82f, 0xf200, 0xf200, |
| 112 | 0xf200, 0xf700, 0xf702, 0xf200, 0xf703, 0xf820, 0xf703, 0xf200, |
| 113 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 114 | 0xf200, 0xf200, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf210, |
| 115 | 0xf200, 0xf200, 0xf200, 0xf603, 0xf600, 0xf118, 0xf119, 0xf200, |
| 116 | 0xf200, 0xf211, 0xf208, 0xf02d, 0xf02b, 0xf30c, 0xf02e, 0xf30d, |
| 117 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 118 | 0xf200, 0xf200, 0xf200, 0xf117, 0xf600, 0xf200, 0xf200, 0xf200, |
| 119 | 0xf500, 0xf501, 0xf502, 0xf503, 0xf504, 0xf505, 0xf506, 0xf507, |
| 120 | 0xf508, 0xf509, 0xf200, 0xf200, 0xf200, 0xf200, 0xf11d, 0xf200, |
| 121 | }; |
| 122 | |
| 123 | u_short ctrl_alt_map[NR_KEYS] = { |
| 124 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 125 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 126 | 0xf200, 0xf811, 0xf817, 0xf805, 0xf812, 0xf814, 0xf819, 0xf815, |
| 127 | 0xf809, 0xf80f, 0xf810, 0xf200, 0xf200, 0xf200, 0xf207, 0xf801, |
| 128 | 0xf813, 0xf804, 0xf806, 0xf807, 0xf808, 0xf80a, 0xf80b, 0xf80c, |
| 129 | 0xf200, 0xf200, 0xf200, 0xf201, 0xf700, 0xf200, 0xf81a, 0xf818, |
| 130 | 0xf803, 0xf816, 0xf802, 0xf80e, 0xf80d, 0xf200, 0xf200, 0xf200, |
| 131 | 0xf200, 0xf700, 0xf702, 0xf200, 0xf703, 0xf200, 0xf703, 0xf200, |
| 132 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 133 | 0xf200, 0xf200, 0xf200, 0xf115, 0xf07f, 0xf200, 0xf200, 0xf601, |
| 134 | 0xf200, 0xf200, 0xf200, 0xf603, 0xf600, 0xf118, 0xf119, 0xf200, |
| 135 | 0xf200, 0xf602, 0xf208, 0xf02d, 0xf02b, 0xf30c, 0xf02e, 0xf30d, |
| 136 | 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, |
| 137 | 0xf200, 0xf200, 0xf200, 0xf117, 0xf600, 0xf200, 0xf200, 0xf200, |
| 138 | 0xf500, 0xf501, 0xf502, 0xf503, 0xf504, 0xf505, 0xf506, 0xf507, |
| 139 | 0xf508, 0xf509, 0xf200, 0xf200, 0xf200, 0xf200, 0xf11d, 0xf200, |
| 140 | }; |
| 141 | |
| 142 | ushort *key_maps[MAX_NR_KEYMAPS] = { |
| 143 | plain_map, shift_map, altgr_map, 0, |
| 144 | ctrl_map, shift_ctrl_map, 0, 0, |
| 145 | alt_map, 0, 0, 0, |
| 146 | ctrl_alt_map, 0 |
| 147 | }; |
| 148 | |
| 149 | unsigned int keymap_count = 7; |
| 150 | |
| 151 | |
| 152 | /* |
| 153 | * Philosophy: most people do not define more strings, but they who do |
| 154 | * often want quite a lot of string space. So, we statically allocate |
| 155 | * the default and allocate dynamically in chunks of 512 bytes. |
| 156 | */ |
| 157 | |
| 158 | char func_buf[] = { |
| 159 | '\033', '[', '[', 'A', 0, |
| 160 | '\033', '[', '[', 'B', 0, |
| 161 | '\033', '[', '[', 'C', 0, |
| 162 | '\033', '[', '[', 'D', 0, |
| 163 | '\033', '[', '[', 'E', 0, |
| 164 | '\033', '[', '1', '7', '~', 0, |
| 165 | '\033', '[', '1', '8', '~', 0, |
| 166 | '\033', '[', '1', '9', '~', 0, |
| 167 | '\033', '[', '2', '0', '~', 0, |
| 168 | '\033', '[', '2', '1', '~', 0, |
| 169 | '\033', '[', '2', '3', '~', 0, |
| 170 | '\033', '[', '2', '4', '~', 0, |
| 171 | '\033', '[', '2', '5', '~', 0, |
| 172 | '\033', '[', '2', '6', '~', 0, |
| 173 | '\033', '[', '2', '8', '~', 0, |
| 174 | '\033', '[', '2', '9', '~', 0, |
| 175 | '\033', '[', '3', '1', '~', 0, |
| 176 | '\033', '[', '3', '2', '~', 0, |
| 177 | '\033', '[', '3', '3', '~', 0, |
| 178 | '\033', '[', '3', '4', '~', 0, |
| 179 | '\033', '[', '1', '~', 0, |
| 180 | '\033', '[', '2', '~', 0, |
| 181 | '\033', '[', '3', '~', 0, |
| 182 | '\033', '[', '4', '~', 0, |
| 183 | '\033', '[', '5', '~', 0, |
| 184 | '\033', '[', '6', '~', 0, |
| 185 | '\033', '[', 'M', 0, |
| 186 | '\033', '[', 'P', 0, |
| 187 | }; |
| 188 | |
| 189 | |
| 190 | char *funcbufptr = func_buf; |
| 191 | int funcbufsize = sizeof(func_buf); |
| 192 | int funcbufleft = 0; /* space left */ |
| 193 | |
| 194 | char *func_table[MAX_NR_FUNC] = { |
| 195 | func_buf + 0, |
| 196 | func_buf + 5, |
| 197 | func_buf + 10, |
| 198 | func_buf + 15, |
| 199 | func_buf + 20, |
| 200 | func_buf + 25, |
| 201 | func_buf + 31, |
| 202 | func_buf + 37, |
| 203 | func_buf + 43, |
| 204 | func_buf + 49, |
| 205 | func_buf + 55, |
| 206 | func_buf + 61, |
| 207 | func_buf + 67, |
| 208 | func_buf + 73, |
| 209 | func_buf + 79, |
| 210 | func_buf + 85, |
| 211 | func_buf + 91, |
| 212 | func_buf + 97, |
| 213 | func_buf + 103, |
| 214 | func_buf + 109, |
| 215 | func_buf + 115, |
| 216 | func_buf + 120, |
| 217 | func_buf + 125, |
| 218 | func_buf + 130, |
| 219 | func_buf + 135, |
| 220 | func_buf + 140, |
| 221 | func_buf + 145, |
| 222 | 0, |
| 223 | 0, |
| 224 | func_buf + 149, |
| 225 | 0, |
| 226 | }; |
| 227 | |
| 228 | struct kbdiacr accent_table[MAX_DIACR] = { |
| 229 | {'`', 'A', 'À'}, {'`', 'a', 'à'}, |
| 230 | {'\'', 'A', 'Á'}, {'\'', 'a', 'á'}, |
| 231 | {'^', 'A', 'Â'}, {'^', 'a', 'â'}, |
| 232 | {'~', 'A', 'Ã'}, {'~', 'a', 'ã'}, |
| 233 | {'"', 'A', 'Ä'}, {'"', 'a', 'ä'}, |
| 234 | {'O', 'A', 'Å'}, {'o', 'a', 'å'}, |
| 235 | {'0', 'A', 'Å'}, {'0', 'a', 'å'}, |
| 236 | {'A', 'A', 'Å'}, {'a', 'a', 'å'}, |
| 237 | {'A', 'E', 'Æ'}, {'a', 'e', 'æ'}, |
| 238 | {',', 'C', 'Ç'}, {',', 'c', 'ç'}, |
| 239 | {'`', 'E', 'È'}, {'`', 'e', 'è'}, |
| 240 | {'\'', 'E', 'É'}, {'\'', 'e', 'é'}, |
| 241 | {'^', 'E', 'Ê'}, {'^', 'e', 'ê'}, |
| 242 | {'"', 'E', 'Ë'}, {'"', 'e', 'ë'}, |
| 243 | {'`', 'I', 'Ì'}, {'`', 'i', 'ì'}, |
| 244 | {'\'', 'I', 'Í'}, {'\'', 'i', 'í'}, |
| 245 | {'^', 'I', 'Î'}, {'^', 'i', 'î'}, |
| 246 | {'"', 'I', 'Ï'}, {'"', 'i', 'ï'}, |
| 247 | {'-', 'D', 'Ð'}, {'-', 'd', 'ð'}, |
| 248 | {'~', 'N', 'Ñ'}, {'~', 'n', 'ñ'}, |
| 249 | {'`', 'O', 'Ò'}, {'`', 'o', 'ò'}, |
| 250 | {'\'', 'O', 'Ó'}, {'\'', 'o', 'ó'}, |
| 251 | {'^', 'O', 'Ô'}, {'^', 'o', 'ô'}, |
| 252 | {'~', 'O', 'Õ'}, {'~', 'o', 'õ'}, |
| 253 | {'"', 'O', 'Ö'}, {'"', 'o', 'ö'}, |
| 254 | {'/', 'O', 'Ø'}, {'/', 'o', 'ø'}, |
| 255 | {'`', 'U', 'Ù'}, {'`', 'u', 'ù'}, |
| 256 | {'\'', 'U', 'Ú'}, {'\'', 'u', 'ú'}, |
| 257 | {'^', 'U', 'Û'}, {'^', 'u', 'û'}, |
| 258 | {'"', 'U', 'Ü'}, {'"', 'u', 'ü'}, |
| 259 | {'\'', 'Y', 'Ý'}, {'\'', 'y', 'ý'}, |
| 260 | {'T', 'H', 'Þ'}, {'t', 'h', 'þ'}, |
| 261 | {'s', 's', 'ß'}, {'"', 'y', 'ÿ'}, |
| 262 | {'s', 'z', 'ß'}, {'i', 'j', 'ÿ'}, |
| 263 | }; |
| 264 | |
| 265 | unsigned int accent_table_size = 68; |