You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Stefan Kerkmann 4d107feca9
Check for ongoing transfers on the OUT endpoint (#16974)
...when attempting to start a receiving USB transfer. Previously, we would
check on the IN endpoint which is the transmitting part of the USB endpoint.
This is wrong and lead to two USB transfers being started immediately
after each other in case of e.g. RAW HID endpoints:

1. When finishing an OUT transfer the low level USB driver calls the out_cb
callback, which in turn initiates another OUT transfer by calling
qmkusbDataReceived.

2. When the raw hid receive channel runs empty inside the raw_hid task,
another OUT transfer is started to potentially fill the channel again. This
happens by calling ibnotify.

Both events occur directly after each other, thus triggering the bug.
4 years ago
.github Preinstall python dependencies before executing `qmk`. (#16874) 4 years ago
.vscode remove Bracket Pair Colorizer recommendation (#14816) 4 years ago
builddefs [Core] Add Caps Word feature to core (#16588) 4 years ago
data [Core] Add Caps Word feature to core (#16588) 4 years ago
docs Merge remote-tracking branch 'origin/master' into develop 4 years ago
drivers Merge remote-tracking branch 'origin/master' into develop 4 years ago
keyboards Merge remote-tracking branch 'origin/master' into develop 4 years ago
layouts F13 TKL with Split Backspace and Split Right Shift Community Layouts (#17082) 4 years ago
lib Also format *.hpp files. (#16997) 4 years ago
platforms [Core] Add Reboot keycode to core (#15990) 4 years ago
quantum Enhancement and fixes of "Secure" feature (#16958) 4 years ago
tests Format code according to conventions (#17096) 4 years ago
tmk_core Check for ongoing transfers on the OUT endpoint (#16974) 4 years ago
users [Keymap] Toinux's crkbd keymap and userspace (#16437) 4 years ago
util MSYS2 install: add some Python dependencies through Pacman (#17025) 4 years ago
.clang-format Clang-format tweaks (#15906) 4 years ago
.editorconfig
.gitattributes eol=lf, where appropriate (#15752) 4 years ago
.gitignore Ignore VIA(L) json files (#16845) 4 years ago
.gitmodules
Dockerfile
Doxyfile Internal docs generation updates (#16411) 4 years ago
LICENSE
Makefile Migrate more makefile utilities to builddefs sub-directory (#16002) 4 years ago
Vagrantfile
doxygen-todo Remove SERIAL_LINK feature (#14727) 4 years ago
license_GPLv2.md
license_GPLv3.md
license_Modified_BSD.md
nose2.cfg
paths.mk Migrate more makefile utilities to builddefs sub-directory (#16002) 4 years ago
readme.md Start develop for 2022q2 4 years ago
requirements-dev.txt Macros in JSON keymaps (#14374) 4 years ago
requirements.txt Quantum Painter (#10174) 4 years ago
setup.cfg Quantum Painter (#10174) 4 years ago
shell.nix Allow overriding Niv inputs in shell.nix (#16602) 4 years ago

readme.md

This is the develop branch!

See the Breaking Changes document for more information.

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.