1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun# Default kernel keymap. This uses 7 modifier combinations. 3*4882a593Smuzhiyunkeymaps 0-2,4-5,8,12 4*4882a593Smuzhiyun# Change the above line into 5*4882a593Smuzhiyun# keymaps 0-2,4-6,8,12 6*4882a593Smuzhiyun# in case you want the entries 7*4882a593Smuzhiyun# altgr control keycode 83 = Boot 8*4882a593Smuzhiyun# altgr control keycode 111 = Boot 9*4882a593Smuzhiyun# below. 10*4882a593Smuzhiyun# 11*4882a593Smuzhiyun# In fact AltGr is used very little, and one more keymap can 12*4882a593Smuzhiyun# be saved by mapping AltGr to Alt (and adapting a few entries): 13*4882a593Smuzhiyun# keycode 100 = Alt 14*4882a593Smuzhiyun# 15*4882a593Smuzhiyunkeycode 1 = Escape Escape 16*4882a593Smuzhiyun alt keycode 1 = Meta_Escape 17*4882a593Smuzhiyunkeycode 2 = one exclam 18*4882a593Smuzhiyun alt keycode 2 = Meta_one 19*4882a593Smuzhiyunkeycode 3 = two at at 20*4882a593Smuzhiyun control keycode 3 = nul 21*4882a593Smuzhiyun shift control keycode 3 = nul 22*4882a593Smuzhiyun alt keycode 3 = Meta_two 23*4882a593Smuzhiyunkeycode 4 = three numbersign 24*4882a593Smuzhiyun control keycode 4 = Escape 25*4882a593Smuzhiyun alt keycode 4 = Meta_three 26*4882a593Smuzhiyunkeycode 5 = four dollar dollar 27*4882a593Smuzhiyun control keycode 5 = Control_backslash 28*4882a593Smuzhiyun alt keycode 5 = Meta_four 29*4882a593Smuzhiyunkeycode 6 = five percent 30*4882a593Smuzhiyun control keycode 6 = Control_bracketright 31*4882a593Smuzhiyun alt keycode 6 = Meta_five 32*4882a593Smuzhiyunkeycode 7 = six asciicircum 33*4882a593Smuzhiyun control keycode 7 = Control_asciicircum 34*4882a593Smuzhiyun alt keycode 7 = Meta_six 35*4882a593Smuzhiyunkeycode 8 = seven ampersand braceleft 36*4882a593Smuzhiyun control keycode 8 = Control_underscore 37*4882a593Smuzhiyun alt keycode 8 = Meta_seven 38*4882a593Smuzhiyunkeycode 9 = eight asterisk bracketleft 39*4882a593Smuzhiyun control keycode 9 = Delete 40*4882a593Smuzhiyun alt keycode 9 = Meta_eight 41*4882a593Smuzhiyunkeycode 10 = nine parenleft bracketright 42*4882a593Smuzhiyun alt keycode 10 = Meta_nine 43*4882a593Smuzhiyunkeycode 11 = zero parenright braceright 44*4882a593Smuzhiyun alt keycode 11 = Meta_zero 45*4882a593Smuzhiyunkeycode 12 = minus underscore backslash 46*4882a593Smuzhiyun control keycode 12 = Control_underscore 47*4882a593Smuzhiyun shift control keycode 12 = Control_underscore 48*4882a593Smuzhiyun alt keycode 12 = Meta_minus 49*4882a593Smuzhiyunkeycode 13 = equal plus 50*4882a593Smuzhiyun alt keycode 13 = Meta_equal 51*4882a593Smuzhiyunkeycode 14 = Delete Delete 52*4882a593Smuzhiyun control keycode 14 = BackSpace 53*4882a593Smuzhiyun alt keycode 14 = Meta_Delete 54*4882a593Smuzhiyunkeycode 15 = Tab Tab 55*4882a593Smuzhiyun alt keycode 15 = Meta_Tab 56*4882a593Smuzhiyunkeycode 16 = q 57*4882a593Smuzhiyunkeycode 17 = w 58*4882a593Smuzhiyunkeycode 18 = e 59*4882a593Smuzhiyun altgr keycode 18 = Hex_E 60*4882a593Smuzhiyunkeycode 19 = r 61*4882a593Smuzhiyunkeycode 20 = t 62*4882a593Smuzhiyunkeycode 21 = y 63*4882a593Smuzhiyunkeycode 22 = u 64*4882a593Smuzhiyunkeycode 23 = i 65*4882a593Smuzhiyunkeycode 24 = o 66*4882a593Smuzhiyunkeycode 25 = p 67*4882a593Smuzhiyunkeycode 26 = bracketleft braceleft 68*4882a593Smuzhiyun control keycode 26 = Escape 69*4882a593Smuzhiyun alt keycode 26 = Meta_bracketleft 70*4882a593Smuzhiyunkeycode 27 = bracketright braceright asciitilde 71*4882a593Smuzhiyun control keycode 27 = Control_bracketright 72*4882a593Smuzhiyun alt keycode 27 = Meta_bracketright 73*4882a593Smuzhiyunkeycode 28 = Return 74*4882a593Smuzhiyun alt keycode 28 = Meta_Control_m 75*4882a593Smuzhiyunkeycode 29 = Control 76*4882a593Smuzhiyunkeycode 30 = a 77*4882a593Smuzhiyun altgr keycode 30 = Hex_A 78*4882a593Smuzhiyunkeycode 31 = s 79*4882a593Smuzhiyunkeycode 32 = d 80*4882a593Smuzhiyun altgr keycode 32 = Hex_D 81*4882a593Smuzhiyunkeycode 33 = f 82*4882a593Smuzhiyun altgr keycode 33 = Hex_F 83*4882a593Smuzhiyunkeycode 34 = g 84*4882a593Smuzhiyunkeycode 35 = h 85*4882a593Smuzhiyunkeycode 36 = j 86*4882a593Smuzhiyunkeycode 37 = k 87*4882a593Smuzhiyunkeycode 38 = l 88*4882a593Smuzhiyunkeycode 39 = semicolon colon 89*4882a593Smuzhiyun alt keycode 39 = Meta_semicolon 90*4882a593Smuzhiyunkeycode 40 = apostrophe quotedbl 91*4882a593Smuzhiyun control keycode 40 = Control_g 92*4882a593Smuzhiyun alt keycode 40 = Meta_apostrophe 93*4882a593Smuzhiyunkeycode 41 = grave asciitilde 94*4882a593Smuzhiyun control keycode 41 = nul 95*4882a593Smuzhiyun alt keycode 41 = Meta_grave 96*4882a593Smuzhiyunkeycode 42 = Shift 97*4882a593Smuzhiyunkeycode 43 = backslash bar 98*4882a593Smuzhiyun control keycode 43 = Control_backslash 99*4882a593Smuzhiyun alt keycode 43 = Meta_backslash 100*4882a593Smuzhiyunkeycode 44 = z 101*4882a593Smuzhiyunkeycode 45 = x 102*4882a593Smuzhiyunkeycode 46 = c 103*4882a593Smuzhiyun altgr keycode 46 = Hex_C 104*4882a593Smuzhiyunkeycode 47 = v 105*4882a593Smuzhiyunkeycode 48 = b 106*4882a593Smuzhiyun altgr keycode 48 = Hex_B 107*4882a593Smuzhiyunkeycode 49 = n 108*4882a593Smuzhiyunkeycode 50 = m 109*4882a593Smuzhiyunkeycode 51 = comma less 110*4882a593Smuzhiyun alt keycode 51 = Meta_comma 111*4882a593Smuzhiyunkeycode 52 = period greater 112*4882a593Smuzhiyun control keycode 52 = Compose 113*4882a593Smuzhiyun alt keycode 52 = Meta_period 114*4882a593Smuzhiyunkeycode 53 = slash question 115*4882a593Smuzhiyun control keycode 53 = Delete 116*4882a593Smuzhiyun alt keycode 53 = Meta_slash 117*4882a593Smuzhiyunkeycode 54 = Shift 118*4882a593Smuzhiyunkeycode 55 = KP_Multiply 119*4882a593Smuzhiyunkeycode 56 = Alt 120*4882a593Smuzhiyunkeycode 57 = space space 121*4882a593Smuzhiyun control keycode 57 = nul 122*4882a593Smuzhiyun alt keycode 57 = Meta_space 123*4882a593Smuzhiyunkeycode 58 = Caps_Lock 124*4882a593Smuzhiyunkeycode 59 = F1 F11 Console_13 125*4882a593Smuzhiyun control keycode 59 = F1 126*4882a593Smuzhiyun alt keycode 59 = Console_1 127*4882a593Smuzhiyun control alt keycode 59 = Console_1 128*4882a593Smuzhiyunkeycode 60 = F2 F12 Console_14 129*4882a593Smuzhiyun control keycode 60 = F2 130*4882a593Smuzhiyun alt keycode 60 = Console_2 131*4882a593Smuzhiyun control alt keycode 60 = Console_2 132*4882a593Smuzhiyunkeycode 61 = F3 F13 Console_15 133*4882a593Smuzhiyun control keycode 61 = F3 134*4882a593Smuzhiyun alt keycode 61 = Console_3 135*4882a593Smuzhiyun control alt keycode 61 = Console_3 136*4882a593Smuzhiyunkeycode 62 = F4 F14 Console_16 137*4882a593Smuzhiyun control keycode 62 = F4 138*4882a593Smuzhiyun alt keycode 62 = Console_4 139*4882a593Smuzhiyun control alt keycode 62 = Console_4 140*4882a593Smuzhiyunkeycode 63 = F5 F15 Console_17 141*4882a593Smuzhiyun control keycode 63 = F5 142*4882a593Smuzhiyun alt keycode 63 = Console_5 143*4882a593Smuzhiyun control alt keycode 63 = Console_5 144*4882a593Smuzhiyunkeycode 64 = F6 F16 Console_18 145*4882a593Smuzhiyun control keycode 64 = F6 146*4882a593Smuzhiyun alt keycode 64 = Console_6 147*4882a593Smuzhiyun control alt keycode 64 = Console_6 148*4882a593Smuzhiyunkeycode 65 = F7 F17 Console_19 149*4882a593Smuzhiyun control keycode 65 = F7 150*4882a593Smuzhiyun alt keycode 65 = Console_7 151*4882a593Smuzhiyun control alt keycode 65 = Console_7 152*4882a593Smuzhiyunkeycode 66 = F8 F18 Console_20 153*4882a593Smuzhiyun control keycode 66 = F8 154*4882a593Smuzhiyun alt keycode 66 = Console_8 155*4882a593Smuzhiyun control alt keycode 66 = Console_8 156*4882a593Smuzhiyunkeycode 67 = F9 F19 Console_21 157*4882a593Smuzhiyun control keycode 67 = F9 158*4882a593Smuzhiyun alt keycode 67 = Console_9 159*4882a593Smuzhiyun control alt keycode 67 = Console_9 160*4882a593Smuzhiyunkeycode 68 = F10 F20 Console_22 161*4882a593Smuzhiyun control keycode 68 = F10 162*4882a593Smuzhiyun alt keycode 68 = Console_10 163*4882a593Smuzhiyun control alt keycode 68 = Console_10 164*4882a593Smuzhiyunkeycode 69 = Num_Lock 165*4882a593Smuzhiyun shift keycode 69 = Bare_Num_Lock 166*4882a593Smuzhiyunkeycode 70 = Scroll_Lock Show_Memory Show_Registers 167*4882a593Smuzhiyun control keycode 70 = Show_State 168*4882a593Smuzhiyun alt keycode 70 = Scroll_Lock 169*4882a593Smuzhiyunkeycode 71 = KP_7 170*4882a593Smuzhiyun alt keycode 71 = Ascii_7 171*4882a593Smuzhiyun altgr keycode 71 = Hex_7 172*4882a593Smuzhiyunkeycode 72 = KP_8 173*4882a593Smuzhiyun alt keycode 72 = Ascii_8 174*4882a593Smuzhiyun altgr keycode 72 = Hex_8 175*4882a593Smuzhiyunkeycode 73 = KP_9 176*4882a593Smuzhiyun alt keycode 73 = Ascii_9 177*4882a593Smuzhiyun altgr keycode 73 = Hex_9 178*4882a593Smuzhiyunkeycode 74 = KP_Subtract 179*4882a593Smuzhiyunkeycode 75 = KP_4 180*4882a593Smuzhiyun alt keycode 75 = Ascii_4 181*4882a593Smuzhiyun altgr keycode 75 = Hex_4 182*4882a593Smuzhiyunkeycode 76 = KP_5 183*4882a593Smuzhiyun alt keycode 76 = Ascii_5 184*4882a593Smuzhiyun altgr keycode 76 = Hex_5 185*4882a593Smuzhiyunkeycode 77 = KP_6 186*4882a593Smuzhiyun alt keycode 77 = Ascii_6 187*4882a593Smuzhiyun altgr keycode 77 = Hex_6 188*4882a593Smuzhiyunkeycode 78 = KP_Add 189*4882a593Smuzhiyunkeycode 79 = KP_1 190*4882a593Smuzhiyun alt keycode 79 = Ascii_1 191*4882a593Smuzhiyun altgr keycode 79 = Hex_1 192*4882a593Smuzhiyunkeycode 80 = KP_2 193*4882a593Smuzhiyun alt keycode 80 = Ascii_2 194*4882a593Smuzhiyun altgr keycode 80 = Hex_2 195*4882a593Smuzhiyunkeycode 81 = KP_3 196*4882a593Smuzhiyun alt keycode 81 = Ascii_3 197*4882a593Smuzhiyun altgr keycode 81 = Hex_3 198*4882a593Smuzhiyunkeycode 82 = KP_0 199*4882a593Smuzhiyun alt keycode 82 = Ascii_0 200*4882a593Smuzhiyun altgr keycode 82 = Hex_0 201*4882a593Smuzhiyunkeycode 83 = KP_Period 202*4882a593Smuzhiyun# altgr control keycode 83 = Boot 203*4882a593Smuzhiyun control alt keycode 83 = Boot 204*4882a593Smuzhiyunkeycode 84 = Last_Console 205*4882a593Smuzhiyunkeycode 85 = 206*4882a593Smuzhiyunkeycode 86 = less greater bar 207*4882a593Smuzhiyun alt keycode 86 = Meta_less 208*4882a593Smuzhiyunkeycode 87 = F11 F11 Console_23 209*4882a593Smuzhiyun control keycode 87 = F11 210*4882a593Smuzhiyun alt keycode 87 = Console_11 211*4882a593Smuzhiyun control alt keycode 87 = Console_11 212*4882a593Smuzhiyunkeycode 88 = F12 F12 Console_24 213*4882a593Smuzhiyun control keycode 88 = F12 214*4882a593Smuzhiyun alt keycode 88 = Console_12 215*4882a593Smuzhiyun control alt keycode 88 = Console_12 216*4882a593Smuzhiyunkeycode 89 = 217*4882a593Smuzhiyunkeycode 90 = 218*4882a593Smuzhiyunkeycode 91 = 219*4882a593Smuzhiyunkeycode 92 = 220*4882a593Smuzhiyunkeycode 93 = 221*4882a593Smuzhiyunkeycode 94 = 222*4882a593Smuzhiyunkeycode 95 = 223*4882a593Smuzhiyunkeycode 96 = KP_Enter 224*4882a593Smuzhiyunkeycode 97 = Control 225*4882a593Smuzhiyunkeycode 98 = KP_Divide 226*4882a593Smuzhiyunkeycode 99 = Control_backslash 227*4882a593Smuzhiyun control keycode 99 = Control_backslash 228*4882a593Smuzhiyun alt keycode 99 = Control_backslash 229*4882a593Smuzhiyunkeycode 100 = AltGr 230*4882a593Smuzhiyunkeycode 101 = Break 231*4882a593Smuzhiyunkeycode 102 = Find 232*4882a593Smuzhiyunkeycode 103 = Up 233*4882a593Smuzhiyunkeycode 104 = Prior 234*4882a593Smuzhiyun shift keycode 104 = Scroll_Backward 235*4882a593Smuzhiyunkeycode 105 = Left 236*4882a593Smuzhiyun alt keycode 105 = Decr_Console 237*4882a593Smuzhiyunkeycode 106 = Right 238*4882a593Smuzhiyun alt keycode 106 = Incr_Console 239*4882a593Smuzhiyunkeycode 107 = Select 240*4882a593Smuzhiyunkeycode 108 = Down 241*4882a593Smuzhiyunkeycode 109 = Next 242*4882a593Smuzhiyun shift keycode 109 = Scroll_Forward 243*4882a593Smuzhiyunkeycode 110 = Insert 244*4882a593Smuzhiyunkeycode 111 = Remove 245*4882a593Smuzhiyun# altgr control keycode 111 = Boot 246*4882a593Smuzhiyun control alt keycode 111 = Boot 247*4882a593Smuzhiyunkeycode 112 = Macro 248*4882a593Smuzhiyunkeycode 113 = F13 249*4882a593Smuzhiyunkeycode 114 = F14 250*4882a593Smuzhiyunkeycode 115 = Help 251*4882a593Smuzhiyunkeycode 116 = Do 252*4882a593Smuzhiyunkeycode 117 = F17 253*4882a593Smuzhiyunkeycode 118 = KP_MinPlus 254*4882a593Smuzhiyunkeycode 119 = Pause 255*4882a593Smuzhiyunkeycode 120 = 256*4882a593Smuzhiyunkeycode 121 = 257*4882a593Smuzhiyunkeycode 122 = 258*4882a593Smuzhiyunkeycode 123 = 259*4882a593Smuzhiyunkeycode 124 = 260*4882a593Smuzhiyunkeycode 125 = 261*4882a593Smuzhiyunkeycode 126 = 262*4882a593Smuzhiyunkeycode 127 = 263*4882a593Smuzhiyunstring F1 = "\033[[A" 264*4882a593Smuzhiyunstring F2 = "\033[[B" 265*4882a593Smuzhiyunstring F3 = "\033[[C" 266*4882a593Smuzhiyunstring F4 = "\033[[D" 267*4882a593Smuzhiyunstring F5 = "\033[[E" 268*4882a593Smuzhiyunstring F6 = "\033[17~" 269*4882a593Smuzhiyunstring F7 = "\033[18~" 270*4882a593Smuzhiyunstring F8 = "\033[19~" 271*4882a593Smuzhiyunstring F9 = "\033[20~" 272*4882a593Smuzhiyunstring F10 = "\033[21~" 273*4882a593Smuzhiyunstring F11 = "\033[23~" 274*4882a593Smuzhiyunstring F12 = "\033[24~" 275*4882a593Smuzhiyunstring F13 = "\033[25~" 276*4882a593Smuzhiyunstring F14 = "\033[26~" 277*4882a593Smuzhiyunstring F15 = "\033[28~" 278*4882a593Smuzhiyunstring F16 = "\033[29~" 279*4882a593Smuzhiyunstring F17 = "\033[31~" 280*4882a593Smuzhiyunstring F18 = "\033[32~" 281*4882a593Smuzhiyunstring F19 = "\033[33~" 282*4882a593Smuzhiyunstring F20 = "\033[34~" 283*4882a593Smuzhiyunstring Find = "\033[1~" 284*4882a593Smuzhiyunstring Insert = "\033[2~" 285*4882a593Smuzhiyunstring Remove = "\033[3~" 286*4882a593Smuzhiyunstring Select = "\033[4~" 287*4882a593Smuzhiyunstring Prior = "\033[5~" 288*4882a593Smuzhiyunstring Next = "\033[6~" 289*4882a593Smuzhiyunstring Macro = "\033[M" 290*4882a593Smuzhiyunstring Pause = "\033[P" 291*4882a593Smuzhiyuncompose '`' 'A' to '�' 292*4882a593Smuzhiyuncompose '`' 'a' to '�' 293*4882a593Smuzhiyuncompose '\'' 'A' to '�' 294*4882a593Smuzhiyuncompose '\'' 'a' to '�' 295*4882a593Smuzhiyuncompose '^' 'A' to '�' 296*4882a593Smuzhiyuncompose '^' 'a' to '�' 297*4882a593Smuzhiyuncompose '~' 'A' to '�' 298*4882a593Smuzhiyuncompose '~' 'a' to '�' 299*4882a593Smuzhiyuncompose '"' 'A' to '�' 300*4882a593Smuzhiyuncompose '"' 'a' to '�' 301*4882a593Smuzhiyuncompose 'O' 'A' to '�' 302*4882a593Smuzhiyuncompose 'o' 'a' to '�' 303*4882a593Smuzhiyuncompose '0' 'A' to '�' 304*4882a593Smuzhiyuncompose '0' 'a' to '�' 305*4882a593Smuzhiyuncompose 'A' 'A' to '�' 306*4882a593Smuzhiyuncompose 'a' 'a' to '�' 307*4882a593Smuzhiyuncompose 'A' 'E' to '�' 308*4882a593Smuzhiyuncompose 'a' 'e' to '�' 309*4882a593Smuzhiyuncompose ',' 'C' to '�' 310*4882a593Smuzhiyuncompose ',' 'c' to '�' 311*4882a593Smuzhiyuncompose '`' 'E' to '�' 312*4882a593Smuzhiyuncompose '`' 'e' to '�' 313*4882a593Smuzhiyuncompose '\'' 'E' to '�' 314*4882a593Smuzhiyuncompose '\'' 'e' to '�' 315*4882a593Smuzhiyuncompose '^' 'E' to '�' 316*4882a593Smuzhiyuncompose '^' 'e' to '�' 317*4882a593Smuzhiyuncompose '"' 'E' to '�' 318*4882a593Smuzhiyuncompose '"' 'e' to '�' 319*4882a593Smuzhiyuncompose '`' 'I' to '�' 320*4882a593Smuzhiyuncompose '`' 'i' to '�' 321*4882a593Smuzhiyuncompose '\'' 'I' to '�' 322*4882a593Smuzhiyuncompose '\'' 'i' to '�' 323*4882a593Smuzhiyuncompose '^' 'I' to '�' 324*4882a593Smuzhiyuncompose '^' 'i' to '�' 325*4882a593Smuzhiyuncompose '"' 'I' to '�' 326*4882a593Smuzhiyuncompose '"' 'i' to '�' 327*4882a593Smuzhiyuncompose '-' 'D' to '�' 328*4882a593Smuzhiyuncompose '-' 'd' to '�' 329*4882a593Smuzhiyuncompose '~' 'N' to '�' 330*4882a593Smuzhiyuncompose '~' 'n' to '�' 331*4882a593Smuzhiyuncompose '`' 'O' to '�' 332*4882a593Smuzhiyuncompose '`' 'o' to '�' 333*4882a593Smuzhiyuncompose '\'' 'O' to '�' 334*4882a593Smuzhiyuncompose '\'' 'o' to '�' 335*4882a593Smuzhiyuncompose '^' 'O' to '�' 336*4882a593Smuzhiyuncompose '^' 'o' to '�' 337*4882a593Smuzhiyuncompose '~' 'O' to '�' 338*4882a593Smuzhiyuncompose '~' 'o' to '�' 339*4882a593Smuzhiyuncompose '"' 'O' to '�' 340*4882a593Smuzhiyuncompose '"' 'o' to '�' 341*4882a593Smuzhiyuncompose '/' 'O' to '�' 342*4882a593Smuzhiyuncompose '/' 'o' to '�' 343*4882a593Smuzhiyuncompose '`' 'U' to '�' 344*4882a593Smuzhiyuncompose '`' 'u' to '�' 345*4882a593Smuzhiyuncompose '\'' 'U' to '�' 346*4882a593Smuzhiyuncompose '\'' 'u' to '�' 347*4882a593Smuzhiyuncompose '^' 'U' to '�' 348*4882a593Smuzhiyuncompose '^' 'u' to '�' 349*4882a593Smuzhiyuncompose '"' 'U' to '�' 350*4882a593Smuzhiyuncompose '"' 'u' to '�' 351*4882a593Smuzhiyuncompose '\'' 'Y' to '�' 352*4882a593Smuzhiyuncompose '\'' 'y' to '�' 353*4882a593Smuzhiyuncompose 'T' 'H' to '�' 354*4882a593Smuzhiyuncompose 't' 'h' to '�' 355*4882a593Smuzhiyuncompose 's' 's' to '�' 356*4882a593Smuzhiyuncompose '"' 'y' to '�' 357*4882a593Smuzhiyuncompose 's' 'z' to '�' 358*4882a593Smuzhiyuncompose 'i' 'j' to '�' 359