Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:40

0001 /* Do not edit this file! It was automatically generated by   */
0002 /*    loadkeys --mktable defkeymap.map > defkeymap.c          */
0003 
0004 #include <sys/types.h>
0005 #include <rtems/keyboard.h>
0006 #include <rtems/kd.h>
0007 
0008 u_short plain_map[NR_KEYS] = {
0009     0xf200, 0xf01b, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036,
0010     0xf037, 0xf038, 0xf039, 0xf030, 0xf02d, 0xf03d, 0xf07f, 0xf009,
0011     0xfb71, 0xfb77, 0xfb65, 0xfb72, 0xfb74, 0xfb79, 0xfb75, 0xfb69,
0012     0xfb6f, 0xfb70, 0xf05b, 0xf05d, 0xf201, 0xf702, 0xfb61, 0xfb73,
0013     0xfb64, 0xfb66, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c, 0xf03b,
0014     0xf027, 0xf060, 0xf700, 0xf05c, 0xfb7a, 0xfb78, 0xfb63, 0xfb76,
0015     0xfb62, 0xfb6e, 0xfb6d, 0xf02c, 0xf02e, 0xf02f, 0xf700, 0xf30c,
0016     0xf703, 0xf020, 0xf207, 0xf100, 0xf101, 0xf102, 0xf103, 0xf104,
0017     0xf105, 0xf106, 0xf107, 0xf108, 0xf109, 0xf208, 0xf209, 0xf307,
0018     0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
0019     0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf03c, 0xf10a,
0020     0xf10b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0021     0xf30e, 0xf702, 0xf30d, 0xf01c, 0xf701, 0xf205, 0xf114, 0xf603,
0022     0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
0023     0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
0024     0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0025 };
0026 
0027 u_short shift_map[NR_KEYS] = {
0028     0xf200, 0xf01b, 0xf021, 0xf040, 0xf023, 0xf024, 0xf025, 0xf05e,
0029     0xf026, 0xf02a, 0xf028, 0xf029, 0xf05f, 0xf02b, 0xf07f, 0xf009,
0030     0xfb51, 0xfb57, 0xfb45, 0xfb52, 0xfb54, 0xfb59, 0xfb55, 0xfb49,
0031     0xfb4f, 0xfb50, 0xf07b, 0xf07d, 0xf201, 0xf702, 0xfb41, 0xfb53,
0032     0xfb44, 0xfb46, 0xfb47, 0xfb48, 0xfb4a, 0xfb4b, 0xfb4c, 0xf03a,
0033     0xf022, 0xf07e, 0xf700, 0xf07c, 0xfb5a, 0xfb58, 0xfb43, 0xfb56,
0034     0xfb42, 0xfb4e, 0xfb4d, 0xf03c, 0xf03e, 0xf03f, 0xf700, 0xf30c,
0035     0xf703, 0xf020, 0xf207, 0xf10a, 0xf10b, 0xf10c, 0xf10d, 0xf10e,
0036     0xf10f, 0xf110, 0xf111, 0xf112, 0xf113, 0xf213, 0xf203, 0xf307,
0037     0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
0038     0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf03e, 0xf10a,
0039     0xf10b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0040     0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
0041     0xf20b, 0xf601, 0xf602, 0xf117, 0xf600, 0xf20a, 0xf115, 0xf116,
0042     0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
0043     0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0044 };
0045 
0046 u_short altgr_map[NR_KEYS] = {
0047     0xf200, 0xf200, 0xf200, 0xf040, 0xf200, 0xf024, 0xf200, 0xf200,
0048     0xf07b, 0xf05b, 0xf05d, 0xf07d, 0xf05c, 0xf200, 0xf200, 0xf200,
0049     0xfb71, 0xfb77, 0xf918, 0xfb72, 0xfb74, 0xfb79, 0xfb75, 0xfb69,
0050     0xfb6f, 0xfb70, 0xf200, 0xf07e, 0xf201, 0xf702, 0xf914, 0xfb73,
0051     0xf917, 0xf919, 0xfb67, 0xfb68, 0xfb6a, 0xfb6b, 0xfb6c, 0xf200,
0052     0xf200, 0xf200, 0xf700, 0xf200, 0xfb7a, 0xfb78, 0xf916, 0xfb76,
0053     0xf915, 0xfb6e, 0xfb6d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
0054     0xf703, 0xf200, 0xf207, 0xf50c, 0xf50d, 0xf50e, 0xf50f, 0xf510,
0055     0xf511, 0xf512, 0xf513, 0xf514, 0xf515, 0xf208, 0xf202, 0xf911,
0056     0xf912, 0xf913, 0xf30b, 0xf90e, 0xf90f, 0xf910, 0xf30a, 0xf90b,
0057     0xf90c, 0xf90d, 0xf90a, 0xf310, 0xf206, 0xf200, 0xf07c, 0xf516,
0058     0xf517, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0059     0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
0060     0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
0061     0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
0062     0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0063 };
0064 
0065 u_short ctrl_map[NR_KEYS] = {
0066     0xf200, 0xf200, 0xf200, 0xf000, 0xf01b, 0xf01c, 0xf01d, 0xf01e,
0067     0xf01f, 0xf07f, 0xf200, 0xf200, 0xf01f, 0xf200, 0xf008, 0xf200,
0068     0xf011, 0xf017, 0xf005, 0xf012, 0xf014, 0xf019, 0xf015, 0xf009,
0069     0xf00f, 0xf010, 0xf01b, 0xf01d, 0xf201, 0xf702, 0xf001, 0xf013,
0070     0xf004, 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c, 0xf200,
0071     0xf007, 0xf000, 0xf700, 0xf01c, 0xf01a, 0xf018, 0xf003, 0xf016,
0072     0xf002, 0xf00e, 0xf00d, 0xf200, 0xf20e, 0xf07f, 0xf700, 0xf30c,
0073     0xf703, 0xf000, 0xf207, 0xf100, 0xf101, 0xf102, 0xf103, 0xf104,
0074     0xf105, 0xf106, 0xf107, 0xf108, 0xf109, 0xf208, 0xf204, 0xf307,
0075     0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
0076     0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf10a,
0077     0xf10b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0078     0xf30e, 0xf702, 0xf30d, 0xf01c, 0xf701, 0xf205, 0xf114, 0xf603,
0079     0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
0080     0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
0081     0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0082 };
0083 
0084 u_short shift_ctrl_map[NR_KEYS] = {
0085     0xf200, 0xf200, 0xf200, 0xf000, 0xf200, 0xf200, 0xf200, 0xf200,
0086     0xf200, 0xf200, 0xf200, 0xf200, 0xf01f, 0xf200, 0xf200, 0xf200,
0087     0xf011, 0xf017, 0xf005, 0xf012, 0xf014, 0xf019, 0xf015, 0xf009,
0088     0xf00f, 0xf010, 0xf200, 0xf200, 0xf201, 0xf702, 0xf001, 0xf013,
0089     0xf004, 0xf006, 0xf007, 0xf008, 0xf00a, 0xf00b, 0xf00c, 0xf200,
0090     0xf200, 0xf200, 0xf700, 0xf200, 0xf01a, 0xf018, 0xf003, 0xf016,
0091     0xf002, 0xf00e, 0xf00d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
0092     0xf703, 0xf200, 0xf207, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0093     0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf208, 0xf200, 0xf307,
0094     0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
0095     0xf302, 0xf303, 0xf300, 0xf310, 0xf206, 0xf200, 0xf200, 0xf200,
0096     0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0097     0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
0098     0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
0099     0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
0100     0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0101 };
0102 
0103 u_short alt_map[NR_KEYS] = {
0104     0xf200, 0xf81b, 0xf831, 0xf832, 0xf833, 0xf834, 0xf835, 0xf836,
0105     0xf837, 0xf838, 0xf839, 0xf830, 0xf82d, 0xf83d, 0xf87f, 0xf809,
0106     0xf871, 0xf877, 0xf865, 0xf872, 0xf874, 0xf879, 0xf875, 0xf869,
0107     0xf86f, 0xf870, 0xf85b, 0xf85d, 0xf80d, 0xf702, 0xf861, 0xf873,
0108     0xf864, 0xf866, 0xf867, 0xf868, 0xf86a, 0xf86b, 0xf86c, 0xf83b,
0109     0xf827, 0xf860, 0xf700, 0xf85c, 0xf87a, 0xf878, 0xf863, 0xf876,
0110     0xf862, 0xf86e, 0xf86d, 0xf82c, 0xf82e, 0xf82f, 0xf700, 0xf30c,
0111     0xf703, 0xf820, 0xf207, 0xf500, 0xf501, 0xf502, 0xf503, 0xf504,
0112     0xf505, 0xf506, 0xf507, 0xf508, 0xf509, 0xf208, 0xf209, 0xf907,
0113     0xf908, 0xf909, 0xf30b, 0xf904, 0xf905, 0xf906, 0xf30a, 0xf901,
0114     0xf902, 0xf903, 0xf900, 0xf310, 0xf206, 0xf200, 0xf83c, 0xf50a,
0115     0xf50b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0116     0xf30e, 0xf702, 0xf30d, 0xf01c, 0xf701, 0xf205, 0xf114, 0xf603,
0117     0xf118, 0xf210, 0xf211, 0xf117, 0xf600, 0xf119, 0xf115, 0xf116,
0118     0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
0119     0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0120 };
0121 
0122 u_short ctrl_alt_map[NR_KEYS] = {
0123     0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0124     0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0125     0xf811, 0xf817, 0xf805, 0xf812, 0xf814, 0xf819, 0xf815, 0xf809,
0126     0xf80f, 0xf810, 0xf200, 0xf200, 0xf201, 0xf702, 0xf801, 0xf813,
0127     0xf804, 0xf806, 0xf807, 0xf808, 0xf80a, 0xf80b, 0xf80c, 0xf200,
0128     0xf200, 0xf200, 0xf700, 0xf200, 0xf81a, 0xf818, 0xf803, 0xf816,
0129     0xf802, 0xf80e, 0xf80d, 0xf200, 0xf200, 0xf200, 0xf700, 0xf30c,
0130     0xf703, 0xf200, 0xf207, 0xf500, 0xf501, 0xf502, 0xf503, 0xf504,
0131     0xf505, 0xf506, 0xf507, 0xf508, 0xf509, 0xf208, 0xf200, 0xf307,
0132     0xf308, 0xf309, 0xf30b, 0xf304, 0xf305, 0xf306, 0xf30a, 0xf301,
0133     0xf302, 0xf303, 0xf300, 0xf20c, 0xf206, 0xf200, 0xf200, 0xf50a,
0134     0xf50b, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0135     0xf30e, 0xf702, 0xf30d, 0xf200, 0xf701, 0xf205, 0xf114, 0xf603,
0136     0xf118, 0xf601, 0xf602, 0xf117, 0xf600, 0xf119, 0xf115, 0xf20c,
0137     0xf11a, 0xf10c, 0xf10d, 0xf11b, 0xf11c, 0xf110, 0xf311, 0xf11d,
0138     0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200,
0139 };
0140 
0141 ushort *key_maps[MAX_NR_KEYMAPS] = {
0142     plain_map, shift_map, altgr_map, 0,
0143     ctrl_map, shift_ctrl_map, 0, 0,
0144     alt_map, 0, 0, 0,
0145     ctrl_alt_map,   0
0146 };
0147 
0148 unsigned int keymap_count = 7;
0149 
0150 /*
0151  * Philosophy: most people do not define more strings, but they who do
0152  * often want quite a lot of string space. So, we statically allocate
0153  * the default and allocate dynamically in chunks of 512 bytes.
0154  */
0155 
0156 char func_buf[] = {
0157     '\033', '[', '[', 'A', 0,
0158     '\033', '[', '[', 'B', 0,
0159     '\033', '[', '[', 'C', 0,
0160     '\033', '[', '[', 'D', 0,
0161     '\033', '[', '[', 'E', 0,
0162     '\033', '[', '1', '7', '~', 0,
0163     '\033', '[', '1', '8', '~', 0,
0164     '\033', '[', '1', '9', '~', 0,
0165     '\033', '[', '2', '0', '~', 0,
0166     '\033', '[', '2', '1', '~', 0,
0167     '\033', '[', '2', '3', '~', 0,
0168     '\033', '[', '2', '4', '~', 0,
0169     '\033', '[', '2', '5', '~', 0,
0170     '\033', '[', '2', '6', '~', 0,
0171     '\033', '[', '2', '8', '~', 0,
0172     '\033', '[', '2', '9', '~', 0,
0173     '\033', '[', '3', '1', '~', 0,
0174     '\033', '[', '3', '2', '~', 0,
0175     '\033', '[', '3', '3', '~', 0,
0176     '\033', '[', '3', '4', '~', 0,
0177     '\033', '[', '1', '~', 0,
0178     '\033', '[', '2', '~', 0,
0179     '\033', '[', '3', '~', 0,
0180     '\033', '[', '4', '~', 0,
0181     '\033', '[', '5', '~', 0,
0182     '\033', '[', '6', '~', 0,
0183     '\033', '[', 'M', 0,
0184     '\033', '[', 'P', 0,
0185 };
0186 
0187 char *funcbufptr = func_buf;
0188 int funcbufsize = sizeof(func_buf);
0189 int funcbufleft = 0;          /* space left */
0190 
0191 char *func_table[MAX_NR_FUNC] = {
0192     func_buf + 0,
0193     func_buf + 5,
0194     func_buf + 10,
0195     func_buf + 15,
0196     func_buf + 20,
0197     func_buf + 25,
0198     func_buf + 31,
0199     func_buf + 37,
0200     func_buf + 43,
0201     func_buf + 49,
0202     func_buf + 55,
0203     func_buf + 61,
0204     func_buf + 67,
0205     func_buf + 73,
0206     func_buf + 79,
0207     func_buf + 85,
0208     func_buf + 91,
0209     func_buf + 97,
0210     func_buf + 103,
0211     func_buf + 109,
0212     func_buf + 115,
0213     func_buf + 120,
0214     func_buf + 125,
0215     func_buf + 130,
0216     func_buf + 135,
0217     func_buf + 140,
0218     func_buf + 145,
0219     0,
0220     0,
0221     func_buf + 149,
0222     0,
0223 };
0224 
0225 struct kbdiacr accent_table[MAX_DIACR] = {
0226     {'`', 'A', '\300'}, {'`', 'a', '\340'},
0227     {'\'', 'A', '\301'},    {'\'', 'a', '\341'},
0228     {'^', 'A', '\302'}, {'^', 'a', '\342'},
0229     {'~', 'A', '\303'}, {'~', 'a', '\343'},
0230     {'"', 'A', '\304'}, {'"', 'a', '\344'},
0231     {'O', 'A', '\305'}, {'o', 'a', '\345'},
0232     {'0', 'A', '\305'}, {'0', 'a', '\345'},
0233     {'A', 'A', '\305'}, {'a', 'a', '\345'},
0234     {'A', 'E', '\306'}, {'a', 'e', '\346'},
0235     {',', 'C', '\307'}, {',', 'c', '\347'},
0236     {'`', 'E', '\310'}, {'`', 'e', '\350'},
0237     {'\'', 'E', '\311'},    {'\'', 'e', '\351'},
0238     {'^', 'E', '\312'}, {'^', 'e', '\352'},
0239     {'"', 'E', '\313'}, {'"', 'e', '\353'},
0240     {'`', 'I', '\314'}, {'`', 'i', '\354'},
0241     {'\'', 'I', '\315'},    {'\'', 'i', '\355'},
0242     {'^', 'I', '\316'}, {'^', 'i', '\356'},
0243     {'"', 'I', '\317'}, {'"', 'i', '\357'},
0244     {'-', 'D', '\320'}, {'-', 'd', '\360'},
0245     {'~', 'N', '\321'}, {'~', 'n', '\361'},
0246     {'`', 'O', '\322'}, {'`', 'o', '\362'},
0247     {'\'', 'O', '\323'},    {'\'', 'o', '\363'},
0248     {'^', 'O', '\324'}, {'^', 'o', '\364'},
0249     {'~', 'O', '\325'}, {'~', 'o', '\365'},
0250     {'"', 'O', '\326'}, {'"', 'o', '\366'},
0251     {'/', 'O', '\330'}, {'/', 'o', '\370'},
0252     {'`', 'U', '\331'}, {'`', 'u', '\371'},
0253     {'\'', 'U', '\332'},    {'\'', 'u', '\372'},
0254     {'^', 'U', '\333'}, {'^', 'u', '\373'},
0255     {'"', 'U', '\334'}, {'"', 'u', '\374'},
0256     {'\'', 'Y', '\335'},    {'\'', 'y', '\375'},
0257     {'T', 'H', '\336'}, {'t', 'h', '\376'},
0258     {'s', 's', '\337'}, {'"', 'y', '\377'},
0259     {'s', 'z', '\337'}, {'i', 'j', '\377'},
0260 };
0261 
0262 unsigned int accent_table_size = 68;