Open-source keyboard firmware for Atmel AVR and Arm USB families
Go to file
Joakim Tufvegren 8130690a28
Improvements to handling of disconnected split keyboards. (#14033)
* Use memcmp and memcpy to compare and copy slave matrix.

...and memset to initialize `matrix` and `raw_matrix`.

Increased my scan rate (while connected) by ~100 (on Ergodox Infinity).
Effect on AVR is unknown.

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>

* Fix `matrix_post_scan` signalling change on every scan while disconnected.

* Undo removal of initialization of `slave_matrix`.

This has the effect of increasing my Ergodox Infinity firmware size by 8
bytes instead of decreasing by 8 bytes, and lowers the scan rate while
connected back to the initial value before these changes, but _might_
solve some issues on AVR.

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2021-09-18 17:29:22 +10:00
.github
.vscode
api_data
data Remove BLUETOOTH_ENABLE from keyboard-level rules.mk (#14379) 2021-09-12 15:27:29 +10:00
docs New CLI subcommand to create clang-compatible compilation database (compile_commands.json) (#14370) 2021-09-16 14:59:57 +10:00
drivers Merge remote-tracking branch 'origin/master' into develop 2021-09-15 17:07:47 +00:00
keyboards Merge remote-tracking branch 'origin/master' into develop 2021-09-18 06:53:36 +00:00
layouts Remove width, height and key_count from info.json (#14274) 2021-09-12 14:04:56 +10:00
lib New CLI subcommand to create clang-compatible compilation database (compile_commands.json) (#14370) 2021-09-16 14:59:57 +10:00
platforms Add RGBW support to PWM and SPI drivers for ChibiOS (#14327) 2021-09-18 17:28:57 +10:00
quantum Improvements to handling of disconnected split keyboards. (#14033) 2021-09-18 17:29:22 +10:00
tests
tmk_core [Bug] fix logical minimum in Programmable Button rdesc (#14464) 2021-09-16 17:04:26 +10:00
users Merge remote-tracking branch 'origin/master' into develop 2021-09-13 20:15:39 +00:00
util
.clang-format
.editorconfig
.gitattributes
.gitignore New CLI subcommand to create clang-compatible compilation database (compile_commands.json) (#14370) 2021-09-16 14:59:57 +10:00
.gitmodules
book.json
bootloader.mk Change USBasp and bootloadHID bootloaders to lowercase (#14354) 2021-09-10 17:17:54 +10:00
build_full_test.mk
build_json.mk
build_keyboard.mk
build_layout.mk
build_test.mk
common_features.mk Add Support for USB programmable buttons (#12950) 2021-09-15 08:40:22 -07:00
common.mk
disable_features.mk Move Bluetooth config to common_features.mk (#14404) 2021-09-12 08:22:03 -07:00
Dockerfile
Doxyfile
doxygen-todo
LICENSE
license_GPLv2.md
license_GPLv3.md
license_Modified_BSD.md
Makefile
message.mk
nose2.cfg
readme.md
requirements-dev.txt
requirements.txt
setup.cfg
shell.nix
show_options.mk Add Support for USB programmable buttons (#12950) 2021-09-15 08:40:22 -07:00
testlist.mk
Vagrantfile

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.