zsa / docs

Misc ErgoDox EZ Files
http://www.ergodox-ez.com
162 stars 23 forks source link

The GUI configurator source code? #12

Closed Ciantic closed 7 years ago

Ciantic commented 7 years ago

Uh I know this is wrong place, but is the GUI configurator source code somewhere? I would like to try to write a really simple keymap support for it.

Take for instance finnish keymap file in Ubuntu/Linux:

/usr/share/X11/xkb/symbols/fi

//
// X keyboard maps for Finland
//
// SFS 5966 / Kotoistus keymap created by Troy Korjuslommi
// Classic keymap based on traditional by Marko Myllynen
// Eliminate deadkeys alternative sent by Linus Torvalds
//

default  partial alphanumeric_keys
xkb_symbols "kotoistus" {

    // Official keymap for Finland based on SFS 5966 standard
    //
    // This keymap implements all the functionality of Annex 1
    // of the standard and additionally defines the following to
    // allow entering these characters with keyboards without LSGT.
    //
    // AE08+4, U+003C : LESS-THAN SIGN     (less)
    // AE09+4, U+003E : GREATER-THAN SIGN  (greater)
    // AD08+4, U+007C : VERTICAL LINE      (bar)
    //
    // Annex 3 of the standard is implemented in fi_FI.UTF-8/Compose

    name[Group1]="Finnish";

    key <TLDE> { [  section,         onehalf,          dead_stroke,           NoSymbol              ] };
    key <AE01> { [  1,               exclam,           NoSymbol,              exclamdown            ] };
    key <AE02> { [  2,               quotedbl,         at,                    rightdoublequotemark  ] };
    key <AE03> { [  3,               numbersign,       sterling,              guillemotright        ] };
    key <AE04> { [  4,               currency,         dollar,                guillemotleft         ] };
    key <AE05> { [  5,               percent,          permille,              leftdoublequotemark   ] };
    key <AE06> { [  6,               ampersand,        singlelowquotemark,    doublelowquotemark    ] };
    key <AE07> { [  7,               slash,            braceleft,             NoSymbol              ] };
    key <AE08> { [  8,               parenleft,        bracketleft,           less                  ] };
    key <AE09> { [  9,               parenright,       bracketright,          greater               ] };
    key <AE10> { [  0,               equal,            braceright,            degree                ] };
    key <AE11> { [  plus,            question,         backslash,             questiondown          ] };
    key <AE12> { [  dead_acute,      dead_grave,       dead_cedilla,          dead_ogonek           ] };

    key <AD01> { [  q,               Q,                q,                     Q                     ] };
    key <AD02> { [  w,               W,                w,                     W                     ] };
    key <AD03> { [  e,               E,                EuroSign,              NoSymbol              ] };
    key <AD04> { [  r,               R,                r,                     R                     ] };
    key <AD05> { [  t,               T,                thorn,                 THORN                 ] };
    key <AD06> { [  y,               Y,                y,                     Y                     ] };
    key <AD07> { [  u,               U,                u,                     U                     ] };
    key <AD08> { [  i,               I,                idotless,              bar                   ] };
    key <AD09> { [  o,               O,                oe,                    OE                    ] };
    key <AD10> { [  p,               P,                dead_horn,             dead_hook             ] };
    key <AD11> { [  aring,           Aring,            dead_doubleacute,      dead_abovering        ] };
    key <AD12> { [  dead_diaeresis,  dead_circumflex,  dead_tilde,            dead_macron           ] };

    key <AC01> { [  a,               A,                schwa,                 SCHWA                 ] };
    key <AC02> { [  s,               S,                ssharp,                NoSymbol              ] };
    key <AC03> { [  d,               D,                eth,                   ETH                   ] };
    key <AC04> { [  f,               F,                f,                     F                     ] };
    key <AC05> { [  g,               G,                g,                     G                     ] };
    key <AC06> { [  h,               H,                h,                     H                     ] };
    key <AC07> { [  j,               J,                j,                     J                     ] };
    key <AC08> { [  k,               K,                kra,                   NoSymbol              ] };
    key <AC09> { [  l,               L,                dead_stroke,           NoSymbol              ] };
    key <AC10> { [  odiaeresis,      Odiaeresis,       oslash,                Oslash                ] };
    key <AC11> { [  adiaeresis,      Adiaeresis,       ae,                    AE                    ] };
    key <BKSL> { [  apostrophe,      asterisk,         dead_caron,            dead_breve            ] };

    key <LSGT> { [  less,            greater,          bar,                   NoSymbol              ] };
    key <AB01> { [  z,               Z,                ezh,                   EZH                   ] };
    key <AB02> { [  x,               X,                multiply,              periodcentered        ] };
    key <AB03> { [  c,               C,                c,                     C                     ] };
    key <AB04> { [  v,               V,                v,                     V                     ] };
    key <AB05> { [  b,               B,                b,                     B                     ] };
    key <AB06> { [  n,               N,                eng,                   ENG                   ] };
    key <AB07> { [  m,               M,                mu,                    emdash                ] };
    key <AB08> { [  comma,           semicolon,        rightsinglequotemark,  leftsinglequotemark   ] };
    key <AB09> { [  period,          colon,            dead_belowdot,         dead_abovedot         ] };
    key <AB10> { [  minus,           underscore,       endash,                dead_belowcomma       ] };

    include "nbsp(level4)"
    include "nbsp(level3)"
    include "kpdl(comma)"
    include "level3(ralt_switch)"
};

It wouldn't be too hard to convert AXXX to VK code, then take (at very least) the first item on the list of each item and show that instead in the GUI configurator.

Ciantic commented 7 years ago

It's closed source.