29f64d7a93
This reworks how the tap-dance feature works: instead of one global state, we have a state for each tap-dance key, so we can cancel them when another tap-dance key is in flight. This fixes #527. Since we have a state for each key, we can avoid situation where a keyup would mess with our global state. This fixes #563. And while here, we also make sure to fire events only once, and this fixes #574. There is one breaking change, though: tap-dance debugging support was removed, because dumping the whole state would increase the firmware size too much. Any keymap that made use of this, will have to be updated (but there's no such keymap in the repo). Also, there's a nice trick used in this rework: we need to iterate through tap_dance_actions in a few places, to check for timeouts, and so on. For this, we'd need to know the size of the array. We can't discover that at compile-time, because tap-dance gets compiled separately. We'd like to avoid having to terminate the list with a sentinel value, because that would require updates to all keymaps that use the feature. So, we keep track of the highest tap-dance code seen so far, and iterate until that index. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org> |
||
---|---|---|
.. | ||
alps64 | ||
arrow_pad | ||
atomic | ||
atreus | ||
bantam44 | ||
chibios_test | ||
clueboard | ||
cluecard | ||
cluepad | ||
ergodox | ||
gh60 | ||
handwired | ||
hhkb | ||
infinity_chibios | ||
jd45 | ||
kc60 | ||
kinesis | ||
lets_split | ||
phantom | ||
planck | ||
preonic | ||
retro_refit | ||
satan | ||
sixkeyboard | ||
tv44 | ||
readme.md |
Included Keyboards
QMK runs on a diverse range of keyboards. Some of these keyboards are officially supported and see constant community contributions, while others are part of the repository for historical reasons.
Official QMK Keyboards
These keyboards are manufactured by the maintainers of QMK.
Ortholinear Keyboards - Jack Humbert
What makes OLKB keyboards shine is a combo of lean aesthetics, compact size, and killer tactile feel. These are available through olkb.com as well as through Massdrop from time to time, as easy to assemble kits.
- Planck - A 40% DIY powerhouse of customizability and modification capability. It's a lean, mean, typing machine.
- Preonic - Like the Planck, but bigger. 50%.
- Atomic - Imagine the size of the Planck. Now imagine the size of the Preonic. Now imagine bigger. That is the Atomic. A 60% keyboard.
ErgoDox EZ - Erez Zukerman
Made in Taiwan using advanced robotic manufacturing, the ErgoDox EZ is a fully-assembled, premium ergonomic keyboard. Its split design allows you to place both halves shoulder width, and its custom-made wrist rests and tilt/tent kit make for incredibly comfortable typing. Available on ergodox-ez.com.
- ErgoDox EZ - Our one and only product. Yes, it's that awesome. Comes with either printed or blank keycaps, and 7 different keyswitch types.
Clueboard - Zach White
Designed and built in Felton, CA, Clueboards keyboard emphasize quality and locally sourced components, available on clueboard.co
Community-supported QMK Keyboards
These keyboards are part of the QMK repository, but their manufacturers are not official maintainers of the repository.
- alps64 — A 60% keyboard for Alps keyswitches.
- arrow_pad — A custom creation by IBNobody.
- atreus — Made by Technomancy.
- bantam44 — It is a 44-key 40% staggered keyboard.
- gh60 — A 60% Geekhack community-driven project.
- hhkb — The Happy Hacking keyboard can be hacked with a custom controller to run QMK.
- jd45 — Another Geekhack community project, designed by jdcarpe.
- kc60 — A programmable Chinese-made keyboard, lost in the mists of time.
- phantom — A tenkeyless kit by Teel, also from Geekhack.
- retro_refit — Another creation by IBNobody.
- satan — A GH60 variant.
- sixkeyboard — A 6-key keyboard made by TechKeys.