a8c230743a
* 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> |
||
---|---|---|
.. | ||
1upkeyboards | ||
2key2crawl | ||
4by3 | ||
4pplet | ||
6ball | ||
7skb | ||
8pack | ||
9key | ||
30wer | ||
40percentclub | ||
abacus | ||
absinthe | ||
abstract/ellipse | ||
acheron | ||
acr60 | ||
adelheid | ||
adkb96 | ||
aeboards | ||
ai03 | ||
akb | ||
al1 | ||
alf | ||
allison | ||
allison_numpad | ||
alpha | ||
alps64 | ||
alu84 | ||
amj40 | ||
amj60 | ||
amj96 | ||
amjkeyboard/amj66 | ||
amjpad | ||
anavi/macropad8 | ||
angel17 | ||
angel64 | ||
aos/tkl | ||
aplx6 | ||
arabica37 | ||
ares | ||
arisu | ||
ash1800 | ||
ashpil/modelm_usbc | ||
at101_bh | ||
at_at/660m | ||
atomic | ||
atreus | ||
atreus62 | ||
atxkb | ||
aves65 | ||
baguette | ||
bakeneko80 | ||
bantam44 | ||
basekeys/slice | ||
bat43 | ||
bear_face | ||
bfake | ||
bigseries | ||
bigswitch | ||
bioi/g60ble | ||
blackplum | ||
blockey | ||
bm16a | ||
bm16s | ||
bm43a | ||
bm60rgb | ||
boardsource | ||
boardwalk | ||
boston_meetup | ||
botanicalkeyboards/fm2u | ||
bpiphany | ||
bthlabs/geekpad | ||
business_card | ||
butterstick | ||
c39 | ||
candybar | ||
cannonkeys | ||
catch22 | ||
centromere | ||
cheshire/curiosity | ||
chidori | ||
chili | ||
chimera_ergo | ||
chimera_ls | ||
chimera_ortho | ||
chimera_ortho_plus | ||
choc_taro | ||
choco60 | ||
christmas_tree | ||
ckeys | ||
claw44 | ||
clawsome | ||
clueboard | ||
cocoa40 | ||
comet46 | ||
contra | ||
converter | ||
copenhagen_click/click_pad_v1 | ||
coseyfannitutti | ||
cospad | ||
crawlpad | ||
crkbd | ||
cu24 | ||
cu75 | ||
cu80 | ||
cutie_club/wraith | ||
daisy | ||
db/db63 | ||
dc01 | ||
deltasplit75 | ||
dichotomy | ||
diverge3 | ||
divergetm2 | ||
dk60 | ||
dm9records | ||
dmqdesign/spin | ||
do60 | ||
donutcables | ||
doppelganger | ||
doro67 | ||
dozen0 | ||
dp60 | ||
duck | ||
dumbpad | ||
dz60 | ||
dztech | ||
eco | ||
efreet | ||
emptystring/NQG | ||
eniigmakeyboards/ek87 | ||
ep | ||
ergo42 | ||
ergodash | ||
ergodone | ||
ergodox_ez | ||
ergodox_infinity | ||
ergodox_stm32 | ||
ergosaurus | ||
ergoslab | ||
ergotaco | ||
ergotravel | ||
ericrlau/numdiscipline | ||
espectro | ||
eve/meteor | ||
evil80 | ||
exclusive | ||
exent | ||
facew | ||
fallacy | ||
fc660c | ||
fc980c | ||
felix | ||
fleuron | ||
fluorite | ||
flx | ||
fortitude60 | ||
four_banger | ||
foxlab | ||
fractal | ||
freyr | ||
ft/mars80 | ||
funky40 | ||
gami_studio/lex60 | ||
gboards | ||
geekboards/tester | ||
georgi | ||
gergo | ||
getta25 | ||
gh60 | ||
gh80_3000 | ||
ghs/rar | ||
gingham | ||
gon | ||
gowla | ||
gray_studio | ||
grid600 | ||
gskt00 | ||
hadron | ||
halberd | ||
handwired | ||
hecomi | ||
heliar/wm1_hotswap | ||
helix | ||
hhkb | ||
hid_liber | ||
hifumi | ||
hineybush | ||
honeycomb | ||
hotdox | ||
hs60 | ||
hub16 | ||
id80 | ||
idb/idb_60 | ||
idobo | ||
illuminati/is0 | ||
infinity60 | ||
ivy | ||
j80 | ||
jae/j01 | ||
jc65 | ||
jd40 | ||
jd45 | ||
jian | ||
jisplit89 | ||
jj4x4 | ||
jj40 | ||
jj50 | ||
jm60 | ||
jnao | ||
just60 | ||
k_type | ||
kagamidget | ||
katana60 | ||
kbdclack/kaishi65 | ||
kbdfans | ||
kc60 | ||
kc60se | ||
keebio | ||
keebwerk/nano_slider | ||
keebzdotnet/wazowski | ||
keyboardio | ||
keycapsss | ||
keyhive/maypad | ||
kinesis | ||
kingly_keys | ||
kira75 | ||
kira80 | ||
kmac | ||
kmini | ||
knops | ||
kona_classic | ||
kudox | ||
kudox_game | ||
kv/revt | ||
kyria | ||
laptreus | ||
latinpad | ||
lattice60 | ||
launchpad | ||
lazydesigners | ||
le_chiffre | ||
leeku/finger65 | ||
lets_split | ||
lets_split_eh | ||
lfkeyboards | ||
lily58 | ||
m0lly | ||
m10a | ||
maartenwut | ||
manta60 | ||
massdrop | ||
matrix | ||
maxipad | ||
maxr1998 | ||
mc_76k | ||
mechkeys/mk60 | ||
mechllama/g35 | ||
mechlovin | ||
mechmini | ||
mehkee96 | ||
meira | ||
meishi | ||
meishi2 | ||
melody96 | ||
meme | ||
meson | ||
metamechs/timberwolf | ||
miller/gm862 | ||
miniaxe | ||
minidox | ||
mint60 | ||
mitosis | ||
miuni32 | ||
mixi | ||
montsinger | ||
moon | ||
mountainblocks/mb17 | ||
mt40 | ||
mt980 | ||
murcielago | ||
mxss | ||
nafuda | ||
naked48 | ||
naked60 | ||
naked64 | ||
namecard2x4 | ||
navi10 | ||
ncc1701kb | ||
nebula12 | ||
nebula65 | ||
nek_type_a | ||
newgame40 | ||
nightly_boards/alter/rev1 | ||
nightmare | ||
niu_mini | ||
nk65 | ||
nomu30 | ||
novelpad | ||
noxary | ||
numatreus | ||
oddball | ||
ogre | ||
ok60 | ||
omnikey_bh | ||
omnikeyish | ||
orange75 | ||
org60 | ||
ortho5by12 | ||
orthodox | ||
otaku_split | ||
pabile | ||
paladin64 | ||
palette1202 | ||
panc40 | ||
panc60 | ||
pdxkbc | ||
pearl | ||
peiorisboards/ixora | ||
percent | ||
phantom | ||
pico | ||
pimentoso/paddino02 | ||
pinky | ||
planck | ||
playkbtw | ||
preonic | ||
primekb | ||
projectkb | ||
puck | ||
quad_h/lb75 | ||
quantrik/kyuu | ||
qwertyydox | ||
rabbit/rabbit68 | ||
ramonimbao | ||
rart | ||
redox | ||
redox_w | ||
redscarf_i | ||
redscarf_iiplus | ||
retro_75 | ||
reversestudio/decadepad | ||
reviung34 | ||
reviung39 | ||
reviung41 | ||
rgbkb | ||
rotr | ||
runner3680 | ||
s7_elephant | ||
scarletbandana | ||
sck | ||
scythe | ||
sentraq | ||
setta21 | ||
shambles | ||
shiro | ||
sidderskb/majbritt | ||
signum/3_0/elitec | ||
silverbullet44 | ||
singa | ||
sirius | ||
sixkeyboard | ||
smk60 | ||
snagpad | ||
snampad | ||
sofle | ||
southpole | ||
spaceman | ||
spacetime | ||
speedo | ||
splitish | ||
splitreus62 | ||
standaside | ||
staryu | ||
stella | ||
subatomic | ||
suihankey | ||
switchplate | ||
sx60 | ||
tada68 | ||
tanuki | ||
telophase | ||
tenki | ||
tetris | ||
tg4x | ||
tgr | ||
the_royal | ||
the_ruler | ||
thedogkeyboard | ||
themadnoodle | ||
thevankeyboards | ||
tkc/osav2 | ||
tkc1800 | ||
tmo50 | ||
toad | ||
tokyo60 | ||
touchpad | ||
tr60w | ||
treadstone32 | ||
treadstone48 | ||
treasure/type9 | ||
ua62 | ||
uk78 | ||
underscore33 | ||
unikorn | ||
uranuma | ||
ut472 | ||
uzu42 | ||
v60_type_r | ||
vinta | ||
vision_division | ||
vitamins_included | ||
vn66 | ||
waldo | ||
wallaby | ||
walletburner/neuron | ||
westfoxtrot | ||
wheatfield | ||
whitefox | ||
wilba_tech | ||
winkeyless | ||
wolfmarkclub/wm1 | ||
wsk | ||
x16 | ||
xbows | ||
xd60 | ||
xd68 | ||
xd75 | ||
xd84 | ||
xd87 | ||
xd96 | ||
xd002 | ||
xd004 | ||
xelus | ||
xiaomi/mk02 | ||
xmmx | ||
xw60 | ||
yatara/drink_me | ||
yd60mq | ||
yd68 | ||
ymd75 | ||
ymd96 | ||
ymdk | ||
ymdk_np21 | ||
yncognito/batpad | ||
yosino58 | ||
yurei | ||
yushakobo/quick7 | ||
z150_bh | ||
zfrontier/big_switch | ||
zinc | ||
zj68 | ||
zlant | ||
zvecr | ||
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.