Skip to main content

Contributing

First of all let me say thank you for adding your keyboard to Peg, we really appreciate it and it makes peg better for everyone.

Next we expect that the kb.py main.py and layout.json have been tested in Peg and everything works. You do not need to do anything special to get your keyboard to show up in peg once it has a layout.json and main.py the Peg client should pick it up.

Let me get into what we look for in a keyboard.

Name

Your folder name should be descriptive of the configuration it contains eg: Foostan-crkbd-n!n-wired-L (Foostans crkbd with nice!nano as wired left side)

Note on hand wires: You can add them but it must be under HandWire-boardname_by_yourname-controller-anything else

Splits

We want to see 2 complete folders.

Main.py

We are expecting to see a main.py generated by Peg. If your keymap still looks like a keyboard we will ask you to run it through Peg.

Layout.json

We want to see everything that can, should be enabled. If the keyboard has per-key RGB, we want to see it enabled. The same as with oleds or encoders, as to not have too many configs for the exact same board. If the end user does not want a feature they can turn it off or not install it on the pcb. If you do not have hardware to test it let us know we will find a way to test it and we still really appreciate you adding it.

Kb.py

We will look over the kb.py to make sure it looks good and is supporting the enabled features

Libs

We will want to see a libraries zip file in ./libs with the exact same name as your keyboard. This is required for the keyboard to work in peg. Your lib zip ( or zip's if split) should be every library required for the keyboard to work assume nothing is frozen in. Then zip that lib folder on your CircuitPython drive so when its extracted you are left with a folder named lib with the libraries in it. It should not be a zip containing all of the libraries it should be a zipped folder of containing all of the libraries.

Other files

If you have other files like a readme that you want to add go for it just know they will not be shown in the Peg client.

Return to main page