2 releases

0.1.1 Feb 15, 2021
0.1.0 Jan 26, 2021

#1585 in Hardware support

35 downloads per month

MIT license

28KB
668 lines

Keyboard plate prototyping (lib)

How to make your own layout

Layouts are in json format

basic structure is as follow

{
    "layout": [
        // rows
        [
            //keys
             {
                "size": float //size in units
                "char": string //optional for UI module
                "k_type": bit // 0: hidden (spacer) 1: visible (key)
            },
        ],
        [
        ],
        [
        ],
        [
        ]
    ],
    "options": {
        "plate_height": f32 //how thick the plate needs to be, defaults to 20mm
        "screw_holes": bool // adds m2 sized holes at the edge of the plate
                            // not that useful at the moment, needs to be
                            // moved more in to allow heat inserts to be 
                            // used
        "row": [ // options for the rows (not supported yet)
             
        ],
        "column": [ //options for the colums
            {
                "index": integer // column index (zero based)
                "offset": float // vertical offset (used to achieve vertical stagger)
                                // column needs to be the same key size
                                // rows need to have the same amount keys/spacers
            },
        ]
    }
}

Supported exports

  • Dxf
  • Ply

Dependencies

~24MB
~336K SLoC