qmk_firmware/keyboards
Erin Call 050c21d35f Bring dactyl/matrix.c in line with quantum/matrix.c (#2613)
* Use the new debounce algorithm in dactyl/matrix.c [#2065]

This incorporates the fixed/optimized debounce code added to
quantum/matrix.c in:

* 508eddf8ba
* 4c6960835c
* 32f88c0717
* f403028974
* a06115df19

* Fix the row/column swap in dactyl [#2065]

With a column-driven keyboard, reading from the mcp23081 returns a
column-state, which takes some extra work to translate into the
row-state used in the actual matrix. The ergodox_ez code sidestepped
that problem by calling rows "columns" and columns "rows." With this
change, the dactyl now calls rows "rows" and columns "columns."

* Cleanup: variable names, documentation [#2065]

* Support MATRIX_MASKED in dactyl/matrix.c [#2065]

* Only unselect one col in unselect_col [#2065]

Bonus: saves one i2c transaction per matrix_scan!

* Implement COL2ROW in dactyl/matrix.c [#2065]

* Fix a typo in dactyl/matrix.c

This entirely doesn't matter. The PORT values are set during
init_keyboard and never change. They're repeatedly set to the same
thing. These PORT lines shouldn't even exist, but since they do, they
should at least look right.

* Implement COL_PINS/ROW_PINS for dactyl [#2065]

* Rename "mcp23018" to "expander" [#2065]

I honestly don't know whether/how well this code works with other I/O
expanders, but at least in theory, it should be generic enough to work
with others. Given that, the variable names shouldn't refer to a
specific model of expander.

* Remove matrix_power_up from dactyl/matrix.c [#2065]

It's commented out in quantum/matrix.c, and the dactyl has no power
up/down behavior beyond being unplugged (which goes to matrix_init), so
there's no sense keeping it around.

* Only initialize expander_input_mask once [#2065]

...and rename input_mask to expander_input_mask, since now that it isn't
scoped to init_expander it isn't clear that it's only for the expander.
2018-04-27 14:47:41 -04:00
..
1up60rgb Add Generic Keymap for my boards (#2795) 2018-04-24 09:01:40 -07:00
6ball
9key
acr60
alf_x2 ALF X2 QMK Configurator Support (#2788) 2018-04-21 17:00:46 -07:00
alpha Formatting changes to Alpha readme.md (#2781) 2018-04-22 20:09:52 -07:00
alps64 QMK Configurator support for alps64 pcb (#2774) 2018-04-20 08:52:56 -07:00
alu84
amj40 Added amj40 keymap (#2754) 2018-04-17 20:50:50 -07:00
amj60
amj96 Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
amjpad
atom47 Update maartenwut's keymaps (tada68, atom47) and add GH60 layout (#2751) 2018-04-16 15:15:28 -07:00
atomic Patched some keyboards that won't compile (#2453) 2018-03-09 13:31:42 -05:00
atreus update to Ergodox / Atreus Dvorak 42 key layouts (#2504) 2018-03-16 16:21:00 -04:00
atreus62
bananasplit Talljoe's layout with common keymap. (#2764) 2018-04-21 10:48:30 -07:00
bantam44
bfake Add new bfake "FaceW" keymap (#2360) 2018-03-23 15:56:36 -07:00
bfo9000 Add BFO-9000 keyboard (#2807) 2018-04-25 10:47:13 -07:00
bigseries Implement magic 8-ball mode for big series switch (#2763) 2018-04-19 09:09:33 -07:00
bmini
ca66 Added support for ca66 2018-03-16 16:30:43 -04:00
chibios_test Fix command line options prefix. (#2790) 2018-04-22 14:19:45 -07:00
chimera_ergo
chimera_ls
chimera_ortho Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
chocopad
christmas_tree Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
clueboard Keymap Fixes for 7U layout, RGB and Audio support (#2779) 2018-04-26 13:51:19 -07:00
contra Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
converter Updated personal keymaps, fixed Let's Split default keymap, updated JJ40 README (#2704) 2018-04-19 09:28:55 -07:00
cospad
crawlpad Fixed dead links (#2451) 2018-03-01 07:45:47 -08:00
cu24 Support upcoming caps_unlocked boards in QMK Configurator (#2738) 2018-04-12 13:03:50 -04:00
cu75 Cu75 iso fix (#2801) 2018-04-24 13:19:34 -07:00
daisy
deltasplit75 Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
dichotemy
dilly Updated Levinson and Fourier keymaps (#2685) 2018-04-15 09:51:38 -07:00
diverge3 Fix some Configurator Warnings regarding LAYOUT vs KEYMAP (#2708) 2018-04-07 15:14:53 -04:00
dk60
do60 Add chiwi60 layout for the do60 2018-04-13 23:50:48 -04:00
dz60 DZ60: Add Caps Lock LED for default keymap (#2800) 2018-04-24 12:43:23 -07:00
e6v2 Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
eagle_viper Fix QMK Configurator bug with rendering the Eagle layout (#2806) 2018-04-25 07:44:37 -07:00
eco
ergo42 Add Illustrator keymap layout for Ergo42 (#2658) 2018-04-15 09:54:11 -07:00
ergodone Add pretty layout to all ergodox clones (#2686) 2018-04-21 17:00:43 -04:00
ergodox_ez Syntax update (#2660) 2018-04-24 09:49:34 -07:00
ergodox_infinity Add pretty layout to all ergodox clones (#2686) 2018-04-21 17:00:43 -04:00
fc660c FC660C Configurator Support (#2817) 2018-04-26 20:31:05 -07:00
fc980c Fixed dead links (#2451) 2018-03-01 07:45:47 -08:00
felix
four_banger Updated personal keymaps, fixed Let's Split default keymap, updated JJ40 README (#2704) 2018-04-19 09:28:55 -07:00
fourier Updated Levinson and Fourier keymaps (#2685) 2018-04-15 09:51:38 -07:00
frosty_flake avocado toast change (#2816) 2018-04-26 20:28:54 -07:00
gh60 Add gh60 chaser Layout (#2757) 2018-04-19 07:20:03 -07:00
gh80_3000
gherkin
gonnerd M10-A, M65-A, GonNerd keymaps (#2418) 2018-02-28 16:44:27 -05:00
hadron Rename ONEHAND_ENABLE to SWAP_HANDS_ENABLE for consistency 2018-03-16 16:33:43 -04:00
handwired Bring dactyl/matrix.c in line with quantum/matrix.c (#2613) 2018-04-27 14:47:41 -04:00
helix Helix oled rgb compile sw (#2606) 2018-04-24 09:43:57 -07:00
hhkb Edited keymaps for eric/dz60 (#2793) 2018-04-24 09:27:33 -07:00
infinity60 Add a custom USB driver for ARM (#2750) 2018-04-15 20:42:53 -04:00
iris Update personal colemak Iris layout and deleted redundant folders (#2794) 2018-04-24 09:03:02 -07:00
jc65 Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
jd40 Fixed dead links (#2451) 2018-03-01 07:45:47 -08:00
jd45
jj40 Updated personal keymaps, fixed Let's Split default keymap, updated JJ40 README (#2704) 2018-04-19 09:28:55 -07:00
jj50 Added basic support for JJ50 (preonic-like based on atmega32A) (#2546) 2018-03-24 13:03:24 -04:00
jm60 Add a custom USB driver for ARM (#2750) 2018-04-15 20:42:53 -04:00
k_type Add a custom USB driver for ARM (#2750) 2018-04-15 20:42:53 -04:00
katana60
kbd66 Fixed keymap, added capslock led for maartenwut's kbd66 keymap (#2473) 2018-03-07 17:06:04 -05:00
kbd75 Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
kc60 Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
kinesis Add Carpalx keymap for Kinesis (#2771) 2018-04-20 09:13:14 -07:00
kitten_paw
kmac Fixed dead links (#2451) 2018-03-01 07:45:47 -08:00
knops Fixed various keymaps and the allocation of "key_combos" (#2526) 2018-03-16 16:20:09 -04:00
kona_classic
laplace Add Laplace keyboard 2018-03-24 12:50:16 -04:00
launchpad Launchpad (#2767) 2018-04-20 08:51:34 -07:00
lets_split Update piemod keymap (#2786) 2018-04-26 07:51:58 -07:00
levinson Updated Levinson and Fourier keymaps (#2685) 2018-04-15 09:51:38 -07:00
lfkeyboards Add readme for "major" keyboards to eliminate more QMK Configurator errors (#2718) 2018-04-08 22:10:14 -04:00
lightsaver
m10a Add readme for "major" keyboards to eliminate more QMK Configurator errors (#2718) 2018-04-08 22:10:14 -04:00
maxipad
mechmini Fix mechmini2 ortho keymapping layout 2018-03-24 12:52:42 -04:00
meira Meira updates for bluetooth and audio (#2731) 2018-04-19 00:57:24 -04:00
meme Support for new keyboard: Meme (#2797) 2018-04-24 09:00:22 -07:00
mf68 QMK Configurator Support MF68 (#2815) 2018-04-26 20:28:22 -07:00
mf68_ble QMK Configurator Support MF68 (#2815) 2018-04-26 20:28:22 -07:00
minidox More Configurator Warning Fixes (#2716) 2018-04-07 23:32:14 -07:00
mitosis Enables unicode for Mitosis (#2668) 2018-04-04 09:17:38 -07:00
miuni32
mt40
nano Fix some Configurator Warnings regarding LAYOUT vs KEYMAP (#2708) 2018-04-07 15:14:53 -04:00
niu_mini Add Staryu macropad support (#2768) 2018-04-20 09:14:40 -07:00
novelpad Add support for NovelPad/NumChoc by NovelKeys and Woodkeys 2018-04-11 18:11:42 -04:00
nyquist Changes to danielhklein nyquist config (#2783) 2018-04-24 09:25:20 -07:00
obelus
octagon Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
ok60 Add the OK60 keyboard (#2488) 2018-03-09 13:14:50 -05:00
omnikey_blackheart added omnikey_blackheart keyboard support (#2688) 2018-04-19 01:52:17 -04:00
org60
orthodox Update to drashna keymaps and userspace (#2756) 2018-04-20 17:53:19 -07:00
paladin64 Support for the Paladin64 PCB (#2639) 2018-03-28 23:20:15 -04:00
pearl More QMK Configurator Support for Pearl (#2814) 2018-04-26 17:19:42 -07:00
pegasushoof
phantom Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
planck Change handling of adjust layer to make it more LT(...) friendly. (#1625) 2018-04-26 16:10:03 -04:00
preonic Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
prime_r
ps2avrGB Updated personal keymaps, fixed Let's Split default keymap, updated JJ40 README (#2704) 2018-04-19 09:28:55 -07:00
rama Updated personal keymaps, fixed Let's Split default keymap, updated JJ40 README (#2704) 2018-04-19 09:28:55 -07:00
roadkit Fixed dead links (#2451) 2018-03-01 07:45:47 -08:00
s60_x More Configurator Warning Fixes (#2716) 2018-04-07 23:32:14 -07:00
s65_x Fix some Configurator Warnings regarding LAYOUT vs KEYMAP (#2708) 2018-04-07 15:14:53 -04:00
satan Added GH60 Satan ISO layout with split right shift and split backspace (#2773) 2018-04-20 09:43:51 -07:00
scrabblepad ScrabblePad updates (#2809) 2018-04-26 07:30:05 -07:00
sixkeyboard
speedo Add the Speedo keyboard 2018-04-07 12:56:21 -04:00
staryu Add Staryu macropad support (#2768) 2018-04-20 09:14:40 -07:00
subatomic
sweet16 Updated personal keymaps, fixed Let's Split default keymap, updated JJ40 README (#2704) 2018-04-19 09:28:55 -07:00
tada68 Add personal Tada68 Keymap (#2633) 2018-04-21 13:37:26 -07:00
the_ruler
tiger_lily
tkc1800 Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
tomato
tv44 Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
uk78 Add underglow animation support to rask's UK78 (#2512) 2018-03-16 16:27:03 -04:00
unloved_bastard Initial support for The Unloved Bastard 2018-03-16 16:41:32 -04:00
ut47 Fix missed key assignment (#2803) 2018-04-24 19:37:05 -07:00
v60_type_r Add Generic Keymap for my boards (#2795) 2018-04-24 09:01:40 -07:00
vision_division
viterbi Add Faux Clicking as subset of Audio feature (#2748) 2018-04-19 01:47:04 -04:00
whitefox Add a custom USB driver for ARM (#2750) 2018-04-15 20:42:53 -04:00
xd60 Updated personal keymaps, fixed Let's Split default keymap, updated JJ40 README (#2704) 2018-04-19 09:28:55 -07:00
xd75 Update personal colemak Iris layout and deleted redundant folders (#2794) 2018-04-24 09:03:02 -07:00
xmmx
ymd96 Added basic support for JJ50 (preonic-like based on atmega32A) (#2546) 2018-03-24 13:03:24 -04:00
ymdk_np21
zen
readme.md Fixed dead links (#2451) 2018-03-01 07:45:47 -08:00

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

  • Clueboard — The 66% custom keyboard.
  • Cluecard — A small board to help you hack on QMK.
  • Cluepad — A mechanical numpad with QMK superpowers.

Community-supported QMK Keyboards

These keyboards are part of the QMK repository, but their manufacturers are not official maintainers of the repository.

  • 9key — A 9-key minipad sold by Bishop Keyboards.
  • Alps64 — A 60% keyboard for Alps keyswitches.
  • AMJ60 — DIY/Assembled compact 60% keyboard.
  • Arrow Pad — A custom creation by IBNobody.
  • Atreus — Made by Technomancy.
  • Bantam44 — It is a 44-key 40% staggered keyboard.
  • Ergodox Infinity - Ergonomic Split Keyboard by Input Club.
  • GH60 — A 60% Geekhack community-driven project.
  • GON NerD — Korean custom 60% PCB
  • Happy Hacking Keyboard — The Happy Hacking keyboard can be hacked with a custom controller to run QMK.
  • Infinity 60% - — Compact community keyboard by Input Club.
  • JD45 — Another Geekhack community project, designed by jdcarpe.
  • JJ40 — ps2avrGB based ortholinear sold by KPrepublic
  • KBD75 — A 75% keyboard made by made by KBDFans.
  • KC60 — A programmable Chinese-made keyboard, lost in the mists of time.
  • Kinesis Advantage — Contoured ergonomic keyboard by Kinesis Computer Ergonomics.
  • KMAC — Korean custom keyboard.
  • The Kitten Paw — A replacement controller (2016 revision) for the Filco Majestouch by Bathroom Epiphanies.
  • Lets Split - Split ortholinear 40% keyboard.
  • Phantom — A tenkeyless kit by Teel, also from Geekhack.
  • Retro Refit — Another creation by IBNobody.
  • S60-x — DIY compact keyboard designed by VinnyCordeiro for Sentraq.
  • Satan — A GH60 variant.
  • SixKeyBoard — A 6-key keyboard made by TechKeys.
  • TheVan 44 — A 44-key staggered keybard by Evangs.
  • WhiteFox — A 65% keyboard designed as a partnership by matt3o, Massdrop and Input Club
  • Vision Division — Full Size / Split Linear Keyboard by IBNobody.
  • XD75 — 15x5 ortholinear keyboard by XIUDI.
  • YMDK NP21 — ps2avrGB based number pad (numpad) sold by YMDK on Aliexpress.