* feat(print): handle KC_NO by conditioning class/text and add disabled key styling * feat(printing):Add toggles and state for unassigned key - Add toggles to manage printing of unassigned keys - Introduce state for new configurations - Use new configurations when printing * fix(i18n):Add internationalization support (en and es only) for new toggles * Refactor assign status. |
||
|---|---|---|
| .github | ||
| .husky | ||
| assets | ||
| bin | ||
| conf | ||
| docs | ||
| public | ||
| scripts | ||
| src | ||
| tests | ||
| .browserslistrc | ||
| .editorconfig | ||
| .env | ||
| .env.production | ||
| .eslintrc.js | ||
| .gitignore | ||
| .nvmrc | ||
| babel.config.js | ||
| cypress.config.js | ||
| Dockerfile | ||
| eslint.config.js | ||
| index.html | ||
| internationalization_guide.md | ||
| jest.config.js | ||
| jsconfig.json | ||
| package.json | ||
| postcss.config.js | ||
| prettier.config.js | ||
| README.md | ||
| vite.config.js | ||
| yarn.lock | ||
Quantum Mechanical Keyboard Configurator
The QMK Configurator is an online tool used for easily creating firmware files for keyboards supported in qmk_firmware. The tool is located on https://config.qmk.fm.
The QMK Configurator allows simple keymap creation and saving via .json keymap files, and generates appropriate firmware files for flashing onto selected keyboards.
This project is very much a work in progress. To begin contributing, please refer to the following:
Development
We recommend you install and use NVM to manage node versions. There is a .nvmrc file in the root of the project directory that has been tested with our dependencies.
Select node version
nvm use
Project setup
yarn install
Compiles and hot-reloads for development
yarn run dev
Compiles and minifies for production
yarn run build
Run your tests
yarn run test
Lints and fixes files
yarn run lint
Run your end-to-end tests
Start the server separately
yarn run test:cypress
Run your end-to-end tests like CI
Start the server separately
yarn run test:cypress:ci
Run your unit tests
yarn run test:unit
Customize configuration
Docker
If you don't have a webserver already and don't already have one in mind you can use docker. By default it spins up a self-contained environment.
docker run -p 8080:80 qmkfm/qmk_configurator:latest
You can specify a different backend URL by setting VITE_API_URL:
docker run -e VITE_API_URL=http://localhost:8080 -p 8080:80 qmkfm/qmk_configurator:latest
If you'd like to develop locally you can use a volume to tie your local filesystem to the container:
docker run --mount type=volume,source=.,target=/qmk_configurator -p 8080:80 qmkfm/qmk_configurator:latest
Building The Docker Image
Most of the time you don't need to do this, you can use volume mounts as described above to use the pre-built image with your local tree.
If for some reason you do need to build it yourself, you can use this command:
docker build -t qmk_configurator .
This process will take a while. You may want to go make some tea or something. When it finishes you can run it with this command:
docker run -p 8080:80 qmk_configurator
Internationalization Guide
Please refer to this document