custom.xkb (21565B)
1 xkb_keymap "custom" { 2 xkb_keycodes "custom" { 3 minimum = 8; 4 maximum = 255; 5 6 // 0--15 (0--7 always unused) 7 <ESC> = 9; // (escape) 8 <1> = 10; 9 <2> = 11; 10 <3> = 12; 11 <4> = 13; 12 <5> = 14; 13 <6> = 15; 14 15 // 16--31 16 <7> = 16; 17 <8> = 17; 18 <9> = 18; 19 <0> = 19; 20 <HYPH> = 20; // - (hyphen/minus) 21 <EQ> = 21; // = (equals) 22 <BKSP> = 22; // (backspace) 23 <TAB> = 23; 24 <q> = 24; 25 <w> = 25; 26 <e> = 26; 27 <r> = 27; 28 <t> = 28; 29 <y> = 29; 30 <u> = 30; 31 <i> = 31; 32 33 // 32--47 34 <o> = 32; 35 <p> = 33; 36 <LBRK> = 34; // [ (left bracket) 37 <RBRK> = 35; // ] (right bracket) 38 <RTRN> = 36; // (enter/return) 39 <LCTL> = 37; // (left control) 40 <a> = 38; 41 <s> = 39; 42 <d> = 40; 43 <f> = 41; 44 <g> = 42; 45 <h> = 43; 46 <j> = 44; 47 <k> = 45; 48 <l> = 46; 49 <SEMI> = 47; // ; (semicolon) 50 51 // 48--63 52 <QUOT> = 48; // ' (single quotation mark) 53 <GRAV> = 49; // ` (grave/backtick) 54 <LSFT> = 50; // (left shift) 55 <BKSL> = 51; // \ (backslash) 56 <z> = 52; 57 <x> = 53; 58 <c> = 54; 59 <v> = 55; 60 <b> = 56; 61 <n> = 57; 62 <m> = 58; 63 <COMM> = 59; // , (comma) 64 <DOT> = 60; // . (dot/period) 65 <SLSH> = 61; // / (slash) 66 <RSFT> = 62; // (right shift) 67 <KPMU> = 63; // * (keypad multiply) 68 69 // 64--79 70 <LALT> = 64; // (left alt) 71 <SPCE> = 65; // (space) 72 <CAPS> = 66; // (caps lock) 73 <F01> = 67; 74 <F02> = 68; 75 <F03> = 69; 76 <F04> = 70; 77 <F05> = 71; 78 <F06> = 72; 79 <F07> = 73; 80 <F08> = 74; 81 <F09> = 75; 82 <F10> = 76; 83 <NMLK> = 77; // (num lock) 84 //<SCLK> = 78; // (scroll lock) 85 <KP7> = 79; 86 87 // 80--95 88 <KP8> = 80; 89 <KP9> = 81; 90 <KPSU> = 82; // - (keypad subtract) 91 <KP4> = 83; 92 <KP5> = 84; 93 <KP6> = 85; 94 <KPAD> = 86; // + (keypad add) 95 <KP1> = 87; 96 <KP2> = 88; 97 <KP3> = 89; 98 <KP0> = 90; 99 <KPDL> = 91; // (keypad delete) 100 <F11> = 95; 101 102 // 96--111 103 <F12> = 96; 104 <KPEN> = 104; // (keypad enter) 105 <RCTL> = 105; // (right control) 106 <KPDV> = 106; // / (keypad divide) 107 <PRSC> = 107; // (print screen) 108 <RALT> = 108; // (right alt) 109 //<LNFD> = 109; // (linefeed) 110 <HOME> = 110; 111 <UP> = 111; // (up) 112 113 // 112--127 114 <PGUP> = 112; // (page up) 115 <LEFT> = 113; // (left) 116 <RGHT> = 114; // (right) 117 <END> = 115; 118 <DOWN> = 116; // (down) 119 <PGDN> = 117; // (page down) 120 <INS> = 118; // (insert) 121 <DEL> = 119; // (delete) 122 <MUTE> = 121; 123 <VOLD> = 122; // (volume down) 124 <VOLU> = 123; // (volume up) 125 <POWR> = 124; // (power) 126 <KPEQ> = 125; // = (keypad equals) 127 <PAUS> = 127; // (pause) 128 129 // 128--143 130 <LWIN> = 133; // (left win/super) 131 <RWIN> = 134; // (right win/super) 132 133 // 144--159 134 135 // 160--175 136 137 // 176--191 138 139 // 192--207 140 <F14> = 192; 141 <F15> = 193; 142 <F16> = 194; 143 //<F17> = 195; 144 //<F18> = 196; 145 //<F19> = 197; 146 147 // 208--223 148 149 // 224--239 150 <MOND> = 232; // (monitor brightness down) 151 <MONU> = 233; // (monitor brightness up) 152 153 // 240--255 154 }; 155 156 xkb_types "custom" { 157 // The first four types are mandatory so-called "canonical" types. 158 159 type "ONE_LEVEL" { 160 modifiers = None; 161 map[None] = 1; 162 level_name[1] = "LEVEL1"; 163 }; 164 165 type "TWO_LEVEL" { 166 modifiers = Shift; 167 map[Shift] = 2; 168 level_name[1] = "LEVEL1"; 169 level_name[2] = "LEVEL2"; 170 }; 171 172 type "ALPHABETIC" { 173 modifiers = Shift + Lock; 174 map[Shift] = 2; 175 map[Lock] = 2; 176 level_name[1] = "LEVEL1"; 177 level_name[2] = "LEVEL2"; 178 }; 179 180 type "KEYPAD" { 181 modifiers = Shift; 182 map[Shift] = 2; 183 level_name[1] = "LEVEL1"; 184 level_name[2] = "LEVEL2"; 185 }; 186 187 type "FN_TTY" { 188 modifiers = Control + Mod1; 189 map[Control+Mod1] = 2; 190 level_name[1] = "LEVEL1"; 191 level_name[2] = "LEVEL2"; 192 }; 193 194 type "SPACE" { 195 modifiers = Mod3; 196 map[Mod3] = 2; 197 level_name[1] = "LEVEL1"; 198 level_name[2] = "LEVEL2"; 199 }; 200 201 type "UNICODE" { 202 modifiers = Shift + Mod2 + Mod3 + Mod5; 203 map[Shift] = 2; 204 map[Mod2] = 3; 205 map[Mod2+Shift] = 4; 206 map[Mod3] = 5; 207 map[Mod3+Shift] = 6; 208 map[Mod3+Mod2] = 7; 209 map[Mod3+Mod2+Shift] = 8; 210 map[Mod5] = 9; 211 map[Mod5+Shift] = 10; 212 map[Mod5+Mod2] = 11; 213 map[Mod5+Mod2+Shift] = 12; 214 map[Mod5+Mod3] = 13; 215 map[Mod5+Mod3+Shift] = 14; 216 map[Mod5+Mod3+Mod2] = 15; 217 map[Mod5+Mod3+Mod2+Shift] = 16; 218 level_name[1] = "LEVEL01"; 219 level_name[2] = "LEVEL02"; 220 level_name[3] = "LEVEL03"; 221 level_name[4] = "LEVEL04"; 222 level_name[5] = "LEVEL05"; 223 level_name[6] = "LEVEL06"; 224 level_name[7] = "LEVEL07"; 225 level_name[8] = "LEVEL08"; 226 level_name[9] = "LEVEL09"; 227 level_name[10] = "LEVEL10"; 228 level_name[11] = "LEVEL11"; 229 level_name[12] = "LEVEL12"; 230 level_name[13] = "LEVEL13"; 231 level_name[14] = "LEVEL14"; 232 level_name[15] = "LEVEL15"; 233 level_name[16] = "LEVEL16"; 234 }; 235 236 // Initialize remainder of all 32 types to dummy types to cope with 237 // the following bug: 238 // https://gitlab.freedesktop.org/xorg/xserver/-/issues/1376 239 type "TYPE08" { level_name[1] = "LEVEL1"; }; 240 type "TYPE09" { level_name[1] = "LEVEL1"; }; 241 type "TYPE10" { level_name[1] = "LEVEL1"; }; 242 type "TYPE11" { level_name[1] = "LEVEL1"; }; 243 type "TYPE12" { level_name[1] = "LEVEL1"; }; 244 type "TYPE13" { level_name[1] = "LEVEL1"; }; 245 type "TYPE14" { level_name[1] = "LEVEL1"; }; 246 type "TYPE15" { level_name[1] = "LEVEL1"; }; 247 type "TYPE16" { level_name[1] = "LEVEL1"; }; 248 type "TYPE17" { level_name[1] = "LEVEL1"; }; 249 type "TYPE18" { level_name[1] = "LEVEL1"; }; 250 type "TYPE19" { level_name[1] = "LEVEL1"; }; 251 type "TYPE20" { level_name[1] = "LEVEL1"; }; 252 type "TYPE21" { level_name[1] = "LEVEL1"; }; 253 type "TYPE22" { level_name[1] = "LEVEL1"; }; 254 type "TYPE23" { level_name[1] = "LEVEL1"; }; 255 type "TYPE24" { level_name[1] = "LEVEL1"; }; 256 type "TYPE25" { level_name[1] = "LEVEL1"; }; 257 type "TYPE26" { level_name[1] = "LEVEL1"; }; 258 type "TYPE27" { level_name[1] = "LEVEL1"; }; 259 type "TYPE28" { level_name[1] = "LEVEL1"; }; 260 type "TYPE29" { level_name[1] = "LEVEL1"; }; 261 type "TYPE30" { level_name[1] = "LEVEL1"; }; 262 type "TYPE31" { level_name[1] = "LEVEL1"; }; 263 type "TYPE32" { level_name[1] = "LEVEL1"; }; 264 }; 265 266 xkb_compat "custom" { 267 // TODO: Figure out how to get rid of this. 268 include "complete" 269 }; 270 271 xkb_symbols "custom" { 272 name[1] = "GROUP1"; 273 name[2] = "GROUP2"; 274 name[3] = "GROUP3"; 275 name[4] = "GROUP4"; 276 277 modifier_map Shift { Shift_L, Shift_R }; 278 modifier_map Lock { Caps_Lock }; 279 modifier_map Control { Control_L, Control_R }; 280 modifier_map Mod1 { Alt_L, Alt_R }; 281 modifier_map Mod2 { F15 }; 282 modifier_map Mod3 { F14 }; 283 modifier_map Mod4 { Super_L, Super_R }; 284 modifier_map Mod5 { F16 }; 285 286 key.type = "ONE_LEVEL"; 287 288 // TODO: SetMods? 289 key <LSFT> { [Shift_L] }; 290 key <RSFT> { [Shift_R] }; 291 key <CAPS> { [Caps_Lock] }; 292 key <LCTL> { [Control_L] }; 293 key <RCTL> { [Control_R] }; 294 key <LALT> { [Alt_L] }; 295 key <RALT> { [Alt_R] }; 296 key <LWIN> { [Super_L] }; 297 key <RWIN> { [Super_R] }; 298 299 key <F14> { symbols[1] = [NoSymbol], actions[1] = [SetMods(mods=Mod3)] }; 300 key <F15> { symbols[1] = [NoSymbol], actions[1] = [SetMods(mods=Mod2)] }; 301 key <F16> { symbols[1] = [NoSymbol], actions[1] = [SetMods(mods=Mod5)] }; 302 303 key.type = "ONE_LEVEL"; 304 305 // Numlock is normally Mod2, but I use Mod2 for Unicode shenanigans. 306 key <NMLK> { [Num_Lock] }; 307 308 key <ESC> { [Escape] }; 309 key <BKSP> { [BackSpace] }; 310 key <RTRN> { [Return] }; 311 312 // key <TAB> { [Tab, ISO_Left_Tab] }; 313 key <TAB> { [Tab ] }; 314 315 key <HOME> { [Home] }; 316 key <END> { [End] }; 317 key <PGUP> { [Prior] }; 318 key <PGDN> { [Next] }; 319 key <INS> { [Insert] }; 320 key <DEL> { [Delete] }; 321 322 key <MUTE> { [XF86AudioMute] }; 323 key <VOLD> { [XF86AudioLowerVolume] }; 324 key <VOLU> { [XF86AudioRaiseVolume] }; 325 key <POWR> { [XF86PowerOff] }; 326 key <MOND> { [XF86MonBrightnessDown] }; 327 key <MONU> { [XF86MonBrightnessUp] }; 328 329 key.type = "TWO_LEVEL"; 330 // TODO: should be alt instead of shift 331 332 key <PRSC> { [Print, Sys_Req] }; 333 key <PAUS> { [Pause, Break] }; 334 335 key.type = "FN_TTY"; 336 337 key <F01> { symbols[1] = [F1, NoSymbol], actions[1] = [NoAction(), SwitchScreen(Screen=1, !Same)] }; 338 key <F02> { symbols[1] = [F2, NoSymbol], actions[1] = [NoAction(), SwitchScreen(Screen=2, !Same)] }; 339 key <F03> { symbols[1] = [F3, NoSymbol], actions[1] = [NoAction(), SwitchScreen(Screen=3, !Same)] }; 340 key <F04> { symbols[1] = [F4, NoSymbol], actions[1] = [NoAction(), SwitchScreen(Screen=4, !Same)] }; 341 key <F05> { symbols[1] = [F5, NoSymbol], actions[1] = [NoAction(), SwitchScreen(Screen=5, !Same)] }; 342 key <F06> { symbols[1] = [F6, NoSymbol], actions[1] = [NoAction(), SwitchScreen(Screen=6, !Same)] }; 343 key <F07> { symbols[1] = [F7, NoSymbol], actions[1] = [NoAction(), SwitchScreen(Screen=7, !Same)] }; 344 key <F08> { symbols[1] = [F8, NoSymbol], actions[1] = [NoAction(), SwitchScreen(Screen=8, !Same)] }; 345 key <F09> { symbols[1] = [F9, NoSymbol], actions[1] = [NoAction(), SwitchScreen(Screen=9, !Same)] }; 346 key <F10> { symbols[1] = [F10, NoSymbol], actions[1] = [NoAction(), SwitchScreen(Screen=10, !Same)] }; 347 key <F11> { symbols[1] = [F11, NoSymbol], actions[1] = [NoAction(), SwitchScreen(Screen=11, !Same)] }; 348 key <F12> { symbols[1] = [F12, NoSymbol], actions[1] = [NoAction(), SwitchScreen(Screen=12, !Same)] }; 349 350 key.type = "KEYPAD"; 351 352 key <KP1> { [KP_End, KP_1] }; 353 key <KP2> { [KP_Down, KP_2] }; 354 key <KP3> { [KP_Next, KP_3] }; 355 key <KP4> { [KP_Left, KP_4] }; 356 key <KP5> { [KP_Begin, KP_5] }; 357 key <KP6> { [KP_Right, KP_6] }; 358 key <KP7> { [KP_Home, KP_7] }; 359 key <KP8> { [KP_Up, KP_8] }; 360 key <KP9> { [KP_Prior, KP_9] }; 361 key <KP0> { [KP_Insert, KP_0] }; 362 key <KPDL> { [KP_Delete, KP_Decimal] }; 363 364 key.type = "ONE_LEVEL"; 365 366 key <KPAD> { [KP_Add] }; 367 key <KPSU> { [KP_Subtract] }; 368 key <KPMU> { [KP_Multiply] }; 369 key <KPDV> { [KP_Divide] }; 370 key <KPEQ> { [KP_Equal] }; 371 key <KPEN> { [KP_Enter] }; 372 373 // black spade: 2660 374 // white heart: 2661 375 // white diamond: 2662 376 // black club: 2663 377 // white spade: 2664 378 // black heart: 2665 379 // black diamond: 2666 380 // white club: 2667 381 382 // flat: 266d 383 // natural: 266e 384 // sharp: 266f 385 386 // not: 00ac 387 // del: 2202 388 // empty set: 2205 389 // delta/increment: 2206 390 // nabla/decrement: 2207 391 // qed: 220e 392 // minus: 2212 393 // sqrt: 221a 394 // prop: 221d 395 // inf: 221e 396 // pipe: 2223 397 // not pipe: 2224 398 // pipe pipe: 2225 399 // not pipe pipe: 2226 400 // and: 2227 401 // or: 2228 402 // cap: 2229 403 // cup: 222a 404 // int: 222b 405 // tilde: 223c 406 // not tilde: 2241 407 // tilde line: 2243 408 // not tilde line: 2244 409 // tilde line line: 2245 410 // not tilde line line: 2247 411 // tilde tilde: 2248 412 // not tilde tilde: 2249 413 // colon eq: 2254 414 // eq colon: 2255 415 // not eq: 2260 416 // eq line: 2261 417 // not eq line: 2262 418 // leq: 2264 419 // geq: 2265 420 421 // TODO: Assign keys to important symbols from this table (I already 422 // briefly went through the others): 423 // https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode#Mathematical_Operators_block 424 425 key.type = "SPACE"; 426 427 key <SPCE> { [space, U2423] }; 428 429 key.type = "UNICODE"; 430 431 // ---- ---L --R- --RL -C-- -C-L -CR- -CRL F--- F--L F-R- F-RL FC-- FC-L FCR- FCRL 432 key <UP> { [Up, Up, NoSymbol, NoSymbol, U02191, U021D1, NoSymbol, NoSymbol, U021A5, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 433 key <DOWN> { [Down, Down, NoSymbol, NoSymbol, U02193, U021D3, NoSymbol, NoSymbol, U021A7, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 434 key <LEFT> { [Left, Left, NoSymbol, NoSymbol, U02190, U021D0, NoSymbol, NoSymbol, U021A4, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 435 key <RGHT> { [Right, Right, NoSymbol, NoSymbol, U02192, U021D2, NoSymbol, NoSymbol, U021A6, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 436 key <GRAV> { [grave, asciitilde, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 437 key <HYPH> { [minus, underscore, NoSymbol, NoSymbol, U000B1, U02213, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 438 key <EQ> { [equal, plus, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 439 key <LBRK> { [bracketleft, braceleft, NoSymbol, NoSymbol, U027E8, U02039, NoSymbol, NoSymbol, U0230A, U02308, U027E6, U02983, U0231E, U0231C, NoSymbol, NoSymbol] }; 440 key <RBRK> { [bracketright, braceright, NoSymbol, NoSymbol, U027E9, U0203A, NoSymbol, NoSymbol, U0230B, U02309, U027E7, U02984, U0231F, U0231D, NoSymbol, NoSymbol] }; 441 key <BKSL> { [backslash, bar, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 442 key <SEMI> { [semicolon, colon, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 443 key <QUOT> { [apostrophe, quotedbl, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 444 key <COMM> { [comma, less, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 445 key <DOT> { [period, greater, NoSymbol, NoSymbol, U022C5, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 446 key <SLSH> { [slash, question, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 447 key <1> { [1, exclam, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7D9, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 448 key <2> { [2, at, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7DA, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 449 key <3> { [3, numbersign, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7DB, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 450 key <4> { [4, dollar, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7DC, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 451 key <5> { [5, percent, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7DD, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 452 key <6> { [6, asciicircum, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7DE, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 453 key <7> { [7, ampersand, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7DF, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 454 key <8> { [8, asterisk, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7E0, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 455 key <9> { [9, parenleft, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7E1, U02985, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 456 key <0> { [0, parenright, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7D8, U02986, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; 457 key <a> { [a, A, Greek_alpha, Greek_ALPHA, U02200, NoSymbol, U1D4B6, U1D49C, NoSymbol, NoSymbol, U1D552, U1D538, NoSymbol, NoSymbol, U1D51E, U1D504] }; 458 key <b> { [b, B, Greek_beta, Greek_BETA, NoSymbol, NoSymbol, U1D4B7, U0212C, NoSymbol, NoSymbol, U1D553, U1D539, NoSymbol, NoSymbol, U1D51F, U1D505] }; 459 key <c> { [c, C, Greek_chi, Greek_CHI, U0220B, U0220C, U1D4B8, U1D49E, NoSymbol, NoSymbol, U1D554, U02102, NoSymbol, NoSymbol, U1D520, U0212D] }; 460 key <d> { [d, D, Greek_delta, Greek_DELTA, U000F7, NoSymbol, U1D4B9, U1D49F, NoSymbol, NoSymbol, U1D555, U1D53B, NoSymbol, NoSymbol, U1D521, U1D507] }; 461 key <e> { [e, E, Greek_epsilon, Greek_EPSILON, U02203, U02204, U0212F, U02130, NoSymbol, NoSymbol, U1D556, U1D53C, NoSymbol, NoSymbol, U1D522, U1D508] }; 462 key <f> { [f, F, Greek_phi, Greek_PHI, NoSymbol, NoSymbol, U1D4BB, U02131, NoSymbol, NoSymbol, U1D557, U1D53D, NoSymbol, NoSymbol, U1D523, U1D509] }; 463 key <g> { [g, G, Greek_gamma, Greek_GAMMA, NoSymbol, NoSymbol, U0210A, U1D4A2, NoSymbol, NoSymbol, U1D558, U1D53E, NoSymbol, NoSymbol, U1D524, U1D50A] }; 464 key <h> { [h, H, Greek_theta, Greek_THETA, NoSymbol, NoSymbol, U1D4BD, U0210B, NoSymbol, NoSymbol, U1D559, U0210D, NoSymbol, NoSymbol, U1D525, U0210C] }; 465 key <i> { [i, I, Greek_iota, Greek_IOTA, U02208, U02209, U1D4BE, U02110, NoSymbol, NoSymbol, U1D55A, U1D540, NoSymbol, NoSymbol, U1D526, U02111] }; 466 key <j> { [j, J, Greek_eta, Greek_ETA, NoSymbol, NoSymbol, U1D4BF, U1D4A5, NoSymbol, NoSymbol, U1D55B, U1D541, NoSymbol, NoSymbol, U1D527, U1D50D] }; 467 key <k> { [k, K, Greek_kappa, Greek_KAPPA, NoSymbol, NoSymbol, U1D4C0, U1D4A6, NoSymbol, NoSymbol, U1D55C, U1D542, NoSymbol, NoSymbol, U1D528, U1D50E] }; 468 key <l> { [l, L, Greek_lamda, Greek_LAMDA, NoSymbol, NoSymbol, U1D4C1, U02112, NoSymbol, NoSymbol, U1D55D, U1D543, NoSymbol, NoSymbol, U1D529, U1D50F] }; 469 key <m> { [m, M, Greek_mu, Greek_MU, NoSymbol, NoSymbol, U1D4C2, U02133, NoSymbol, NoSymbol, U1D55E, U1D544, NoSymbol, NoSymbol, U1D52A, U1D510] }; 470 key <n> { [n, N, Greek_nu, Greek_NU, NoSymbol, NoSymbol, U1D4C3, U1D4A9, NoSymbol, NoSymbol, U1D55F, U02115, NoSymbol, NoSymbol, U1D52B, U1D511] }; 471 key <o> { [o, O, Greek_omicron, Greek_OMICRON, U02218, U02219, U02134, U1D4AA, NoSymbol, NoSymbol, U1D560, U1D546, NoSymbol, NoSymbol, U1D52C, U1D512] }; 472 key <p> { [p, P, Greek_pi, Greek_PI, U0220F, U02210, U1D4C5, U1D4AB, NoSymbol, NoSymbol, U1D561, U02119, NoSymbol, NoSymbol, U1D52D, U1D513] }; 473 key <q> { [q, Q, Greek_psi, Greek_PSI, NoSymbol, NoSymbol, U1D4C6, U1D4AC, NoSymbol, NoSymbol, U1D562, U0211A, NoSymbol, NoSymbol, U1D52E, U1D514] }; 474 key <r> { [r, R, Greek_rho, Greek_RHO, NoSymbol, NoSymbol, U1D4C7, U0211B, NoSymbol, NoSymbol, U1D563, U0211D, NoSymbol, NoSymbol, U1D52F, U0211C] }; 475 key <s> { [s, S, Greek_sigma, Greek_SIGMA, U02211, NoSymbol, U1D4C8, U1D4AE, NoSymbol, NoSymbol, U1D564, U1D54A, NoSymbol, NoSymbol, U1D530, U1D516] }; 476 key <t> { [t, T, Greek_tau, Greek_TAU, NoSymbol, NoSymbol, U1D4C9, U1D4AF, NoSymbol, NoSymbol, U1D565, U1D54B, NoSymbol, NoSymbol, U1D531, U1D517] }; 477 key <u> { [u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D4CA, U1D4B0, NoSymbol, NoSymbol, U1D566, U1D54C, NoSymbol, NoSymbol, U1D532, U1D518] }; 478 key <v> { [v, V, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D4CB, U1D4B1, NoSymbol, NoSymbol, U1D567, U1D54D, NoSymbol, NoSymbol, U1D533, U1D519] }; 479 key <w> { [w, W, Greek_omega, Greek_OMEGA, NoSymbol, NoSymbol, U1D4CC, U1D4B2, NoSymbol, NoSymbol, U1D568, U1D54E, NoSymbol, NoSymbol, U1D534, U1D51A] }; 480 key <x> { [x, X, Greek_xi, Greek_XI, U000D7, NoSymbol, U1D4CD, U1D4B3, NoSymbol, NoSymbol, U1D569, U1D54F, NoSymbol, NoSymbol, U1D535, U1D51B] }; 481 key <y> { [y, Y, Greek_upsilon, Greek_UPSILON, NoSymbol, NoSymbol, U1D4CE, U1D4B4, NoSymbol, NoSymbol, U1D56A, U1D550, NoSymbol, NoSymbol, U1D536, U1D51C] }; 482 key <z> { [z, Z, Greek_zeta, Greek_ZETA, NoSymbol, NoSymbol, U1D4CF, U1D4B5, NoSymbol, NoSymbol, U1D56B, U02124, NoSymbol, NoSymbol, U1D537, U02128] }; 483 }; 484 };