• Stars
    star
    681
  • Rank 66,346 (Top 2 %)
  • Language
    JavaScript
  • Created about 7 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The QMK Configurator

Quantum Mechanical Keyboard Configurator

Build Status Known Vulnerabilities Discord GitHub contributors GitHub forks

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 separatly

yarn run test:cypress

Run your end-to-end tests like CI

Start the server separatly

yarn run test:cypress:ci

Run your unit tests

yarn run test:unit

Customize configuration

See Configuration Reference.

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 VUE_APP_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

More Repositories

1

qmk_firmware

Open-source keyboard firmware for Atmel AVR and Arm USB families
C
17,902
star
2

qmk_toolbox

A Toolbox companion for QMK Firmware
C#
2,590
star
3

qmk_distro_msys

A Windows one-click installer for the QMK CLI
Inno Setup
182
star
4

keyboard_awesome

A collection of awesome keyboard resources
178
star
5

qmk_cli

A program to help users work with QMK
Python
141
star
6

qmk_hardware

Hardware resources for projects using QMK
Python
110
star
7

qmk.fm_old

The website-side of qmk_firmware! The compiled binaries are generated automatically on every push to the main repo
CSS
83
star
8

qmk_userspace

Userspace for the open-source QMK keyboard firmware.
Shell
65
star
9

qmk_flasher

flashing utility for the Atmel AVR USB family
JavaScript
63
star
10

qmk_kernel_module

An experiment with a Raspberry Pi running QMK
C
47
star
11

qmk_api

QMK API, information on keyboards and keymaps, and a compile service.
Python
34
star
12

ChibiOS

Mirror of the ChibiOS SVN repository
C
27
star
13

qmk_distro_wsl

A pre-configured WSL distro for working with the QMK CLI
Python
25
star
14

qmk_xap

Rust
22
star
15

qmk_compiler

The worker process that pulls keymap jobs from the queue and compiles them
Python
16
star
16

homebrew-qmk

QMK Homebrew Formulae
Ruby
12
star
17

qmk_xap_poc

JavaScript
12
star
18

qmk_web_stack

Shell
12
star
19

libqmk

C
11
star
20

qmk_fpm

Infrastructure to package the QMK CLI for various operating systems
Shell
9
star
21

qmk_monthly

QMK Monthly
HTML
6
star
22

qmk_dfuse

C++
6
star
23

hacktoberfest_2019

Details for QMK's participation in Hacktoberfest!
HTML
6
star
24

qmk_emulator

An (eventual) emulator for qmk/qmk_firmware
5
star
25

qmk_base_container

The base docker image that qmk_firmware and qmk_compiler use
Dockerfile
5
star
26

qmk_compiler_api_libs

Librarys for the QMK compiler API
C#
3
star
27

.github

Default community health files
3
star
28

awesome-userspaces

A place to host some of the useful and standout external userspaces- and Drashna's.
3
star
29

qmk_toolchains

Compiler toolchains for QMK Firmware
Shell
2
star
30

qmk_udev

A small program that udev uses to identify QMK keyboards
C
2
star
31

qmk_error_page

Surfacing Errors in QMK Keyboards
Vue
2
star
32

qmk_bot

A helper bot for QMK
Python
2
star
33

qmk_api_redis

The redis container and configuration for the QMK API
Dockerfile
2
star
34

qmk_keyboards_old

Machine readable data for qmk keyboards
2
star
35

qmk_docs_devel

1
star
36

qmk_api_tasks

Ongoing tasks performed on the QMK API
Python
1
star
37

qmk_helper_windows

HTML
1
star
38

qmk_keyboards_devel

Machine readable data for QMK keyboards. (devel branch)
1
star
39

qmk_keymap

C
1
star
40

qmk_configurator_appliance

Dockerfile
1
star
41

qmk_metrics_aggregator

Aggregate metrics before writing them to carbon.
Python
1
star
42

qmk_browser

Browse information on supported QMK keyboards
Vue
1
star
43

qmk.fm

The website-side of qmk_firmware!
TypeScript
1
star