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, 0xf200, 0xf200, 0xf200, 0xf200, 0xf100, 0xf101, 0xf109, 11 0xf102, 0xf10a, 0xf103, 0xf10b, 0xf104, 0xf701, 0xf105, 0xf200, 12 0xf106, 0xf107, 0xf108, 0xf703, 0xf603, 0xf11d, 0xf200, 0xf209, 13 0xf601, 0xf200, 0xf200, 0xf600, 0xf602, 0xf01b, 0xf031, 0xf032, 14 0xf033, 0xf034, 0xf035, 0xf036, 0xf037, 0xf038, 0xf039, 0xf030, 15 0xf02d, 0xf03d, 0xf060, 0xf07f, 0xf115, 0xf03d, 0xf30d, 0xf30c, 16 0xf200, 0xf200, 0xf310, 0xf200, 0xf114, 0xf009, 0xfb71, 0xfb77, 17 0xfb65, 0xfb72, 0xfb74, 0xfb79, 0xfb75, 0xfb69, 0xfb6f, 0xfb70, 18 0xf05b, 0xf05d, 0xf07f, 0xf20e, 0xf307, 0xf308, 0xf309, 0xf30b, 19 0xf200, 0xf200, 0xf117, 0xf200, 0xf702, 0xfb61, 0xfb73, 0xfb64, 20 0xfb66, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c, 0xf03b, 0xf027, 21 0xf05c, 0xf201, 0xf30e, 0xf304, 0xf305, 0xf306, 0xf300, 0xf200, 22 0xf118, 0xf200, 0xf208, 0xf700, 0xfb7a, 0xfb78, 0xfb63, 0xfb76, 23 0xfb62, 0xfb6e, 0xfb6d, 0xf02c, 0xf02e, 0xf02f, 0xf700, 0xf00a, 24 0xf301, 0xf302, 0xf303, 0xf200, 0xf200, 0xf200, 0xf11b, 0xf207, 25 0xf200, 0xf020, 0xf200, 0xf119, 0xf200, 0xf30a, 0xf200, 0xf200, 26 }; 27 28 u_short shift_map[NR_KEYS] = { 29 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf10a, 0xf10b, 0xf113, 30 0xf10c, 0xf10a, 0xf10d, 0xf10b, 0xf10e, 0xf701, 0xf10f, 0xf200, 31 0xf110, 0xf111, 0xf112, 0xf703, 0xf603, 0xf11d, 0xf200, 0xf203, 32 0xf601, 0xf200, 0xf200, 0xf600, 0xf602, 0xf01b, 0xf021, 0xf040, 33 0xf023, 0xf024, 0xf025, 0xf05e, 0xf026, 0xf02a, 0xf028, 0xf029, 34 0xf05f, 0xf02b, 0xf07e, 0xf07f, 0xf115, 0xf03d, 0xf30d, 0xf30c, 35 0xf200, 0xf200, 0xf310, 0xf200, 0xf114, 0xf009, 0xfb51, 0xfb57, 36 0xfb45, 0xfb52, 0xfb54, 0xfb59, 0xfb55, 0xfb49, 0xfb4f, 0xfb50, 37 0xf07b, 0xf07d, 0xf07f, 0xf20e, 0xf307, 0xf308, 0xf309, 0xf30b, 38 0xf200, 0xf200, 0xf117, 0xf200, 0xf702, 0xfb41, 0xfb53, 0xfb44, 39 0xfb46, 0xfb47, 0xfb48, 0xfb4a, 0xfb4b, 0xfb4c, 0xf03a, 0xf022, 40 0xf07c, 0xf201, 0xf30e, 0xf304, 0xf305, 0xf306, 0xf300, 0xf200, 41 0xf20b, 0xf200, 0xf208, 0xf700, 0xfb5a, 0xfb58, 0xfb43, 0xfb56, 42 0xfb42, 0xfb4e, 0xfb4d, 0xf03c, 0xf03e, 0xf03f, 0xf700, 0xf00a, 43 0xf301, 0xf302, 0xf303, 0xf200, 0xf200, 0xf200, 0xf11b, 0xf207, 44 0xf200, 0xf020, 0xf200, 0xf20a, 0xf200, 0xf30a, 0xf200, 0xf200, 45 }; 46 47 u_short altgr_map[NR_KEYS] = { 48 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf50c, 0xf50d, 0xf515, 49 0xf50e, 0xf516, 0xf50f, 0xf517, 0xf510, 0xf701, 0xf511, 0xf200, 50 0xf512, 0xf513, 0xf514, 0xf703, 0xf603, 0xf11d, 0xf200, 0xf202, 51 0xf601, 0xf200, 0xf200, 0xf600, 0xf602, 0xf200, 0xf200, 0xf040, 52 0xf200, 0xf024, 0xf200, 0xf200, 0xf07b, 0xf05b, 0xf05d, 0xf07d, 53 0xf05c, 0xf200, 0xf200, 0xf200, 0xf115, 0xf03d, 0xf30d, 0xf30c, 54 0xf200, 0xf200, 0xf310, 0xf200, 0xf114, 0xf200, 0xfb71, 0xfb77, 55 0xf918, 0xfb72, 0xfb74, 0xfb79, 0xfb75, 0xfb69, 0xfb6f, 0xfb70, 56 0xf200, 0xf07e, 0xf200, 0xf20e, 0xf911, 0xf912, 0xf913, 0xf30b, 57 0xf200, 0xf200, 0xf117, 0xf200, 0xf702, 0xf914, 0xfb73, 0xf917, 58 0xf919, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c, 0xf200, 0xf200, 59 0xf200, 0xf201, 0xf30e, 0xf90e, 0xf90f, 0xf910, 0xf90a, 0xf200, 60 0xf118, 0xf200, 0xf208, 0xf700, 0xfb7a, 0xfb78, 0xf916, 0xfb76, 61 0xf915, 0xfb6e, 0xfb6d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf00a, 62 0xf90b, 0xf90c, 0xf90d, 0xf200, 0xf200, 0xf200, 0xf11b, 0xf207, 63 0xf200, 0xf200, 0xf200, 0xf119, 0xf200, 0xf30a, 0xf200, 0xf200, 64 }; 65 66 u_short ctrl_map[NR_KEYS] = { 67 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf100, 0xf101, 0xf109, 68 0xf102, 0xf10a, 0xf103, 0xf10b, 0xf104, 0xf701, 0xf105, 0xf200, 69 0xf106, 0xf107, 0xf108, 0xf703, 0xf603, 0xf11d, 0xf200, 0xf204, 70 0xf601, 0xf200, 0xf200, 0xf600, 0xf602, 0xf200, 0xf200, 0xf000, 71 0xf01b, 0xf01c, 0xf01d, 0xf01e, 0xf01f, 0xf07f, 0xf200, 0xf200, 72 0xf01f, 0xf200, 0xf000, 0xf008, 0xf115, 0xf03d, 0xf30d, 0xf30c, 73 0xf200, 0xf200, 0xf310, 0xf200, 0xf114, 0xf200, 0xf011, 0xf017, 74 0xf005, 0xf012, 0xf014, 0xf019, 0xf015, 0xf009, 0xf00f, 0xf010, 75 0xf01b, 0xf01d, 0xf008, 0xf20e, 0xf307, 0xf308, 0xf309, 0xf30b, 76 0xf200, 0xf200, 0xf117, 0xf200, 0xf702, 0xf001, 0xf013, 0xf004, 77 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c, 0xf200, 0xf007, 78 0xf01c, 0xf201, 0xf30e, 0xf304, 0xf305, 0xf306, 0xf300, 0xf200, 79 0xf118, 0xf200, 0xf208, 0xf700, 0xf01a, 0xf018, 0xf003, 0xf016, 80 0xf002, 0xf00e, 0xf00d, 0xf200, 0xf20e, 0xf07f, 0xf700, 0xf00a, 81 0xf301, 0xf302, 0xf303, 0xf200, 0xf200, 0xf200, 0xf11b, 0xf207, 82 0xf200, 0xf000, 0xf200, 0xf119, 0xf200, 0xf30a, 0xf200, 0xf200, 83 }; 84 85 u_short shift_ctrl_map[NR_KEYS] = { 86 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 87 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf701, 0xf200, 0xf200, 88 0xf200, 0xf200, 0xf200, 0xf703, 0xf603, 0xf11d, 0xf200, 0xf200, 89 0xf601, 0xf200, 0xf200, 0xf600, 0xf602, 0xf200, 0xf200, 0xf000, 90 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 91 0xf01f, 0xf200, 0xf200, 0xf200, 0xf115, 0xf03d, 0xf30d, 0xf30c, 92 0xf200, 0xf200, 0xf310, 0xf200, 0xf114, 0xf200, 0xf011, 0xf017, 93 0xf005, 0xf012, 0xf014, 0xf019, 0xf015, 0xf009, 0xf00f, 0xf010, 94 0xf200, 0xf200, 0xf200, 0xf20e, 0xf307, 0xf308, 0xf309, 0xf30b, 95 0xf200, 0xf200, 0xf117, 0xf200, 0xf702, 0xf001, 0xf013, 0xf004, 96 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c, 0xf200, 0xf200, 97 0xf200, 0xf201, 0xf30e, 0xf304, 0xf305, 0xf306, 0xf300, 0xf200, 98 0xf118, 0xf200, 0xf208, 0xf700, 0xf01a, 0xf018, 0xf003, 0xf016, 99 0xf002, 0xf00e, 0xf00d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf00a, 100 0xf301, 0xf302, 0xf303, 0xf200, 0xf200, 0xf200, 0xf11b, 0xf207, 101 0xf200, 0xf200, 0xf200, 0xf119, 0xf200, 0xf30a, 0xf200, 0xf200, 102 }; 103 104 u_short alt_map[NR_KEYS] = { 105 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf500, 0xf501, 0xf509, 106 0xf502, 0xf50a, 0xf503, 0xf50b, 0xf504, 0xf701, 0xf505, 0xf200, 107 0xf506, 0xf507, 0xf508, 0xf703, 0xf603, 0xf11d, 0xf200, 0xf209, 108 0xf210, 0xf200, 0xf200, 0xf600, 0xf211, 0xf81b, 0xf831, 0xf832, 109 0xf833, 0xf834, 0xf835, 0xf836, 0xf837, 0xf838, 0xf839, 0xf830, 110 0xf82d, 0xf83d, 0xf860, 0xf87f, 0xf115, 0xf03d, 0xf30d, 0xf30c, 111 0xf200, 0xf200, 0xf310, 0xf200, 0xf114, 0xf809, 0xf871, 0xf877, 112 0xf865, 0xf872, 0xf874, 0xf879, 0xf875, 0xf869, 0xf86f, 0xf870, 113 0xf85b, 0xf85d, 0xf87f, 0xf20e, 0xf907, 0xf908, 0xf909, 0xf30b, 114 0xf200, 0xf200, 0xf117, 0xf200, 0xf702, 0xf861, 0xf873, 0xf864, 115 0xf866, 0xf867, 0xf868, 0xf86a, 0xf86b, 0xf86c, 0xf83b, 0xf827, 116 0xf85c, 0xf80d, 0xf30e, 0xf904, 0xf905, 0xf906, 0xf900, 0xf200, 117 0xf118, 0xf200, 0xf208, 0xf700, 0xf87a, 0xf878, 0xf863, 0xf876, 118 0xf862, 0xf86e, 0xf86d, 0xf82c, 0xf82e, 0xf82f, 0xf700, 0xf00a, 119 0xf901, 0xf902, 0xf903, 0xf200, 0xf200, 0xf200, 0xf11b, 0xf207, 120 0xf200, 0xf820, 0xf200, 0xf119, 0xf200, 0xf30a, 0xf200, 0xf200, 121 }; 122 123 u_short ctrl_alt_map[NR_KEYS] = { 124 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf500, 0xf501, 0xf509, 125 0xf502, 0xf50a, 0xf503, 0xf50b, 0xf504, 0xf701, 0xf505, 0xf200, 126 0xf506, 0xf507, 0xf508, 0xf703, 0xf603, 0xf11d, 0xf200, 0xf200, 127 0xf601, 0xf200, 0xf200, 0xf600, 0xf602, 0xf200, 0xf200, 0xf200, 128 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 129 0xf200, 0xf200, 0xf200, 0xf200, 0xf115, 0xf03d, 0xf30d, 0xf30c, 130 0xf200, 0xf200, 0xf20c, 0xf200, 0xf114, 0xf200, 0xf811, 0xf817, 131 0xf805, 0xf812, 0xf814, 0xf819, 0xf815, 0xf809, 0xf80f, 0xf810, 132 0xf200, 0xf200, 0xf20c, 0xf20e, 0xf307, 0xf308, 0xf309, 0xf30b, 133 0xf200, 0xf200, 0xf117, 0xf200, 0xf702, 0xf801, 0xf813, 0xf804, 134 0xf806, 0xf807, 0xf808, 0xf80a, 0xf80b, 0xf80c, 0xf200, 0xf200, 135 0xf200, 0xf201, 0xf30e, 0xf304, 0xf305, 0xf306, 0xf300, 0xf200, 136 0xf118, 0xf200, 0xf208, 0xf700, 0xf81a, 0xf818, 0xf803, 0xf816, 137 0xf802, 0xf80e, 0xf80d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf00a, 138 0xf301, 0xf302, 0xf303, 0xf200, 0xf200, 0xf200, 0xf11b, 0xf207, 139 0xf200, 0xf200, 0xf200, 0xf119, 0xf200, 0xf30a, 0xf200, 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', '\300'}, {'`', 'a', '\340'}, 230 {'\'', 'A', '\301'}, {'\'', 'a', '\341'}, 231 {'^', 'A', '\302'}, {'^', 'a', '\342'}, 232 {'~', 'A', '\303'}, {'~', 'a', '\343'}, 233 {'"', 'A', '\304'}, {'"', 'a', '\344'}, 234 {'O', 'A', '\305'}, {'o', 'a', '\345'}, 235 {'0', 'A', '\305'}, {'0', 'a', '\345'}, 236 {'A', 'A', '\305'}, {'a', 'a', '\345'}, 237 {'A', 'E', '\306'}, {'a', 'e', '\346'}, 238 {',', 'C', '\307'}, {',', 'c', '\347'}, 239 {'`', 'E', '\310'}, {'`', 'e', '\350'}, 240 {'\'', 'E', '\311'}, {'\'', 'e', '\351'}, 241 {'^', 'E', '\312'}, {'^', 'e', '\352'}, 242 {'"', 'E', '\313'}, {'"', 'e', '\353'}, 243 {'`', 'I', '\314'}, {'`', 'i', '\354'}, 244 {'\'', 'I', '\315'}, {'\'', 'i', '\355'}, 245 {'^', 'I', '\316'}, {'^', 'i', '\356'}, 246 {'"', 'I', '\317'}, {'"', 'i', '\357'}, 247 {'-', 'D', '\320'}, {'-', 'd', '\360'}, 248 {'~', 'N', '\321'}, {'~', 'n', '\361'}, 249 {'`', 'O', '\322'}, {'`', 'o', '\362'}, 250 {'\'', 'O', '\323'}, {'\'', 'o', '\363'}, 251 {'^', 'O', '\324'}, {'^', 'o', '\364'}, 252 {'~', 'O', '\325'}, {'~', 'o', '\365'}, 253 {'"', 'O', '\326'}, {'"', 'o', '\366'}, 254 {'/', 'O', '\330'}, {'/', 'o', '\370'}, 255 {'`', 'U', '\331'}, {'`', 'u', '\371'}, 256 {'\'', 'U', '\332'}, {'\'', 'u', '\372'}, 257 {'^', 'U', '\333'}, {'^', 'u', '\373'}, 258 {'"', 'U', '\334'}, {'"', 'u', '\374'}, 259 {'\'', 'Y', '\335'}, {'\'', 'y', '\375'}, 260 {'T', 'H', '\336'}, {'t', 'h', '\376'}, 261 {'s', 's', '\337'}, {'"', 'y', '\377'}, 262 {'s', 'z', '\337'}, {'i', 'j', '\377'}, 263 }; 264 265 unsigned int accent_table_size = 68; 266