qmk_firmware/keyboards
Pierre Chevalier a8c230743a
Write firmware for the Ferris keyboard (#9634)
* Write firmware for the Ferris keyboard

Took inspiration from the gergoplex and the ergodox_ez firmware for the
split matrix with io_expander on the right hand.
Cleaned up a lot of bit fiddling on the mcu side by taking inspiration
from the `split_custom` in quantum.
Still bit fiddling on the mcp side as it is particularly natural to do
so with the abstractions provided by the i2c protocol. Would be good to
clean that up and abstract away the wiring from the generic i2c code in
a similar fashion as quantum and the mcp side behave.

One improvement over the ergodox_ez and the gergoplex firmwares is that
the wiring is straight forward as opposed to swapping rows and columns
in two different places that end up cancelling out for some reason.

At this stage, I have flashed this firmware to a board and have verified
that all keys are behaving as intended by shorting pins.
I still have to solder in some switches and test that everything works
correctly at normal typing speeds, but I don't expect any major issues
given I'm building up on previous effort, including the debouncing code
from the ergodox_ez.

* Remove rotation from info.json and label the keys as per default keymap

* Comply with minor review feedback points

* Use CUSTOM_MATRIX=lite to remove boilerplate

* Update keyboards/handwired/ferris/info.json

Didn't play nicely in the configurator

Co-authored-by: Ryan <fauxpark@gmail.com>

* Remove MIDI_ENABLE from rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Remove FAUXCLICKY_ENABLE from rules.mk

Co-authored-by: Ryan <fauxpark@gmail.com>

* Prefer wait_ms over _delay_ms

Co-authored-by: Ryan <fauxpark@gmail.com>

* Remove unused include

Co-authored-by: Ryan <fauxpark@gmail.com>

* Remove unused include

Co-authored-by: Ryan <fauxpark@gmail.com>

* Remove unused include

Co-authored-by: Ryan <fauxpark@gmail.com>

* Remove unused includeh

Co-authored-by: Ryan <fauxpark@gmail.com>

* Use dprint over print and remove include for print.h

* Remove all unused includes

* Remove unused code

* Cleanups thanks to code review

* Move more personal settings from the ferris config to the default keymap config

These setting happen to be unused in the default keymap at the moment,
as it has only one layer with no homerow modifiers and no mouse key; but
I would like to keep it there for two reasons:
* It can serve as an example to people creating their own keymap
* I plan to design a more usable default keymap that uses these features
  once this PR which adds the Ferris keyboard is merged.

* Consolidate mcp logic inside matrix.c

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-07-18 13:57:33 +10:00
..
1upkeyboards Un-nest 1up60rgb LAYOUT macros (#9648) 2020-07-07 20:31:44 +01:00
2key2crawl
4by3
4pplet [Keyboard] Fix inconsistent MATRIX_COLS: 4pplet/steezy60 (#9678) 2020-07-10 11:44:03 +10:00
6ball
7skb
8pack Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
9key
30wer
40percentclub [Keymap] Add pierrec83's gherkin keymap (#9465) 2020-06-24 02:42:20 -07:00
abacus Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
absinthe Remove more useless code (#9475) 2020-06-20 21:51:50 +01:00
abstract/ellipse
acheron Create ajp10304 userspace and ortho_4x12 layout. (#9304) 2020-07-09 20:18:51 +01:00
acr60
adelheid [keyboard] added Adelheid (#9734) 2020-07-17 18:51:56 +01:00
adkb96
aeboards Fix ordering for new info.jsons (#9567) 2020-06-28 12:51:48 +01:00
ai03
akb
al1
alf
allison Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
allison_numpad Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
alpha
alps64 Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
alu84 Change ?= to = in keyboard rules.mk (#9390) 2020-06-15 03:06:10 -07:00
amj40 Change ?= to = in keyboard rules.mk (#9390) 2020-06-15 03:06:10 -07:00
amj60
amj96
amjkeyboard/amj66
amjpad
anavi/macropad8 [Keyboard] keyboards/anavi: Add ANAVI Macro Pad 8 (#9164) 2020-06-05 00:48:58 -07:00
angel17
angel64
aos/tkl Reduce peak LED brightness for AoS TKL (#9667) 2020-07-08 21:43:23 +01:00
aplx6
arabica37 [Keyboard] Arabica37 (#8471) 2020-05-18 03:28:00 -07:00
ares Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
arisu Arisu keymapping, and corresponding via keymap (#9560) 2020-07-02 16:09:23 +01:00
ash1800
ashpil/modelm_usbc
at101_bh 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
at_at/660m
atomic 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
atreus Add config for Atreus based on Adafruit Feather BLE (#9140) 2020-07-11 21:09:40 +10:00
atreus62 Minor keymap fix (#9534) 2020-06-24 22:57:51 -07:00
atxkb fix rgb mode selection and lighting increments for the 1894 (#9336) 2020-06-10 21:32:19 +01:00
aves65 [Keyboard] Added support for Aves 65 (#8880) 2020-05-13 19:43:28 +01:00
baguette Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
bakeneko80 [Keyboard] Add Bakeneko 80 keyboard (#9118) 2020-05-19 04:22:12 -07:00
bantam44
basekeys/slice Fix inconsistent MATRIX_COLS: basekeys/slice (#9022) 2020-05-07 02:28:01 -07:00
bat43 Add bat43 rev2 (#9319) 2020-06-10 22:38:11 +01:00
bear_face
bfake Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
bigseries Fix error_log complaint about Big Series boards (#9510) 2020-06-23 09:40:00 +01:00
bigswitch
bioi/g60ble [Keyboard] Add g60ble (#8952) 2020-07-11 11:50:57 -07:00
blackplum Add Via Keymap to Blackplum (#8975) 2020-05-01 13:16:59 +10:00
blockey
bm16a
bm16s
bm43a bm43a stevexyz keymap (#9468) 2020-06-23 09:28:05 +01:00
bm60rgb
boardsource added keyboard 5x12 to boardsource folder (#9438) 2020-06-20 23:13:43 +01:00
boardwalk Add more missing info.json layouts (#9595) 2020-06-30 17:53:24 +01:00
boston_meetup
botanicalkeyboards/fm2u Fix layouts for FM2U (#9604) 2020-07-01 22:47:53 -07:00
bpiphany 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
bthlabs/geekpad
business_card
butterstick
c39
candybar Candybar: VIA support for lefty and righty (#9066) 2020-05-19 21:15:16 +01:00
cannonkeys Adding VIA support for CannonKeys/Practice60 (#8169) 2020-06-29 12:16:14 -07:00
catch22
centromere split_3x6_3 layout support (#9625) 2020-07-09 22:19:16 +01:00
cheshire/curiosity
chidori [Keymap] Add Chidori OLED-enabled sample keymap (#8446) 2020-05-09 10:48:17 -07:00
chili [Keyboard] Add support for YDKB Chili (#9583) 2020-07-08 06:25:30 -07:00
chimera_ergo
chimera_ls
chimera_ortho
chimera_ortho_plus Adding Chimera Ortho Plus (#9093) 2020-05-19 23:01:54 +01:00
choc_taro [Keyboard] Add "choc taro" keyboard (#9556) 2020-06-30 20:04:47 +01:00
choco60
christmas_tree
ckeys Change ?= to = in keyboard rules.mk (#9390) 2020-06-15 03:06:10 -07:00
claw44
clawsome [Keyboard] Coupe and Sedan keyboards (#9539) 2020-06-28 18:37:47 -07:00
clueboard Fix error_log complaint about clueboard/66_hotswap/gen1 layout macro (#9400) 2020-06-17 00:30:54 -07:00
cocoa40
comet46
contra [Keymap] Add Via keymap for Contra (#9119) 2020-05-18 02:40:41 -07:00
converter Fix siemens_tastatur info.json (#9568) 2020-06-28 22:21:37 +10:00
copenhagen_click/click_pad_v1
coseyfannitutti Add more community layout support to Discipline (#8540) 2020-06-23 09:27:34 +01:00
cospad
crawlpad
crkbd Rework bcat Crkbd and Lily58 modifier keys (#9692) 2020-07-10 22:57:49 +01:00
cu24
cu75 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
cu80
cutie_club/wraith
daisy
db/db63 Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
dc01
deltasplit75
dichotomy
diverge3
divergetm2
dk60
dm9records Move plaid via keymap to correct location (#9255) 2020-06-01 11:53:43 +10:00
dmqdesign/spin
do60
donutcables Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
doppelganger
doro67 [Keymap] Update personal userspace and keymaps (#9082) 2020-05-15 23:36:08 -07:00
dozen0
dp60 [Keyboard] Updated VIA Support for DP60 (#9508) 2020-07-04 19:20:22 -07:00
duck format code according to conventions [skip ci] 2020-07-10 22:02:03 +00:00
dumbpad
dz60 Add more missing info.json layouts (#9595) 2020-06-30 17:53:24 +01:00
dztech Fix my personal keymap // Custom keymap for Kbdfans/kbd67/rev2 with improvements on Accessibility (#9207) 2020-06-11 22:39:56 +10:00
eco 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
efreet
emptystring/NQG
eniigmakeyboards/ek87 Updated rules.mk to allow for audio control in VIA (#9087) 2020-05-13 19:20:39 +01:00
ep
ergo42 [Keymap] Added Bépo layout to Kyria (#9272) 2020-07-14 00:42:29 -07:00
ergodash
ergodone Art userspace (#9068) 2020-05-19 22:05:32 +01:00
ergodox_ez [Keymap] Adding my keymaps for ergodox_ez and kyria (#9365) 2020-06-29 10:23:13 -07:00
ergodox_infinity
ergodox_stm32 Fix 'does not have a readme.md' warnings (#9294) 2020-06-04 02:07:37 -07:00
ergosaurus
ergoslab
ergotaco
ergotravel 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
ericrlau/numdiscipline [Keyboard] Add NumDiscipline Keyboard - Modified Version of Discipline With Numpad (#9112) 2020-05-19 02:19:18 -07:00
espectro
eve/meteor Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
evil80
exclusive New Keyboard: E8.5 TKL (#9447) 2020-06-20 21:47:50 +01:00
exent Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
facew Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
fallacy [Keyboard] Fallacy (#9499) 2020-06-29 13:52:17 -07:00
fc660c Add Via support for Hasu FC660C controller (#9563) 2020-06-29 19:58:15 +01:00
fc980c
felix
fleuron
fluorite
flx Fix incorrect key sizes in Configurator (#9073) 2020-05-13 20:00:37 +01:00
fortitude60
four_banger
foxlab [Keyboard] Add Key 65 by Fox Lab (#9116) 2020-05-25 21:10:48 -07:00
fractal
freyr
ft/mars80 Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
funky40 [Keymap] added shifted symbols support (#9059) 2020-05-09 19:06:44 -07:00
gami_studio/lex60 Gami Studio Lex60: Configurator Layout support (#7726) 2020-06-09 19:22:33 -07:00
gboards Remove rules.mk for gboards/engine and gboards/g (#9444) 2020-06-19 15:51:50 +10:00
geekboards/tester
georgi
gergo [Keymap] added my gergo keymap (#8476) 2020-05-18 03:29:01 -07:00
getta25
gh60 Add more missing info.json layouts (#9595) 2020-06-30 17:53:24 +01:00
gh80_3000 Change ?= to = in keyboard rules.mk (#9390) 2020-06-15 03:06:10 -07:00
ghs/rar Fix }] key in matrix for GHS.RAR (#9671) 2020-07-08 20:03:02 +01:00
gingham Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
gon
gowla [Keyboard] Gowla Macro Board (#9643) 2020-07-04 11:51:42 +01:00
gray_studio Add more missing info.json layouts (#9595) 2020-06-30 17:53:24 +01:00
grid600
gskt00
hadron
halberd
handwired Write firmware for the Ferris keyboard (#9634) 2020-07-18 13:57:33 +10:00
hecomi
heliar/wm1_hotswap
helix Fix error_log complaint about Helix boards (#9528) 2020-06-25 22:11:39 +01:00
hhkb Remove more useless code (#9475) 2020-06-20 21:51:50 +01:00
hid_liber HID Liberation Device Refactor and Configurator layout support (#9394) 2020-06-15 03:11:19 -07:00
hifumi
hineybush Add more missing info.json layouts (#9595) 2020-06-30 17:53:24 +01:00
honeycomb
hotdox re-added mouse and media keys plus slight changes (#9515) 2020-06-30 12:23:31 +01:00
hs60 Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
hub16 [keymap] Add VIA support for Hub16 (#9638) 2020-07-17 13:35:44 +01:00
id80
idb/idb_60
idobo
illuminati/is0
infinity60 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
ivy
j80 Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
jae/j01
jc65 Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
jd40 Add JD40 keymap for myoung34 (#9545) 2020-06-27 20:36:08 +01:00
jd45 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
jian Update Jian readme.md (#9685) 2020-07-10 22:56:52 +01:00
jisplit89 [Update]JISplite89 Readme and LED nums (#9554) 2020-06-27 20:33:02 +01:00
jj4x4
jj40 Create ajp10304 userspace and ortho_4x12 layout. (#9304) 2020-07-09 20:18:51 +01:00
jj50 Add workman layout in JJ50 default keymap (#9574) 2020-06-28 22:47:33 +01:00
jm60
jnao
just60
k_type
kagamidget
katana60 Change ?= to = in keyboard rules.mk (#9390) 2020-06-15 03:06:10 -07:00
kbdclack/kaishi65 [Keyboard] KBDClack kaishi65 (#9089) 2020-05-18 01:36:27 -07:00
kbdfans Update MAJA info.json (#9674) 2020-07-17 13:26:50 +01:00
kc60 Add VIA support to KC60 (#9351) 2020-06-10 17:34:18 +01:00
kc60se
keebio Quefrency rev1: Fix default VIA layout options (#9618) 2020-07-01 21:32:21 +01:00
keebwerk/nano_slider
keebzdotnet/wazowski Wazowski fixed keymap placement (#9408) 2020-06-23 10:07:15 +01:00
keyboardio 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
keycapsss Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
keyhive/maypad Add VIA Functionality for Keyhive Maypad (#9654) 2020-07-08 17:20:24 +01:00
kinesis 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
kingly_keys Remove more useless code (#9475) 2020-06-20 21:51:50 +01:00
kira75
kira80
kmac
kmini
knops Change ?= to = in keyboard rules.mk (#9390) 2020-06-15 03:06:10 -07:00
kona_classic Change ?= to = in keyboard rules.mk (#9390) 2020-06-15 03:06:10 -07:00
kudox Fix Kudox Columner Configurator key ordering (#9427) 2020-06-17 20:47:52 -07:00
kudox_game
kv/revt Add missing info.jsons for a few boards (#9549) 2020-06-28 11:56:50 +01:00
kyria [Keymap] Added Bépo layout to Kyria (#9272) 2020-07-14 00:42:29 -07:00
laptreus
latinpad
lattice60 Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
launchpad
lazydesigners
le_chiffre Add Le Chiffre keyboard (#8995) 2020-05-08 23:54:55 +01:00
leeku/finger65
lets_split [Keyboard] Add Via support for Let's Split v2 (#9448) 2020-06-18 00:06:11 -07:00
lets_split_eh
lfkeyboards
lily58 Rework bcat Crkbd and Lily58 modifier keys (#9692) 2020-07-10 22:57:49 +01:00
m0lly M0lly: add support for VIA (#9535) 2020-06-25 22:02:27 +01:00
m10a
maartenwut [Keyboard] Add PocketType (#9728) 2020-07-17 12:53:37 +01:00
manta60
massdrop [Keymap] New custom 'super alt' keymap for the Drop ALT (#9385) 2020-06-22 16:11:10 +10:00
matrix [Keymap] Adding a Custom Keymap for Matrix Noah (#9581) 2020-07-02 18:05:38 +01:00
maxipad
maxr1998 [Pulse4k] Add personal keymap 2020-05-17 13:05:06 -07:00
mc_76k Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
mechkeys/mk60
mechllama/g35
mechlovin [Keyboard] Refactor: add adelais rev.3 (#9496) 2020-06-29 01:19:09 -07:00
mechmini Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
mehkee96 Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
meira 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
meishi 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
meishi2 [Keymap] add keymap for meishi2 (#9270) 2020-06-05 01:49:16 -07:00
melody96 [Keymap] Add Via support to the Melody96 (#9050) 2020-05-16 09:21:35 -07:00
meme
meson Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
metamechs/timberwolf Add timber wolf keyboard (#9353) 2020-07-17 19:04:44 +01:00
miller/gm862
miniaxe
minidox RSTHD keymap for Minidox (#9178) 2020-05-27 13:23:57 +01:00
mint60
mitosis
miuni32
mixi Updates on Mixi default keymaps and fixes on configuration (#9467) 2020-06-21 22:59:43 +01:00
montsinger add default Rebound lighting settings (#9740) 2020-07-17 06:20:02 +10:00
moon
mountainblocks/mb17
mt40 Change ?= to = in keyboard rules.mk (#9390) 2020-06-15 03:06:10 -07:00
mt980
murcielago Murcielago: improve default keymap (#9363) 2020-06-11 04:45:53 -07:00
mxss
nafuda
naked48
naked60
naked64
namecard2x4
navi10 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
ncc1701kb
nebula12 [Keyboard] Nebula12 keyboard (#9397) 2020-06-17 22:16:26 -07:00
nebula65 Nebula65 (#9368) 2020-06-16 14:02:01 -07:00
nek_type_a
newgame40
nightly_boards/alter/rev1 Add Alter Keyboard (#9579) 2020-07-17 16:46:11 +01:00
nightmare Added VIA support to nightmare (#9672) 2020-07-08 21:47:35 +01:00
niu_mini [Keymap] Niu keymap and README update (#9190) 2020-05-25 21:24:16 -07:00
nk65 Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
nomu30 Update Nomu30 keyboard (#9599) 2020-07-09 20:21:22 +01:00
novelpad
noxary Add VIA support to Noxary 268 (#9449) 2020-06-24 11:34:55 -07:00
numatreus
oddball
ogre Add missing info.jsons for a few boards (#9549) 2020-06-28 11:56:50 +01:00
ok60 [Keymap] Ported ok60 to via (#9179) 2020-05-26 03:35:06 -07:00
omnikey_bh Change ?= to = in keyboard rules.mk (#9390) 2020-06-15 03:06:10 -07:00
omnikeyish
orange75
org60
ortho5by12 [Keyboard] Add ortho5by12 keyboard (#9141) 2020-06-04 23:55:39 -07:00
orthodox
otaku_split
pabile [Keyboard] Add P40, P20 and P18 Keyboards by pabile (#8759) 2020-05-09 21:46:17 -07:00
paladin64 Change ?= to = in keyboard rules.mk (#9390) 2020-06-15 03:06:10 -07:00
palette1202
panc40
panc60 Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
pdxkbc
pearl Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
peiorisboards/ixora
percent VIA Support: Skog Lite (#9686) 2020-07-17 15:41:30 +01:00
phantom
pico
pimentoso/paddino02 Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
pinky
planck planck/rev6: Enable WS2812 LED matrix with pwm drivers 2020-07-16 01:07:44 -04:00
playkbtw
preonic [Keyboard] Update preonic/Kjwon15 layout (#9718) 2020-07-15 18:49:28 +10:00
primekb Keymap addition and updates (Prime_e, ProjectKB PCB, WT60-D) (#9701) 2020-07-17 13:16:09 +01:00
projectkb Keymap addition and updates (Prime_e, ProjectKB PCB, WT60-D) (#9701) 2020-07-17 13:16:09 +01:00
puck
quad_h/lb75 [Keyboard] Add QUAD-H LB75 keyboard (#8607) 2020-05-07 01:44:19 -07:00
quantrik/kyuu
qwertyydox
rabbit/rabbit68
ramonimbao Fix missing column for Herringbone (#9679) 2020-07-10 22:58:41 +01:00
rart [Keyboard] add rart75 (#9649) 2020-07-17 16:39:55 +01:00
redox
redox_w
redscarf_i
redscarf_iiplus
retro_75
reversestudio/decadepad
reviung34
reviung39
reviung41
rgbkb 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
rotr Rotr - Updated README and default keymap (#9598) 2020-07-04 14:48:37 +10:00
runner3680
s7_elephant [Keyboard] Add S7 Elephant Rev2 Support (#9398) 2020-06-13 23:45:47 -07:00
scarletbandana 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
sck 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
scythe
sentraq 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
setta21
shambles [Keyboard] Shambles TKL (#8500) 2020-05-08 17:08:19 -07:00
shiro
sidderskb/majbritt
signum/3_0/elitec
silverbullet44
singa Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
sirius Fix info.json for Uni660 (#9489) 2020-06-22 09:49:47 +01:00
sixkeyboard
smk60 Add more missing info.json layouts (#9595) 2020-06-30 17:53:24 +01:00
snagpad
snampad
sofle Add TAP_CODE_DELAY 10. Fix a typo (compilation error) 2020-05-18 13:11:22 +02:00
southpole
spaceman 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
spacetime
speedo
splitish
splitreus62
standaside
staryu
stella
subatomic 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
suihankey Fix info.json for Suihankey (#9490) 2020-06-23 10:25:20 -07:00
switchplate
sx60 Change ?= to = in keyboard rules.mk (#9390) 2020-06-15 03:06:10 -07:00
tada68 Changes to abishalom Tada68 keymap (#9278) 2020-06-05 01:46:28 -07:00
tanuki
telophase
tenki Add TENKI keyboard (#9029) 2020-05-08 23:57:11 +01:00
tetris
tg4x Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
tgr Adding TGR Tris/Tris CE Numpad (#9139) 2020-05-27 01:20:32 +01:00
the_royal Fixing the PRODUCT_ID to match the liminal.json on VIA repo (#9232) 2020-06-01 17:23:25 -07:00
the_ruler
thedogkeyboard
themadnoodle [keyboard] Add two new The Mad Noodle Keypads (#8934) 2020-06-04 00:25:59 +01:00
thevankeyboards 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
tkc/osav2 Initial support for TKC Alice (#9640) 2020-07-11 12:28:53 +01:00
tkc1800 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
tmo50
toad Change ?= to = in keyboard rules.mk (#9390) 2020-06-15 03:06:10 -07:00
tokyo60 Fix bad key labels in ascii art (#9094) 2020-05-14 15:56:52 +10:00
touchpad
tr60w Add missing info.jsons for a few boards (#9549) 2020-06-28 11:56:50 +01:00
treadstone32 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
treadstone48 [Keyboard] treadstone48/rev2 (#8719) 2020-05-07 11:49:40 -07:00
treasure/type9
ua62
uk78 Change ?= to = in keyboard rules.mk (#9390) 2020-06-15 03:06:10 -07:00
underscore33
unikorn Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
uranuma Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
ut472
uzu42
v60_type_r
vinta Fix capitalisation of "GitHub" (#9184) 2020-05-25 19:43:14 -07:00
vision_division 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
vitamins_included
vn66
waldo VIA Support: Waldo 60 (#9151) 2020-06-03 01:07:18 +01:00
wallaby
walletburner/neuron
westfoxtrot Add Configurator layout support for westfoxtrot/prophet (#9428) 2020-06-17 20:47:25 -07:00
wheatfield Art userspace (#9068) 2020-05-19 22:05:32 +01:00
whitefox [Keymap] Update personal userspace and keymaps (#9082) 2020-05-15 23:36:08 -07:00
wilba_tech Keymap addition and updates (Prime_e, ProjectKB PCB, WT60-D) (#9701) 2020-07-17 13:16:09 +01:00
winkeyless Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
wolfmarkclub/wm1 [Keyboard] Wolfmark Club WM1 (#9121) 2020-05-21 13:34:28 -07:00
wsk
x16 [keyboard] Add x16 (#9709) 2020-07-17 18:46:05 +01:00
xbows
xd002 [Keymap] Add dual layer keymap for xd002 macropad (#9222) 2020-06-10 14:33:26 -07:00
xd004 Add VIA support on XiuDi (XD) keyboards (#8829) 2020-06-30 18:27:24 +01:00
xd60 Add VIA support on XiuDi (XD) keyboards (#8829) 2020-06-30 18:27:24 +01:00
xd68 Add VIA support on XiuDi (XD) keyboards (#8829) 2020-06-30 18:27:24 +01:00
xd75 Add VIA support on XiuDi (XD) keyboards (#8829) 2020-06-30 18:27:24 +01:00
xd84 Add VIA support on XiuDi (XD) keyboards (#8829) 2020-06-30 18:27:24 +01:00
xd87 [Keyboard] XD87 Caps Lock LED refactor (#9585) 2020-07-04 20:31:07 -07:00
xd96 Add VIA support on XiuDi (XD) keyboards (#8829) 2020-06-30 18:27:24 +01:00
xelus Trinity XT tkl - New Keyboard (#9483) 2020-06-28 12:04:47 +01:00
xiaomi/mk02 Add missing info.jsons for a few boards (#9549) 2020-06-28 11:56:50 +01:00
xmmx Change ?= to = in keyboard rules.mk (#9390) 2020-06-15 03:06:10 -07:00
xw60
yatara/drink_me
yd60mq Add layout macros to YD60MQ (#9653) 2020-07-08 17:18:50 +01:00
yd68
ymd75 YMD75: move MCU/Bootloader rules to revision level (#9452) 2020-06-18 00:15:22 -07:00
ymd96 Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
ymdk [Keyboard] Added ymdk split64 based on walston's work (#9183) 2020-06-18 03:01:22 -07:00
ymdk_np21 Remove `DEBUG_LEVEL` from V-USB rules.mk (#9117) 2020-05-17 21:37:04 +01:00
yncognito/batpad format code according to conventions [skip ci] 2020-06-13 18:51:08 +00:00
yosino58
yurei
yushakobo/quick7
z150_bh 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
zfrontier/big_switch Add missing info.jsons for a few boards (#9549) 2020-06-28 11:56:50 +01:00
zinc 2020 May 30 Breaking Changes Update (#9215) 2020-05-30 13:14:59 -07:00
zj68
zlant
zvecr [Keyboard] Add zvecr/zv48 (#9227) 2020-06-03 00:49:52 +01:00
readme.md [Keyboard] Refactor JJ50 keyboard mapping to current standard (#9415) 2020-06-28 18:45:16 +01:00

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

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.

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.

ErgoDox EZ and Planck EZ - ZSA Technology Labs

ZSA Technology Labs maintains its own fork of QMK which feeds its configurator, for stability and legal purposes. The ZSA boards are:

  • ErgoDox EZ — A powerful split mechanical keyboard.
  • Planck EZ — A 40% DIY powerhouse of customizability and modification capability. It's a lean, mean, typing machine, which ships fully assembled with a two-year warranty.

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.
  • DataHand — DataHand keyboard converted to use a Teensy board.
  • 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
  • JJ50 — A compact 50% (5x12) ortholinear keyboard 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.
  • XD004 — 1x4 macro keyboard sold by KPrepublic.
  • XD75 — 15x5 ortholinear keyboard by XIUDI.
  • YMDK NP21 — ps2avrGB based number pad (numpad) sold by YMDK on Aliexpress.