libdof 0.24.0

.dof file protocol, a keyboard layout format specification
Documentation
{
    "name": "Qwerty",
    "authors": [
        "Christopher Latham Sholes"
    ],
    "year": 1878,
    "description": "the OG. Without Qwerty, none of this would be necessary.",
    "link": "https://en.wikipedia.org/wiki/QWERTY",
    "languages": {
        "english": 100
    },
    "anchor": [0, 0],
    "layers": {
        "main": [
            "` 1 2 3 4 5  6 7 8 9 0 - = bsp",
            "tb q w e r t  y u i o p [ ] \\",
            "cps a s d f g  h j k l ; ' ret",
            "shft z x c v b  n m , . / shft",
            "~ ~ &mgc    spc   @altgr ~ ~ ß"
        ],
        "shift": [
            "\\~ ! @ # $ %  ^ & \\* ( ) _ + bsp",
            "tab  Q W E R T  Y U   I O P { } |",
            "caps  A S D F G  H J   K L : \" ent",
            "sft    Z X C V B  N M   < > ? shft",
            "~ ~ &mgc      spc     altgr ~ ~ SS"
        ],
        "altgr": [
            "* * * * * *    * * * * * * * bsp",
            "tb * * * * #tb   * ü * ö * * * *",
            "cps ä * * * &mgc2 * * * * * * ret",
            "shft * * * * *     * * * * * shft",
            "~ ~ &mgc        spc       * ~ ~ ~"
        ]
    },
    "combos": {
        "main": {
            "d f": "x",
            "j k": "6"
        },
        "shift": {
            "sft-2 ?": "X"
        }
    },
    "magic": {
        "mgc": {
            "a": "b",
            "abc": "defghijklmnopqrstuvwxyz"
        },
        "mgc2": {
            "more": " magic"
        }
    },
    "board": [
        "k    k k k k k   k k k k k k k 2k",
        "1.5k  k k k k k   k k k k k k k 1.5k",
        "1.75k  k k k k k   k k k k k k 2.25k",
        "2.25k k k k k k   k k k k k 2.75k",
        "1.25k 1.25k 1.25k 6.25k 1.25k 1.25k 1.25k 1.25k"
    ],
    "fingering": [
        "0  0  1  2  3  3   6  6  7  8  9  9  9  9",
        "LP LP LR LM LI LI  RI RI RM RR RP RP RP RP",
        "LP LP LR LM LI LI  RI RI RM RR RP RP RP",
        "LP LR LM LI LI LI  RI RI RM RR RP RP",
        "LP  LP  LT  LT    LT    RT  RT  RP"
    ]
}