1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun /* Do not edit this file! It was automatically generated by */ 4*4882a593Smuzhiyun /* loadkeys --mktable defkeymap.map > defkeymap.c */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun #include <linux/types.h> 7*4882a593Smuzhiyun #include <linux/keyboard.h> 8*4882a593Smuzhiyun #include <linux/kd.h> 9*4882a593Smuzhiyun #include <linux/kbd_kern.h> 10*4882a593Smuzhiyun #include <linux/kbd_diacr.h> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun #include "keyboard.h" 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun u_short ebc_plain_map[NR_KEYS] = { 15*4882a593Smuzhiyun 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 16*4882a593Smuzhiyun 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 17*4882a593Smuzhiyun 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 18*4882a593Smuzhiyun 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 19*4882a593Smuzhiyun 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 20*4882a593Smuzhiyun 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 21*4882a593Smuzhiyun 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 22*4882a593Smuzhiyun 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 0xf000, 23*4882a593Smuzhiyun 0xf020, 0xf000, 0xf0e2, 0xf0e4, 0xf0e0, 0xf0e1, 0xf0e3, 0xf0e5, 24*4882a593Smuzhiyun 0xf0e7, 0xf0f1, 0xf0a2, 0xf02e, 0xf03c, 0xf028, 0xf02b, 0xf07c, 25*4882a593Smuzhiyun 0xf026, 0xf0e9, 0xf0e2, 0xf0eb, 0xf0e8, 0xf0ed, 0xf0ee, 0xf0ef, 26*4882a593Smuzhiyun 0xf0ec, 0xf0df, 0xf021, 0xf024, 0xf02a, 0xf029, 0xf03b, 0xf0ac, 27*4882a593Smuzhiyun 0xf02d, 0xf02f, 0xf0c2, 0xf0c4, 0xf0c0, 0xf0c1, 0xf0c3, 0xf0c5, 28*4882a593Smuzhiyun 0xf0c7, 0xf0d1, 0xf0a6, 0xf02c, 0xf025, 0xf05f, 0xf03e, 0xf03f, 29*4882a593Smuzhiyun 0xf0f8, 0xf0c9, 0xf0ca, 0xf0cb, 0xf0c8, 0xf0cd, 0xf0ce, 0xf0cf, 30*4882a593Smuzhiyun 0xf0cc, 0xf060, 0xf03a, 0xf023, 0xf040, 0xf027, 0xf03d, 0xf022, 31*4882a593Smuzhiyun }; 32*4882a593Smuzhiyun 33*4882a593Smuzhiyun static u_short shift_map[NR_KEYS] = { 34*4882a593Smuzhiyun 0xf0d8, 0xf061, 0xf062, 0xf063, 0xf064, 0xf065, 0xf066, 0xf067, 35*4882a593Smuzhiyun 0xf068, 0xf069, 0xf0ab, 0xf0bb, 0xf0f0, 0xf0fd, 0xf0fe, 0xf0b1, 36*4882a593Smuzhiyun 0xf0b0, 0xf06a, 0xf06b, 0xf06c, 0xf06d, 0xf06e, 0xf06f, 0xf070, 37*4882a593Smuzhiyun 0xf071, 0xf072, 0xf000, 0xf000, 0xf0e6, 0xf0b8, 0xf0c6, 0xf0a4, 38*4882a593Smuzhiyun 0xf0b5, 0xf07e, 0xf073, 0xf074, 0xf075, 0xf076, 0xf077, 0xf078, 39*4882a593Smuzhiyun 0xf079, 0xf07a, 0xf0a1, 0xf0bf, 0xf0d0, 0xf0dd, 0xf0de, 0xf0ae, 40*4882a593Smuzhiyun 0xf402, 0xf0a3, 0xf0a5, 0xf0b7, 0xf0a9, 0xf0a7, 0xf0b6, 0xf0bc, 41*4882a593Smuzhiyun 0xf0bd, 0xf0be, 0xf05b, 0xf05d, 0xf000, 0xf0a8, 0xf0b4, 0xf0d7, 42*4882a593Smuzhiyun 0xf07b, 0xf041, 0xf042, 0xf043, 0xf044, 0xf045, 0xf046, 0xf047, 43*4882a593Smuzhiyun 0xf048, 0xf049, 0xf000, 0xf0f4, 0xf0f6, 0xf0f2, 0xf0f3, 0xf0f5, 44*4882a593Smuzhiyun 0xf07d, 0xf04a, 0xf04b, 0xf04c, 0xf04d, 0xf04e, 0xf04f, 0xf050, 45*4882a593Smuzhiyun 0xf051, 0xf052, 0xf0b9, 0xf0fb, 0xf0fc, 0xf0f9, 0xf0fa, 0xf0ff, 46*4882a593Smuzhiyun 0xf05c, 0xf0f7, 0xf053, 0xf054, 0xf055, 0xf056, 0xf057, 0xf058, 47*4882a593Smuzhiyun 0xf059, 0xf05a, 0xf0b2, 0xf0d4, 0xf0d6, 0xf0d2, 0xf0d3, 0xf0d5, 48*4882a593Smuzhiyun 0xf030, 0xf031, 0xf032, 0xf033, 0xf034, 0xf035, 0xf036, 0xf037, 49*4882a593Smuzhiyun 0xf038, 0xf039, 0xf0b3, 0xf0db, 0xf0dc, 0xf0d9, 0xf0da, 0xf000, 50*4882a593Smuzhiyun }; 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun static u_short ctrl_map[NR_KEYS] = { 53*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 54*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 55*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 56*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 57*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 58*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 59*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 60*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 61*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 62*4882a593Smuzhiyun 0xf200, 0xf200, 0xf11f, 0xf120, 0xf121, 0xf200, 0xf200, 0xf200, 63*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 64*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 65*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 66*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf01a, 0xf003, 0xf212, 0xf004, 0xf200, 67*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 68*4882a593Smuzhiyun 0xf200, 0xf200, 0xf109, 0xf10a, 0xf206, 0xf00a, 0xf200, 0xf200, 69*4882a593Smuzhiyun }; 70*4882a593Smuzhiyun 71*4882a593Smuzhiyun static u_short shift_ctrl_map[NR_KEYS] = { 72*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 73*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 74*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 75*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 76*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 77*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 78*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 79*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 80*4882a593Smuzhiyun 0xf200, 0xf10c, 0xf10d, 0xf10e, 0xf10f, 0xf110, 0xf111, 0xf112, 81*4882a593Smuzhiyun 0xf113, 0xf11e, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 82*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 83*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 84*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 85*4882a593Smuzhiyun 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 86*4882a593Smuzhiyun 0xf200, 0xf100, 0xf101, 0xf211, 0xf103, 0xf104, 0xf105, 0xf20b, 87*4882a593Smuzhiyun 0xf20a, 0xf108, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 0xf200, 88*4882a593Smuzhiyun }; 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun ushort *ebc_key_maps[MAX_NR_KEYMAPS] = { 91*4882a593Smuzhiyun ebc_plain_map, shift_map, NULL, NULL, 92*4882a593Smuzhiyun ctrl_map, shift_ctrl_map, NULL, 93*4882a593Smuzhiyun }; 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun unsigned int ebc_keymap_count = 4; 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun /* 99*4882a593Smuzhiyun * Philosophy: most people do not define more strings, but they who do 100*4882a593Smuzhiyun * often want quite a lot of string space. So, we statically allocate 101*4882a593Smuzhiyun * the default and allocate dynamically in chunks of 512 bytes. 102*4882a593Smuzhiyun */ 103*4882a593Smuzhiyun 104*4882a593Smuzhiyun char ebc_func_buf[] = { 105*4882a593Smuzhiyun '\033', '[', '[', 'A', 0, 106*4882a593Smuzhiyun '\033', '[', '[', 'B', 0, 107*4882a593Smuzhiyun '\033', '[', '[', 'C', 0, 108*4882a593Smuzhiyun '\033', '[', '[', 'D', 0, 109*4882a593Smuzhiyun '\033', '[', '[', 'E', 0, 110*4882a593Smuzhiyun '\033', '[', '1', '7', '~', 0, 111*4882a593Smuzhiyun '\033', '[', '1', '8', '~', 0, 112*4882a593Smuzhiyun '\033', '[', '1', '9', '~', 0, 113*4882a593Smuzhiyun '\033', '[', '2', '0', '~', 0, 114*4882a593Smuzhiyun '\033', '[', '2', '1', '~', 0, 115*4882a593Smuzhiyun '\033', '[', '2', '3', '~', 0, 116*4882a593Smuzhiyun '\033', '[', '2', '4', '~', 0, 117*4882a593Smuzhiyun '\033', '[', '2', '5', '~', 0, 118*4882a593Smuzhiyun '\033', '[', '2', '6', '~', 0, 119*4882a593Smuzhiyun '\033', '[', '2', '8', '~', 0, 120*4882a593Smuzhiyun '\033', '[', '2', '9', '~', 0, 121*4882a593Smuzhiyun '\033', '[', '3', '1', '~', 0, 122*4882a593Smuzhiyun '\033', '[', '3', '2', '~', 0, 123*4882a593Smuzhiyun '\033', '[', '3', '3', '~', 0, 124*4882a593Smuzhiyun '\033', '[', '3', '4', '~', 0, 125*4882a593Smuzhiyun }; 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun 128*4882a593Smuzhiyun char *ebc_funcbufptr = ebc_func_buf; 129*4882a593Smuzhiyun int ebc_funcbufsize = sizeof(ebc_func_buf); 130*4882a593Smuzhiyun int ebc_funcbufleft; /* space left */ 131*4882a593Smuzhiyun 132*4882a593Smuzhiyun char *ebc_func_table[MAX_NR_FUNC] = { 133*4882a593Smuzhiyun ebc_func_buf + 0, 134*4882a593Smuzhiyun ebc_func_buf + 5, 135*4882a593Smuzhiyun ebc_func_buf + 10, 136*4882a593Smuzhiyun ebc_func_buf + 15, 137*4882a593Smuzhiyun ebc_func_buf + 20, 138*4882a593Smuzhiyun ebc_func_buf + 25, 139*4882a593Smuzhiyun ebc_func_buf + 31, 140*4882a593Smuzhiyun ebc_func_buf + 37, 141*4882a593Smuzhiyun ebc_func_buf + 43, 142*4882a593Smuzhiyun ebc_func_buf + 49, 143*4882a593Smuzhiyun ebc_func_buf + 55, 144*4882a593Smuzhiyun ebc_func_buf + 61, 145*4882a593Smuzhiyun ebc_func_buf + 67, 146*4882a593Smuzhiyun ebc_func_buf + 73, 147*4882a593Smuzhiyun ebc_func_buf + 79, 148*4882a593Smuzhiyun ebc_func_buf + 85, 149*4882a593Smuzhiyun ebc_func_buf + 91, 150*4882a593Smuzhiyun ebc_func_buf + 97, 151*4882a593Smuzhiyun ebc_func_buf + 103, 152*4882a593Smuzhiyun ebc_func_buf + 109, 153*4882a593Smuzhiyun NULL, 154*4882a593Smuzhiyun }; 155*4882a593Smuzhiyun 156*4882a593Smuzhiyun struct kbdiacruc ebc_accent_table[MAX_DIACR] = { 157*4882a593Smuzhiyun {'^', 'c', 0003}, {'^', 'd', 0004}, 158*4882a593Smuzhiyun {'^', 'z', 0032}, {'^', 0012, 0000}, 159*4882a593Smuzhiyun }; 160*4882a593Smuzhiyun 161*4882a593Smuzhiyun unsigned int ebc_accent_table_size = 4; 162