/pog

A Kmk firmware flashing and configuration tool

Primary LanguageVueMIT LicenseMIT

logo

POG

KMK GUI, Layout Editor, Keymap Editor, Flashing Utility

Stars Badge Forks Badge

preview

Documentation

the documentation is available here feels free to contribute

Installation

Download the pre built binaries for Windows, Mac and Linux are available in the releases

Development Setup

dependencies

  • node 16
  • yarn

install everything with yarn then just run it with dev to start yarn dev

Tasks

bugs

  • maximum call stack error when closing the app

urgent

  • check if a keyboard is connected (usb drive) in the keyboard selector preview
  • show serial output in the gui
  • automatically get the correct serial device (by serial number)
  • guides etc. for setup + split workflow | help menu + videos
  • save wiring info in qr code or so
  • share pog.json files
  • check if the controller you use even has the pin you specified (controller lookup and serial to get pins )
  • generate layout based on matrix + clear layout button / delete multiple
  • features case-insensitive and via gui or pog json

features wishlist

  • bluetooth workflow
  • language switcher for german and other layouts changing the labels on the keymap
  • modtap/tapdance/macros/sequences
  • encoder support direct pin click
  • way to handle differences between pog.json to kmk code
  • wiring preview

done

  • 1 row / 1col says pin has no len()
  • overwrite on first flash
  • boot.py generation
  • versioning for python files
  • direct pin wiring support
  • save a backup of the json in electron
  • dragging keys on the layout editor
  • Layout editor to replace KLE
  • save pog.json (use as main storage for everything)
  • adjust keymap when matrix changes
  • drag and drop keys

Using Electron

Install

$ npm install

Development

$ npm run dev

Build

# For windows
$ npm run build:win

# For macOS
$ npm run build:mac

# For Linux
$ npm run build:linux