Go to file
Stefan Kerkmann 5c2052fd47
[Core] RISC-V toolchain and picolibc fixes (#15109)
* [Core] Fix RISC-V toolchain installation

The risc-v toolchain is only available on distributions based on Debian 11+
so we check for their availability before installing them.

* [Core] Fix heap symbols and syscalls for picolibc

picolibc internally uses __heap_start and __heap_end instead of the
defacto chibios linker script standard __heap_base__ and __heap_end__
therefore we introduce these symbols as an alias. Usually all memory
used within QMK is statically allocated, but some algorithms make usage
of malloc and friends.

Also the timeval struct is not defined by picolibc for syscalls, therefore it
is declared as stub.
2021-11-20 20:04:16 +00:00
.github CI: Create GitHub Actions unit test workflow (#15223) 2021-11-20 09:04:11 +11:00
.vscode remove Bracket Pair Colorizer recommendation (#14816) 2021-10-15 11:54:19 +11:00
api_data Generate api data on each push (#10609) 2020-10-25 14:48:44 -07:00
builddefs Add support for deferred executors. (#14859) 2021-11-15 18:21:09 +00:00
data Merge remote-tracking branch 'origin/master' into develop 2021-11-04 21:15:20 +00:00
docs Rework encoders to enable asymmetric split keyboards (#12090) 2021-11-20 09:06:08 -08:00
drivers Rework and expand Pointing Device support (#14343) 2021-11-14 22:03:24 -08:00
keyboards Merge remote-tracking branch 'origin/master' into develop 2021-11-20 04:15:27 +00:00
layouts Require explicit enabling of RGB Matrix modes (#15018) 2021-11-15 10:41:04 -08:00
lib Merge remote-tracking branch 'origin/master' into develop 2021-11-19 09:48:23 -08:00
platforms [Core] RISC-V toolchain and picolibc fixes (#15109) 2021-11-20 20:04:16 +00:00
quantum Rework encoders to enable asymmetric split keyboards (#12090) 2021-11-20 09:06:08 -08:00
tests Basic keycode overhaul (#14726) 2021-11-03 22:22:17 -07:00
tmk_core [Bug] Fix timer include in override_wiring.c (#15221) 2021-11-19 21:22:45 +00:00
users Merge remote-tracking branch 'origin/master' into develop 2021-11-17 20:46:24 +00:00
util [Core] RISC-V toolchain and picolibc fixes (#15109) 2021-11-20 20:04:16 +00: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 New CLI subcommand to create clang-compatible compilation database (`compile_commands.json`) (#14370) 2021-09-16 14:59:57 +10:00
.gitmodules Purge uGFX. (#14720) 2021-10-07 10:57:48 +11:00
Dockerfile move everything from qmkfm/base_container to qmkfm/qmk_cli (#14230) 2021-08-29 16:41:56 -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 Migrate makefile utilities to sub-directory (#14917) 2021-10-28 01:07:53 +01:00
Vagrantfile move everything from qmkfm/base_container to qmkfm/qmk_cli (#14230) 2021-08-29 16:41:56 -07:00
book.json adds redirects for docs 2017-08-19 08:31:54 -04: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 Move tmk_core/common/<plat> (#13918) 2021-11-19 10:41:02 -08: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 Rework encoders to enable asymmetric split keyboards (#12090) 2021-11-20 09:06:08 -08:00
common_features.mk Move tmk_core/common/<plat> (#13918) 2021-11-19 10:41:02 -08:00
doxygen-todo Remove SERIAL_LINK feature (#14727) 2021-10-07 12:32:05 +11:00
license_GPLv2.md
license_GPLv3.md
license_Modified_BSD.md
nose2.cfg Setup a python test framework 2019-09-07 07:58:41 -07:00
paths.mk Move tmk_core/common/<plat> (#13918) 2021-11-19 10:41:02 -08: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 Remove bin/qmk (#14231) 2021-08-29 16:50:22 -07:00
testlist.mk Rework encoders to enable asymmetric split keyboards (#12090) 2021-11-20 09:06:08 -08: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.