Skip to main content

Files generated by POG

POG creates multiple files on the circuit python drive. This page describes what they are and what they do.

pog.json

the pog.json file is the configuration file for pog. it contains all the information about your keyboard and is used to generate the things like pin mappings, matrix configurations, keymap and key layouts. will be generated by pog but can be edited manually if you know what you are doing.

keymap.py

this is the file that contains the keymap for your keyboard. it is generated from the pog.json file and should not be modified manually as it will be overwritten with every save of pog. it is written directly to file as it makes things a lot simpler to debug when issues occur. in contrast the lookup for the encoders is done through the pog.json file. for custom keycode that you want to use in your keymap please save them to the customkeys.py file.

customkeys.py

this file is used to store custom keycodes that you want to use in your keymap. free to be edited as you like. pog will not touch this file after the first write. they are automatically imported into the keymap.py file and can be used as customkeys.MY_CUSTOM_KEY

code.py

this is the entrypoint for the circuit python firmware. free to be edited as you like. pog will not touch this file after the first write.

kb.py

the configuration for the keyboard if you want to add custom features to your keyboard this might be the best place, feel free to use custom feature flags as in the rgb example. free to be edited as you like. pog will not touch this file after the first write.

pog.py

a helper utility reading and validating variables form the pog.json, so they can be used in kmk.

pog_serial.py

a helper utility that allows for updating the firmware via serial interface without the drive being mounted.

coordmaphelper.py

a helper tool that uses a custom keyboard config for the coordmapping. this will print the key index on keypress which simplifies key mapping while in setup.

boot.py

boot setup. some settings need to be done in here. we set a custom serial identifier for pog to find the keyboard as well as check the first bit of the nvm to enable or disable the usb drive mounting. This can be toggled with the prebuilt customkeys ToggleDrive.