dotfiles

dot files
git clone git://git.rr3.xyz/dotfiles
Log | Files | Refs

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 };