dotfiles

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

commit a9b9b92cc8673a2ce0ee6e2b067d0d0334e9d072
parent e44bb24817109e23a46402622a105a20ca576166
Author: Robert Russell <robert@rr3.xyz>
Date:   Mon, 19 May 2025 19:23:00 -0700

Make progress on custom XKB keymap

Diffstat:
Mkeyboard/custom.xkb | 276+++++++++++++++++++++++++++++++++++++++++++++----------------------------------
1 file changed, 158 insertions(+), 118 deletions(-)

diff --git a/keyboard/custom.xkb b/keyboard/custom.xkb @@ -191,21 +191,51 @@ xkb_keymap "custom" { level_name[2] = "LEVEL2"; }; - type "LATIN_AND_GREEK" { - modifiers = Shift + Mod3; - map[Shift] = 2; - map[Mod3] = 3; - map[Shift+Mod3] = 4; + type "SPACE" { + modifiers = Mod3; + map[Mod3] = 2; level_name[1] = "LEVEL1"; level_name[2] = "LEVEL2"; - level_name[3] = "LEVEL3"; - level_name[4] = "LEVEL4"; + }; + + type "UNICODE" { + modifiers = Shift + Mod2 + Mod3 + Mod5; + map[Shift] = 2; + map[Mod2] = 3; + map[Mod2+Shift] = 4; + map[Mod3] = 5; + map[Mod3+Shift] = 6; + map[Mod3+Mod2] = 7; + map[Mod3+Mod2+Shift] = 8; + map[Mod5] = 9; + map[Mod5+Shift] = 10; + map[Mod5+Mod2] = 11; + map[Mod5+Mod2+Shift] = 12; + map[Mod5+Mod3] = 13; + map[Mod5+Mod3+Shift] = 14; + map[Mod5+Mod3+Mod2] = 15; + map[Mod5+Mod3+Mod2+Shift] = 16; + level_name[1] = "LEVEL01"; + level_name[2] = "LEVEL02"; + level_name[3] = "LEVEL03"; + level_name[4] = "LEVEL04"; + level_name[5] = "LEVEL05"; + level_name[6] = "LEVEL06"; + level_name[7] = "LEVEL07"; + level_name[8] = "LEVEL08"; + level_name[9] = "LEVEL09"; + level_name[10] = "LEVEL10"; + level_name[11] = "LEVEL11"; + level_name[12] = "LEVEL12"; + level_name[13] = "LEVEL13"; + level_name[14] = "LEVEL14"; + level_name[15] = "LEVEL15"; + level_name[16] = "LEVEL16"; }; // Initialize remainder of all 32 types to dummy types to cope with // the following bug: // https://gitlab.freedesktop.org/xorg/xserver/-/issues/1376 - type "TYPE07" { level_name[1] = "LEVEL1"; }; type "TYPE08" { level_name[1] = "LEVEL1"; }; type "TYPE09" { level_name[1] = "LEVEL1"; }; type "TYPE10" { level_name[1] = "LEVEL1"; }; @@ -248,8 +278,8 @@ xkb_keymap "custom" { modifier_map Lock { Caps_Lock }; modifier_map Control { Control_L, Control_R }; modifier_map Mod1 { Alt_L, Alt_R }; - modifier_map Mod2 { F14 }; - modifier_map Mod3 { F15 }; + modifier_map Mod2 { F15 }; + modifier_map Mod3 { F14 }; modifier_map Mod4 { Super_L, Super_R }; modifier_map Mod5 { F16 }; @@ -266,10 +296,8 @@ xkb_keymap "custom" { key <LWIN> { [Super_L] }; key <RWIN> { [Super_R] }; - key.type = "TWO_LEVEL"; - - key <F14> { symbols[1] = [NoSymbol], actions[1] = [SetMods(mods=Mod2)] }; - key <F15> { symbols[1] = [NoSymbol], actions[1] = [SetMods(mods=Mod3)] }; + key <F14> { symbols[1] = [NoSymbol], actions[1] = [SetMods(mods=Mod3)] }; + key <F15> { symbols[1] = [NoSymbol], actions[1] = [SetMods(mods=Mod2)] }; key <F16> { symbols[1] = [NoSymbol], actions[1] = [SetMods(mods=Mod5)] }; key.type = "ONE_LEVEL"; @@ -280,12 +308,9 @@ xkb_keymap "custom" { key <ESC> { [Escape] }; key <BKSP> { [BackSpace] }; key <RTRN> { [Return] }; - key <SPCE> { [space] }; - key <UP> { [Up] }; - key <DOWN> { [Down] }; - key <LEFT> { [Left] }; - key <RGHT> { [Right] }; + // key <TAB> { [Tab, ISO_Left_Tab] }; + key <TAB> { [Tab ] }; key <HOME> { [Home] }; key <END> { [End] }; @@ -302,23 +327,10 @@ xkb_keymap "custom" { key <MONU> { [XF86MonBrightnessUp] }; key.type = "TWO_LEVEL"; + // TODO: should be alt instead of shift - key <GRAV> { [grave, asciitilde] }; - key <HYPH> { [minus, underscore] }; - key <EQ> { [equal, plus] }; - key <LBRK> { [bracketleft, braceleft] }; - key <RBRK> { [bracketright, braceright] }; - key <BKSL> { [backslash, bar] }; - key <SEMI> { [semicolon, colon] }; - key <QUOT> { [apostrophe, quotedbl] }; - key <COMM> { [comma, less] }; - key <DOT> { [period, greater] }; - key <SLSH> { [slash, question] }; - // key <TAB> { [Tab, ISO_Left_Tab] }; - key <TAB> { [Tab, Tab] }; - - key <PRSC> { [Print, Sys_Req] }; // TODO: should be alt instead of shift - key <PAUS> { [Pause, Break] }; // TODO: ditto + key <PRSC> { [Print, Sys_Req] }; + key <PAUS> { [Pause, Break] }; key.type = "FN_TTY"; @@ -358,86 +370,115 @@ xkb_keymap "custom" { key <KPEQ> { [KP_Equal] }; key <KPEN> { [KP_Enter] }; - key.type = "TWO_LEVEL"; - - key <1> { [1, exclam ] }; - key <2> { [2, at ] }; - key <3> { [3, numbersign ] }; - key <4> { [4, dollar ] }; - key <5> { [5, percent ] }; - key <6> { [6, asciicircum] }; - key <7> { [7, ampersand ] }; - key <8> { [8, asterisk ] }; - key <9> { [9, parenleft ] }; - key <0> { [0, parenright ] }; - - key.type = "LATIN_AND_GREEK"; - - key <a> { [a, A, Greek_alpha, Greek_ALPHA ] }; - key <b> { [b, B, Greek_beta, Greek_BETA ] }; - key <c> { [c, C, Greek_chi, Greek_CHI ] }; - key <d> { [d, D, Greek_delta, Greek_DELTA ] }; - key <e> { [e, E, Greek_epsilon, Greek_EPSILON] }; - key <f> { [f, F, Greek_phi, Greek_PHI ] }; - key <g> { [g, G, Greek_gamma, Greek_GAMMA ] }; - key <h> { [h, H, Greek_theta, Greek_THETA ] }; - key <i> { [i, I, Greek_iota, Greek_IOTA ] }; - key <j> { [j, J, Greek_eta, Greek_ETA ] }; - key <k> { [k, K, Greek_kappa, Greek_KAPPA ] }; - key <l> { [l, L, Greek_lamda, Greek_LAMDA ] }; - key <m> { [m, M, Greek_mu, Greek_MU ] }; - key <n> { [n, N, Greek_nu, Greek_NU ] }; - key <o> { [o, O, Greek_omicron, Greek_OMICRON] }; - key <p> { [p, P, Greek_pi, Greek_PI ] }; - key <q> { [q, Q, Greek_psi, Greek_PSI ] }; - key <r> { [r, R, Greek_rho, Greek_RHO ] }; - key <s> { [s, S, Greek_sigma, Greek_SIGMA ] }; - key <t> { [t, T, Greek_tau, Greek_TAU ] }; - key <u> { [u, U, NoSymbol, NoSymbol ] }; - key <v> { [v, V, NoSymbol, NoSymbol ] }; - key <w> { [w, W, Greek_omega, Greek_OMEGA ] }; - key <x> { [x, X, Greek_xi, Greek_XI ] }; - key <y> { [y, Y, Greek_upsilon, Greek_UPSILON] }; - key <z> { [z, Z, Greek_zeta, Greek_ZETA ] }; - - // TODO: Subscripts and superscripts? - //key <1> { [1, exclam, U01D7D9, NoSymbol] }; - //key <2> { [2, at, U01D7DA, NoSymbol] }; - //key <3> { [3, numbersign, U01D7DB, NoSymbol] }; - //key <4> { [4, dollar, U01D7DC, NoSymbol] }; - //key <5> { [5, percent, U01D7DD, NoSymbol] }; - //key <6> { [6, asciicircum, U01D7DE, NoSymbol] }; - //key <7> { [7, ampersand, U01D7DF, NoSymbol] }; - //key <8> { [8, asterisk, U01D7E0, NoSymbol] }; - //key <9> { [9, parenleft, U01D7E1, U002985 ] }; - //key <0> { [0, parenright, U01D7D8, U002986 ] }; - - // TODO: Greek variants - //key <a> { [a, A, U01D552, U01D538, U01D4B6, U01D49C, U01D51E, U01D504], [Greek_alpha, Greek_ALPHA ] }; - //key <b> { [b, B, U01D553, U01D539, U01D4B7, U00212C, U01D51F, U01D505], [Greek_beta, Greek_BETA ] }; - //key <c> { [c, C, U01D554, U002102, U01D4B8, U01D49E, U01D520, U00212D], [Greek_chi, Greek_CHI ] }; - //key <d> { [d, D, U01D555, U01D53B, U01D4B9, U01D49F, U01D521, U01D507], [Greek_delta, Greek_DELTA ] }; - //key <e> { [e, E, U01D556, U01D53C, U00212f, U002130, U01D522, U01D508], [Greek_epsilon, Greek_EPSILON] }; - //key <f> { [f, F, U01D557, U01D53D, U01D4BB, U002131, U01D523, U01D509], [Greek_phi, Greek_PHI ] }; - //key <g> { [g, G, U01D558, U01D53E, U00210A, U01D4A2, U01D524, U01D50A], [Greek_gamma, Greek_GAMMA ] }; - //key <h> { [h, H, U01D559, U00210D, U01D4BD, U00210B, U01D525, U00210C], [Greek_theta, Greek_THETA ] }; - //key <i> { [i, I, U01D55A, U01D540, U01D4BE, U002110, U01D526, U002111], [Greek_iota, Greek_IOTA ] }; - //key <j> { [j, J, U01D55B, U01D541, U01D4BF, U01D4A5, U01D527, U01D50D], [Greek_eta, Greek_ETA ] }; - //key <k> { [k, K, U01D55C, U01D542, U01D4C0, U01D4A6, U01D528, U01D50E], [Greek_kappa, Greek_KAPPA ] }; - //key <l> { [l, L, U01D55D, U01D543, U01D4C1, U002112, U01D529, U01D50F], [Greek_lamda, Greek_LAMDA ] }; - //key <m> { [m, M, U01D55E, U01D544, U01D4C2, U002133, U01D52A, U01D510], [Greek_mu, Greek_MU ] }; - //key <n> { [n, N, U01D55F, U002115, U01D4C3, U01D4A9, U01D52B, U01D511], [Greek_nu, Greek_NU ] }; - //key <o> { [o, O, U01D560, U01D546, U002134, U01D4AA, U01D52C, U01D512], [Greek_omicron, Greek_OMICRON] }; - //key <p> { [p, P, U01D561, U002119, U01D4C5, U01D4AB, U01D52D, U01D513], [Greek_pi, Greek_PI ] }; - //key <q> { [q, Q, U01D562, U00211A, U01D4C6, U01D4AC, U01D52E, U01D514], [Greek_psi, Greek_PSI ] }; - //key <r> { [r, R, U01D563, U00211D, U01D4C7, U00211B, U01D52F, U00211C], [Greek_rho, Greek_RHO ] }; - //key <s> { [s, S, U01D564, U01D54A, U01D4C8, U01D4AE, U01D530, U01D516], [Greek_sigma, Greek_SIGMA ] }; - //key <t> { [t, T, U01D565, U01D54B, U01D4C9, U01D4AF, U01D531, U01D517], [Greek_tau, Greek_TAU ] }; - //key <u> { [u, U, U01D566, U01D54C, U01D4CA, U01D4B0, U01D532, U01D518], [NoSymbol, NoSymbol ] }; - //key <v> { [v, V, U01D567, U01D54D, U01D4CB, U01D4B1, U01D533, U01D519], [NoSymbol, NoSymbol ] }; - //key <w> { [w, W, U01D568, U01D54E, U01D4CC, U01D4B2, U01D534, U01D51A], [Greek_omega, Greek_OMEGA ] }; - //key <x> { [x, X, U01D569, U01D54F, U01D4CD, U01D4B3, U01D535, U01D51B], [Greek_xi, Greek_XI ] }; - //key <y> { [y, Y, U01D56A, U01D550, U01D4CE, U01D4B4, U01D536, U01D51C], [Greek_upsilon, Greek_UPSILON] }; - //key <z> { [z, Z, U01D56B, U002124, U01D4CF, U01D4B5, U01D537, U002128], [Greek_zeta, Greek_ZETA ] }; + // black spade: 2660 + // white heart: 2661 + // white diamond: 2662 + // black club: 2663 + // white spade: 2664 + // black heart: 2665 + // black diamond: 2666 + // white club: 2667 + + // flat: 266d + // natural: 266e + // sharp: 266f + + // not: 00ac + // del: 2202 + // empty set: 2205 + // delta/increment: 2206 + // nabla/decrement: 2207 + // qed: 220e + // minus: 2212 + // sqrt: 221a + // prop: 221d + // inf: 221e + // pipe: 2223 + // not pipe: 2224 + // pipe pipe: 2225 + // not pipe pipe: 2226 + // and: 2227 + // or: 2228 + // cap: 2229 + // cup: 222a + // int: 222b + // tilde: 223c + // not tilde: 2241 + // tilde line: 2243 + // not tilde line: 2244 + // tilde line line: 2245 + // not tilde line line: 2247 + // tilde tilde: 2248 + // not tilde tilde: 2249 + // colon eq: 2254 + // eq colon: 2255 + // not eq: 2260 + // eq line: 2261 + // not eq line: 2262 + // leq: 2264 + // geq: 2265 + + // TODO: Assign keys to important symbols from this table (I already + // briefly went through the others): + // https://en.wikipedia.org/wiki/Mathematical_operators_and_symbols_in_Unicode#Mathematical_Operators_block + + key.type = "SPACE"; + + key <SPCE> { [space, U2423] }; + + key.type = "UNICODE"; + + // ---- ---L --R- --RL -C-- -C-L -CR- -CRL F--- F--L F-R- F-RL FC-- FC-L FCR- FCRL + key <UP> { [Up, Up, NoSymbol, NoSymbol, U02191, U021D1, NoSymbol, NoSymbol, U021A5, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <DOWN> { [Down, Down, NoSymbol, NoSymbol, U02193, U021D3, NoSymbol, NoSymbol, U021A7, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <LEFT> { [Left, Left, NoSymbol, NoSymbol, U02190, U021D0, NoSymbol, NoSymbol, U021A4, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <RGHT> { [Right, Right, NoSymbol, NoSymbol, U02192, U021D2, NoSymbol, NoSymbol, U021A6, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <GRAV> { [grave, asciitilde, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <HYPH> { [minus, underscore, NoSymbol, NoSymbol, U000B1, U02213, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <EQ> { [equal, plus, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <LBRK> { [bracketleft, braceleft, NoSymbol, NoSymbol, U027E8, U02039, NoSymbol, NoSymbol, U0230A, U02308, U027E6, U02983, U0231E, U0231C, NoSymbol, NoSymbol] }; + key <RBRK> { [bracketright, braceright, NoSymbol, NoSymbol, U027E9, U0203A, NoSymbol, NoSymbol, U0230B, U02309, U027E7, U02984, U0231F, U0231D, NoSymbol, NoSymbol] }; + key <BKSL> { [backslash, bar, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <SEMI> { [semicolon, colon, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <QUOT> { [apostrophe, quotedbl, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <COMM> { [comma, less, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <DOT> { [period, greater, NoSymbol, NoSymbol, U022C5, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <SLSH> { [slash, question, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <1> { [1, exclam, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7D9, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <2> { [2, at, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7DA, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <3> { [3, numbersign, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7DB, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <4> { [4, dollar, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7DC, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <5> { [5, percent, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7DD, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <6> { [6, asciicircum, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7DE, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <7> { [7, ampersand, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7DF, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <8> { [8, asterisk, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7E0, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <9> { [9, parenleft, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7E1, U02985, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <0> { [0, parenright, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D7D8, U02986, NoSymbol, NoSymbol, NoSymbol, NoSymbol] }; + key <a> { [a, A, Greek_alpha, Greek_ALPHA, U02200, NoSymbol, U1D4B6, U1D49C, NoSymbol, NoSymbol, U1D552, U1D538, NoSymbol, NoSymbol, U1D51E, U1D504] }; + key <b> { [b, B, Greek_beta, Greek_BETA, NoSymbol, NoSymbol, U1D4B7, U0212C, NoSymbol, NoSymbol, U1D553, U1D539, NoSymbol, NoSymbol, U1D51F, U1D505] }; + key <c> { [c, C, Greek_chi, Greek_CHI, U0220B, U0220C, U1D4B8, U1D49E, NoSymbol, NoSymbol, U1D554, U02102, NoSymbol, NoSymbol, U1D520, U0212D] }; + key <d> { [d, D, Greek_delta, Greek_DELTA, U000F7, NoSymbol, U1D4B9, U1D49F, NoSymbol, NoSymbol, U1D555, U1D53B, NoSymbol, NoSymbol, U1D521, U1D507] }; + key <e> { [e, E, Greek_epsilon, Greek_EPSILON, U02203, U02204, U0212F, U02130, NoSymbol, NoSymbol, U1D556, U1D53C, NoSymbol, NoSymbol, U1D522, U1D508] }; + key <f> { [f, F, Greek_phi, Greek_PHI, NoSymbol, NoSymbol, U1D4BB, U02131, NoSymbol, NoSymbol, U1D557, U1D53D, NoSymbol, NoSymbol, U1D523, U1D509] }; + key <g> { [g, G, Greek_gamma, Greek_GAMMA, NoSymbol, NoSymbol, U0210A, U1D4A2, NoSymbol, NoSymbol, U1D558, U1D53E, NoSymbol, NoSymbol, U1D524, U1D50A] }; + key <h> { [h, H, Greek_theta, Greek_THETA, NoSymbol, NoSymbol, U1D4BD, U0210B, NoSymbol, NoSymbol, U1D559, U0210D, NoSymbol, NoSymbol, U1D525, U0210C] }; + key <i> { [i, I, Greek_iota, Greek_IOTA, U02208, U02209, U1D4BE, U02110, NoSymbol, NoSymbol, U1D55A, U1D540, NoSymbol, NoSymbol, U1D526, U02111] }; + key <j> { [j, J, Greek_eta, Greek_ETA, NoSymbol, NoSymbol, U1D4BF, U1D4A5, NoSymbol, NoSymbol, U1D55B, U1D541, NoSymbol, NoSymbol, U1D527, U1D50D] }; + key <k> { [k, K, Greek_kappa, Greek_KAPPA, NoSymbol, NoSymbol, U1D4C0, U1D4A6, NoSymbol, NoSymbol, U1D55C, U1D542, NoSymbol, NoSymbol, U1D528, U1D50E] }; + key <l> { [l, L, Greek_lamda, Greek_LAMDA, NoSymbol, NoSymbol, U1D4C1, U02112, NoSymbol, NoSymbol, U1D55D, U1D543, NoSymbol, NoSymbol, U1D529, U1D50F] }; + key <m> { [m, M, Greek_mu, Greek_MU, NoSymbol, NoSymbol, U1D4C2, U02133, NoSymbol, NoSymbol, U1D55E, U1D544, NoSymbol, NoSymbol, U1D52A, U1D510] }; + key <n> { [n, N, Greek_nu, Greek_NU, NoSymbol, NoSymbol, U1D4C3, U1D4A9, NoSymbol, NoSymbol, U1D55F, U02115, NoSymbol, NoSymbol, U1D52B, U1D511] }; + key <o> { [o, O, Greek_omicron, Greek_OMICRON, U02218, U02219, U02134, U1D4AA, NoSymbol, NoSymbol, U1D560, U1D546, NoSymbol, NoSymbol, U1D52C, U1D512] }; + key <p> { [p, P, Greek_pi, Greek_PI, U0220F, U02210, U1D4C5, U1D4AB, NoSymbol, NoSymbol, U1D561, U02119, NoSymbol, NoSymbol, U1D52D, U1D513] }; + key <q> { [q, Q, Greek_psi, Greek_PSI, NoSymbol, NoSymbol, U1D4C6, U1D4AC, NoSymbol, NoSymbol, U1D562, U0211A, NoSymbol, NoSymbol, U1D52E, U1D514] }; + key <r> { [r, R, Greek_rho, Greek_RHO, NoSymbol, NoSymbol, U1D4C7, U0211B, NoSymbol, NoSymbol, U1D563, U0211D, NoSymbol, NoSymbol, U1D52F, U0211C] }; + key <s> { [s, S, Greek_sigma, Greek_SIGMA, U02211, NoSymbol, U1D4C8, U1D4AE, NoSymbol, NoSymbol, U1D564, U1D54A, NoSymbol, NoSymbol, U1D530, U1D516] }; + key <t> { [t, T, Greek_tau, Greek_TAU, NoSymbol, NoSymbol, U1D4C9, U1D4AF, NoSymbol, NoSymbol, U1D565, U1D54B, NoSymbol, NoSymbol, U1D531, U1D517] }; + key <u> { [u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D4CA, U1D4B0, NoSymbol, NoSymbol, U1D566, U1D54C, NoSymbol, NoSymbol, U1D532, U1D518] }; + key <v> { [v, V, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U1D4CB, U1D4B1, NoSymbol, NoSymbol, U1D567, U1D54D, NoSymbol, NoSymbol, U1D533, U1D519] }; + key <w> { [w, W, Greek_omega, Greek_OMEGA, NoSymbol, NoSymbol, U1D4CC, U1D4B2, NoSymbol, NoSymbol, U1D568, U1D54E, NoSymbol, NoSymbol, U1D534, U1D51A] }; + key <x> { [x, X, Greek_xi, Greek_XI, U000D7, NoSymbol, U1D4CD, U1D4B3, NoSymbol, NoSymbol, U1D569, U1D54F, NoSymbol, NoSymbol, U1D535, U1D51B] }; + key <y> { [y, Y, Greek_upsilon, Greek_UPSILON, NoSymbol, NoSymbol, U1D4CE, U1D4B4, NoSymbol, NoSymbol, U1D56A, U1D550, NoSymbol, NoSymbol, U1D536, U1D51C] }; + key <z> { [z, Z, Greek_zeta, Greek_ZETA, NoSymbol, NoSymbol, U1D4CF, U1D4B5, NoSymbol, NoSymbol, U1D56B, U02124, NoSymbol, NoSymbol, U1D537, U02128] }; }; -}; -\ No newline at end of file +};