qmk_firmware/keyboards
fredizzimo 53ff8a31b6 Merge ChibiOS and LUFA descriptor support (#2362)
* Move lufa descriptor to protocol/usb_descriptor

* Try to compile usb_descriptor on ChibiOS

* Add lufa_utils for ChibiOS

Lufa USB descriptors for ChibiOS

* More lufa_util compatibility fixes

* First compiling version of shared USB descriptor

* Send the usb descriptors

* Fix the CONSOLE output on ChibiOS

* Add errors for unsupported interfaces

* Enable support for vitual serial port USB descriptors

* Implement virtual serial port for ChibiOS

* Cleanup the lufa_utils

Use the default lufa header files

* Add raw hid support for ChibiOS

This is completely untested

* Enable midi compilation on ChibiOS

* Move midi functionality out of lufa.c

* Don't register sysex callback when not needed

* ChibiOS compilation fixes

* Update ChibiOS submodule

* Fix the Midi USB descriptor

It didn't work properly when both Midi and Virtual serial port was enabled.

* Add MIDI support for ChibiOS

* Fix USB descriptor strings on ChibiOS

* Use serial usb driver for raw hid

* Generalize the ChibiOS stream like drivers

This makes the initialization much more simple and eliminates a lot of
the code duplication.

* Convert console output to chibios stream driver

* Fixes for ChibiOS update

* Update the ChibiOS contrib submodule

To include the usb data toggle synchronization fixes

* Fix duplicate reset enumeration on ChibiOS

* Add missing include

* Add number of endpoints check for ChibiOS

* Enable serial USB driver on all keyboards

* Add missing includes when API is enabled withot midi

* Add another missing inlcude
2018-02-08 15:07:46 -05:00
..
6ball Add 6-ball macropad 2017-10-31 20:59:26 -04:00
9key Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
acr60 Updated ACR60, Mechmini, ALU84 readme information and config.h descripters (#2231) 2018-01-05 11:37:22 -05:00
alps64 Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
alu84 Updated ACR60, Mechmini, ALU84 readme information and config.h descripters (#2231) 2018-01-05 11:37:22 -05:00
amj40 adds default keymap for amj60 2017-10-15 16:17:47 -04:00
amj60 adds default keymap for amj60 2017-10-15 16:17:47 -04:00
amjpad Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
atom47 added ATOM47 (Vortex Core QMK powered PCB) & DZ60 Custom config(LEdiodes) (#2310) 2018-01-28 15:58:42 -05:00
atomic backlight breathing overhaul (#2187) 2018-01-01 17:47:51 -05:00
atreus Add keymap for atreus and minidox (#2079) 2017-12-02 23:56:30 -05:00
atreus62 Updates bootloader settings, adds file size check (#2029) 2017-11-27 23:08:21 -05:00
bananasplit Layout for BananaSplit60 (#2257) 2018-01-12 12:56:50 -05:00
bantam44 Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
bfake Add support for key backlighting to bfake 2018-02-02 00:58:26 -05:00
bmini Updates bootloader settings, adds file size check (#2029) 2017-11-27 23:08:21 -05:00
chibios_test Merge ChibiOS and LUFA descriptor support (#2362) 2018-02-08 15:07:46 -05:00
chimera_ortho Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
chocopad Add Chocopad keyboard 2018-01-25 00:58:59 -05:00
christmas_tree Christmas tree (#2160) 2017-12-16 18:25:46 -05:00
clueboard Merge ChibiOS and LUFA descriptor support (#2362) 2018-02-08 15:07:46 -05:00
converter Updates bootloader settings, adds file size check (#2029) 2017-11-27 23:08:21 -05:00
cospad Add COSPAD to QMK and add functions to read HSV (#2156) 2017-12-17 11:44:13 -05:00
crawlpad Add Crawlpad 2017 files. 2017-12-04 18:14:08 -05:00
cu24 Cu24 keyboard addition (#2330) 2018-02-03 15:21:24 -05:00
daisy Added Daisy port (#2016) 2017-11-22 10:52:42 -05:00
deltasplit75 Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
dichotemy Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
dk60 Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
do60 add do60 support 2017-12-08 16:03:57 -05:00
dz60 Added dz60 custom layout (#2302) 2018-02-03 15:22:30 -05:00
eagle_viper Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
eco Updates bootloader settings, adds file size check (#2029) 2017-11-27 23:08:21 -05:00
ergo42 Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
ergodone Update ergodone.c 2018-01-12 13:24:30 -05:00
ergodox/keymaps/narze Add narze keymaps for Ergodox & Planck with SuperDuper mode implementation (#1883) 2017-10-25 06:11:07 -10:00
ergodox_ez Update to drashna userspace (Keymap Templating) (#2338) 2018-02-04 13:44:02 -05:00
ergodox_infinity Merge ChibiOS and LUFA descriptor support (#2362) 2018-02-08 15:07:46 -05:00
fc660c Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
fc980c Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
felix Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
four_banger Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
frosty_flake Updated keymaps to allow base layer alternation for QWERTY, Colemak & Dvorak (#1962) 2017-11-13 20:55:14 -05:00
gh60 Update info.json 2018-01-05 16:28:46 -05:00
gh80_3000 adds the gh80_3000 project (#2132) 2017-12-10 14:44:04 -05:00
gherkin wanleg's gherkin layout 2018-01-01 17:22:50 -05:00
gonnerd Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
hadron Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
handwired Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
helix Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
hhkb Update my keymap (#2042) 2017-11-26 02:09:02 -05:00
infinity60 Merge ChibiOS and LUFA descriptor support (#2362) 2018-02-08 15:07:46 -05:00
iris Replace Right key on base layer with RShift, convert adjust to KC_KEYMAP format 2018-02-08 13:42:31 -05:00
jc65 Hi there :) (#2273) 2018-01-25 01:04:31 -05:00
jd40 Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
jd45 backlight breathing overhaul (#2187) 2018-01-01 17:47:51 -05:00
jj40 Update personal layouts, free up matrix_scan_user for JJ40 (#2319) 2018-02-02 01:30:47 -05:00
jm60 Merge ChibiOS and LUFA descriptor support (#2362) 2018-02-08 15:07:46 -05:00
k_type Fix call to memset for various keyboards 2018-01-12 13:23:38 -05:00
katana60 katana60: fix bootloader size to work with PCB 2018-01-28 12:13:21 -05:00
kbd66 Added KBD66 (#2292) 2018-01-25 01:00:31 -05:00
kbd75 Add smt keymap for KBD75 2018-02-02 01:01:41 -05:00
kc60 Info json fixes (#2232) 2018-01-05 15:44:59 -05:00
kinesis Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
kitten_paw Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
kmac remove all makefiles from keyboard directories 2017-09-27 08:21:09 -10:00
knops Added support for Knops Mini (3x2 macropad) keyboard. (#1953) 2017-11-01 21:24:59 -04:00
kona_classic Kona_classic: ANSI arrows keymap with locking caps lock support 2017-11-20 12:21:04 -05:00
lets_split Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
levinson Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
lfkeyboards Add support for LFKeyboard products: LFK78, LFK87 and SMK65 2017-12-09 00:01:58 -05:00
lightsaver Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
m10a update keymaps to not be the canonical file 2017-10-15 16:18:45 -04:00
maxipad remove all makefiles from keyboard directories 2017-09-27 08:21:09 -10:00
mechmini Updated ACR60, Mechmini, ALU84 readme information and config.h descripters (#2231) 2018-01-05 11:37:22 -05:00
meira Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
mf68 Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
mf68_ble Magicforce68 now in bluetooth flavour (#2051) 2017-12-03 00:04:22 -05:00
minidox Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
mitosis Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
miuni32 Personal BEAKL9 based keymap (#2304) 2018-02-02 01:22:37 -05:00
mt40 Updates bootloader settings, adds file size check (#2029) 2017-11-27 23:08:21 -05:00
nano Add nano switch pad 2017-11-01 20:02:52 -04:00
niu_mini Update personal layouts, free up matrix_scan_user for JJ40 (#2319) 2018-02-02 01:30:47 -05:00
nyquist Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
obelus Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
octagon Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
org60 Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
orthodox Remove _quantum functions from custom matrix.c code 2018-02-06 12:25:30 -05:00
pearl Modified default keymap to match ps2avrgb default 2017-12-02 23:55:09 -05:00
pegasushoof Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
phantom Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
planck made changes to my kelorean planck keymap (#2343) 2018-02-06 23:01:29 -05:00
preonic Update info.json 2018-01-12 20:47:39 -05:00
prime_r Rooski15: Update Prime_R ReadMe & Keymap (#2228) 2018-01-05 11:37:53 -05:00
ps2avrGB Updates bootloader settings, adds file size check (#2029) 2017-11-27 23:08:21 -05:00
roadkit fix a typo 2017-11-02 17:36:15 -07:00
s60_x Added RGB and in-switch LED controls (#2227) 2018-01-05 11:50:28 -05:00
s65_x convert to unix line-endings [skip ci] 2018-02-07 04:05:15 +00:00
satan Added us based keyboard layout with cursor keys and mouse functionality for SATAN GH60 (#2180) 2018-02-02 01:00:09 -05:00
sixkeyboard update keymaps to not be the canonical file 2017-10-15 16:18:45 -04:00
subatomic remove all makefiles from keyboard directories 2017-09-27 08:21:09 -10:00
sweet16 Map num lock and caps lock LED events to the RXLED and TXLED 2018-02-02 01:51:01 -05:00
tada68 Adding stephengrier keymap for the tada68 keyboard. (#2269) 2018-01-17 11:44:12 -08:00
the_ruler The ruler (#2138) 2017-12-11 20:57:40 -05:00
tiger_lily Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
tkc1800 Add SSD1306 OLED display support to TKC1800 (#2293) 2018-01-25 01:00:59 -05:00
tomato Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
tv44 Fixed my minivan F-keys 2018-02-08 13:44:41 -05:00
uk78 Make arguments redo, subproject elimination (#1784) 2017-10-14 11:32:19 -10:00
v60_type_r Info json fixes (#2232) 2018-01-05 15:44:59 -05:00
vision_division backlight breathing overhaul (#2187) 2018-01-01 17:47:51 -05:00
viterbi Makes layers consistent with comments 2018-02-08 13:42:58 -05:00
whitefox Merge ChibiOS and LUFA descriptor support (#2362) 2018-02-08 15:07:46 -05:00
xd60 Update personal layouts, free up matrix_scan_user for JJ40 (#2319) 2018-02-02 01:30:47 -05:00
xd75 Xd75 : Bépo layout for the XD75 (#2166) 2018-02-02 01:00:39 -05:00
xmmx Adding XMMX (#2236) 2018-01-07 11:23:45 -05:00
ymd96 Updates bootloader settings, adds file size check (#2029) 2017-11-27 23:08:21 -05:00
ymdk_np21 Support for YMDK NP21 (#2316) 2018-01-28 15:58:03 -05:00
zen New keyboard added "Zen" (#2347) 2018-02-06 23:44:10 -05:00
readme.md Support for YMDK NP21 (#2316) 2018-01-28 15:58:03 -05: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.