• Stars
    star
    641
  • Rank 67,722 (Top 2 %)
  • Language
    JavaScript
  • Created over 6 years ago
  • Updated 2 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
16,821
star
2

qmk_toolbox

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

keyboard_awesome

A collection of awesome keyboard resources
179
star
4

qmk_distro_msys

A Windows one-click installer for the QMK CLI
Inno Setup
166
star
5

qmk_cli

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

qmk_hardware

Hardware resources for projects using QMK
Python
107
star
7

qmk.fm

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

qmk_flasher

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

qmk_kernel_module

An experiment with a Raspberry Pi running QMK
C
45
star
10

qmk_api

QMK API, information on keyboards and keymaps, and a compile service.
Python
33
star
11

ChibiOS

Mirror of the ChibiOS SVN repository
C
24
star
12

qmk_distro_wsl

A pre-configured WSL distro for working with the QMK CLI
Python
23
star
13

qmk_xap

Rust
18
star
14

qmk_userspace

Userspace for the open-source QMK keyboard firmware.
Shell
17
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

libqmk

C
11
star
19

qmk_web_stack

Shell
11
star
20

qmk_fpm

Infrastructure to package the QMK CLI for various operating systems
Shell
7
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_base_container

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

qmk_emulator

An (eventual) emulator for qmk/qmk_firmware
4
star
26

qmk_compiler_api_libs

Librarys for the QMK compiler API
C#
3
star
27

qmk_error_page

Surfacing Errors in QMK Keyboards
Vue
3
star
28

.github

Default community health files
3
star
29

qmk_bot

A helper bot for QMK
Python
2
star
30

qmk_keyboards

Machine readable data for qmk keyboards
2
star
31

qmk_docs_devel

1
star
32

qmk_udev

A small program that udev uses to identify QMK keyboards
C
1
star
33

qmk_api_tasks

Ongoing tasks performed on the QMK API
Python
1
star
34

qmk_api_redis

The redis container and configuration for the QMK API
Dockerfile
1
star
35

qmk_helper_windows

HTML
1
star
36

qmk_keyboards_devel

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

qmk_keymap

C
1
star
38

qmk_configurator_appliance

Dockerfile
1
star