Go to file
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.
2022-05-14 23:17:14 +01:00
.github
.vscode
builddefs [Core] Add Caps Word feature to core (#16588) 2022-05-14 16:00:32 +10:00
data [Core] Add Caps Word feature to core (#16588) 2022-05-14 16:00:32 +10:00
docs Merge remote-tracking branch 'origin/master' into develop 2022-05-14 22:09:12 +00:00
drivers Merge remote-tracking branch 'origin/master' into develop 2022-05-13 06:21:56 +00:00
keyboards Merge remote-tracking branch 'origin/master' into develop 2022-05-14 21:29:01 +00:00
layouts F13 TKL with Split Backspace and Split Right Shift Community Layouts (#17082) 2022-05-14 09:14:19 -07:00
lib Also format *.hpp files. (#16997) 2022-05-04 05:48:41 +10:00
platforms [Core] Add Reboot keycode to core (#15990) 2022-05-14 13:35:49 +10:00
quantum Enhancement and fixes of "Secure" feature (#16958) 2022-05-14 23:07:08 +01:00
tests Format code according to conventions (#17096) 2022-05-14 23:14:49 +01:00
tmk_core Check for ongoing transfers on the OUT endpoint (#16974) 2022-05-14 23:17:14 +01:00
users [Keymap] Toinux's crkbd keymap and userspace (#16437) 2022-04-22 17:41:54 +10:00
util MSYS2 install: add some Python dependencies through Pacman (#17025) 2022-05-07 13:01:46 +01:00
.clang-format
.editorconfig
.gitattributes
.gitignore
.gitmodules
Dockerfile
Doxyfile
LICENSE
Makefile
Vagrantfile
doxygen-todo
license_GPLv2.md
license_GPLv3.md
license_Modified_BSD.md
nose2.cfg
paths.mk
readme.md
requirements-dev.txt
requirements.txt
setup.cfg
shell.nix Allow overriding Niv inputs in shell.nix (#16602) 2022-05-12 09:49:15 +03:00

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.