Go to file
Sergey Vlasov a1866a962c
Update the nix-shell environment (#13316)
* Nix: Allow calls to `bin/qmk` even when the build was started by `qmk`

The `$PATH` modifications performed by the Nix wrapper for the `qmk`
executable prevent `bin/qmk` from working properly (the changed `$PATH`
contains a wrong `python3` executable which does not have the needed
Python modules in its module path).  As a workaround, disable the
generation of that wrapper for the `qmk` Python package (there is yet
another wrapper generated while building the Python environment, which
would still set the Python module path properly when running `qmk`).

Although `bin/qmk` is officially deprecated, QMK CLI still invokes it in
some cases (at least `qmk doctor` and `qmk pytest`), therefore keeping
these invocations working is useful.

* Nix: Update `util/nix/pyproject.toml` to match `requirements*.txt`

Update the Python dependency information used by Poetry to match the
current state of the qmk_firmware code.

* Nix: Bump QMK CLI dependency to 1.0.0; bump other Python deps

Update Python dependencies for nix-shell to the most recent releases:

 - dotty-dict: 1.3.0 -> no longer used
 - milc: 1.4.2 -> 1.6.2
 - pep8-naming: 0.11.1 -> 0.12.1
 - pygments: 2.9.0 -> 2.10.0
 - pyrsistent: 0.17.3 -> 0.18.0
 - pyusb: 1.1.1 -> 1.2.1
 - setuptools-scm: 6.0.1 -> no longer used
 - qmk: 0.1.0 -> 1.0.0
 - qmk-dotty-dict: not used -> 1.3.0.post1
 - yapf: 0.30.0 -> 0.31.0

Note to self: The command to update Python dependencies changed to:

    ( cd util/nix && nix run 'nixpkgs#poetry' -- update --lock )
2021-08-29 22:24:43 +01:00
.github CLI/Docs: Fix the format commands' name (#13668) 2021-07-23 21:41:33 +01:00
.vscode do not automatically format json (#13320) 2021-06-25 22:47:48 -07:00
api_data Generate api data on each push (#10609) 2020-10-25 14:48:44 -07:00
bin Ensure that safe_commands always run (#13199) 2021-06-14 16:51:58 -07:00
data 2021Q3 pre-merge `develop` changelog, keyboard aliases (#14198) 2021-08-29 08:18:18 +10:00
docs Bootmagic lite docs clarity. (#14204) 2021-08-29 09:47:48 +10:00
drivers [Core] Refactor OLED to allow easy addition of other types (#13454) 2021-08-24 16:28:26 +10:00
keyboards [Keyboard] Add Viktus SP Mini (#14069) 2021-08-29 12:18:56 -07:00
layouts [Keyboard] Corrected layout for np24 by YMDK (#14096) 2021-08-29 04:09:43 -07:00
lib 2021Q3 pre-merge `develop` changelog, keyboard aliases (#14198) 2021-08-29 08:18:18 +10:00
platforms Move to correct location (#14171) 2021-08-26 14:14:48 +01:00
quantum Revert 14083 && 14144 (#14150) 2021-08-25 01:16:59 +01:00
tests Allow output of logging when running unit tests (#13556) 2021-07-25 17:18:09 +01:00
tmk_core add wait_cpuclock() macro for AVR and CPU_CLOCK macro (#12755) 2021-08-24 14:34:24 +01:00
users [Keymap] Drashna keymap fixups (#14140) 2021-08-24 01:37:14 -07:00
util Update the nix-shell environment (#13316) 2021-08-29 22:24:43 +01:00
.clang-format fix indent size 2019-06-11 01:51:40 -07:00
.editorconfig QMK CLI and JSON keymap support (#6176) 2019-07-15 12:14:27 -07:00
.gitattributes [nix] Use niv and poetry2nix to more easily manage dependencies (#11181) 2021-04-03 08:05:46 -07:00
.gitignore Align some quantum sub-directories (#14134) 2021-08-24 17:07:11 +01:00
.gitmodules 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
Dockerfile Update docker util script and travis to use new base container 2019-07-14 21:01:38 -07:00
Doxyfile Generate API docs from source code comments (#2491) 2018-03-22 02:50:38 -04:00
LICENSE add an explicit lisence file for github to pickup 2017-11-13 20:50:54 -05:00
Makefile Merge remote-tracking branch 'origin/master' into develop 2021-07-28 11:02:58 +00:00
Vagrantfile Upgrades Vagrant box to Debian 10 to fix Docker build error on Debian 9. (#13236) 2021-06-19 13:52:34 +01:00
book.json adds redirects for docs 2017-08-19 08:31:54 -04:00
bootloader.mk Update LUFA (18-07-2021) and add QMK-HID Bootloader support (#13588) 2021-07-24 23:00:57 -07:00
build_full_test.mk Ensure single newline at EOF for core files (#11310) 2020-12-28 04:36:32 +11:00
build_json.mk Add config.h and rules.mk support for data driven keymaps (#12859) 2021-08-18 21:52:41 +01:00
build_keyboard.mk Fix issues with recent keymap.json changes (#14089) 2021-08-20 19:11:49 +10:00
build_layout.mk Add config.h and rules.mk support for data driven keymaps (#12859) 2021-08-18 21:52:41 +01:00
build_test.mk eeprom_stm32: implement high density wear leveling (#12567) 2021-08-23 23:15:34 +01:00
common.mk Relocate platform specific drivers (#13894) 2021-08-17 23:43:09 +01:00
common_features.mk [Core] Refactor OLED to allow easy addition of other types (#13454) 2021-08-24 16:28:26 +10:00
disable_features.mk Add a <FEATURE>_SUPPORTED flag (#9058) 2021-01-30 13:08:58 -08:00
doxygen-todo Various fixes from reorg of files (#14051) 2021-08-18 09:54:41 +10:00
license_GPLv2.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
license_GPLv3.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
license_Modified_BSD.md Clarify the quantum license (#1042) 2017-03-28 15:20:36 -07:00
message.mk `--parallel` improvements (#13800) 2021-08-18 08:46:59 +10:00
nose2.cfg Setup a python test framework 2019-09-07 07:58:41 -07:00
readme.md [Core] [Docs] Remove travis-ci references (#13916) 2021-08-20 23:31:26 +01:00
requirements-dev.txt Move hid and pyusb to requirements.txt (#13134) 2021-06-07 16:30:55 -07:00
requirements.txt switch to qmk-dotty-dict (#13460) 2021-07-14 09:08:48 -07:00
setup.cfg Use the schema to eliminate custom code (#11108) 2021-01-09 13:34:14 -08:00
shell.nix Update the nix-shell environment (#13316) 2021-08-29 22:24:43 +01:00
show_options.mk [Core] Refactor OLED to allow easy addition of other types (#13454) 2021-08-24 16:28:26 +10:00
testlist.mk eeprom_stm32: implement high density wear leveling (#12567) 2021-08-23 23:15:34 +01:00

readme.md

Quantum Mechanical Keyboard Firmware

Current Version Discord Docs Status GitHub contributors GitHub forks

This is a keyboard firmware based on the tmk_keyboard firmware with some useful features for Atmel AVR and ARM controllers, and more specifically, the OLKB product line, the ErgoDox EZ keyboard, and the Clueboard product line.

Documentation

The docs are powered by Docsify and hosted on GitHub. They are also viewable offline; see Previewing the Documentation for more details.

You can request changes by making a fork and opening a pull request, or by clicking the "Edit this page" link at the bottom of any page.

Supported Keyboards

The project also includes community support for lots of other keyboards.

Maintainers

QMK is developed and maintained by Jack Humbert of OLKB with contributions from the community, and of course, Hasu. The OLKB product firmwares are maintained by Jack Humbert, the Ergodox EZ by ZSA Technology Labs, the Clueboard by Zach White, and the Atreus by Phil Hagelberg.

Official Website

qmk.fm is the official website of QMK, where you can find links to this page, the documentation, and the keyboards supported by QMK.