1
0
Fork 0
forked from forks/qmk_firmware
qmk_firmware/keyboards
James Laird-Wah 03b8ce206d Keyboard: add Keyboardio Model 01 (#3900)
* Keyboard: add Keyboardio Model01

This port implements key scanning and everything in their default
keymap.

It doesn't implement mouse warping; QMK can't do that (yet).

LED control is mostly not implemented. The ability to set all LEDs is
included because they can get stuck on coming from the bootloader
otherwise. Single LED control is also implemented for numpad indication.
The scanners also support batch LED transfer which is what you'd need if
you wanted to do fast effects. Gamma correction is also not implemented,
but is present in the original firmware. The necessary info for further
implementation is in the KeyboardioScanner module for Kaleidoscope.

To install on your keyboard:

    make model01:avrdude

When prompted, hold the "prog" key on the keyboard to put it into
programming mode. This can also be achieved by holding the "prog" key
while plugging in the keyboard. This works even if the firmware is
corrupt or missing.

Hot plugging the halves seems to work fine, but there is no explicit
support for eg. making sure the matrix scan rate is reconfigured.

* model01: clean up includes and include guards

Uses #pragma once everywhere.

* model01: split LED and matrix code

This makes space if someone wants to implement better LED support
later on, the keyboard is a lot more capable than the current code.

* model01: separate I2C timeouts for matrix vs. LED

If the scanners have no data they don't ACK reads and just time out.
So we want a pretty short timeout to keep scan rates high.

Meanwhile the LED transfers might take longer - I don't know though,
so here we are conservative.

* model01: implement better LED control

- gamma correction from the manufacturer's firmware
- suitable delays to allow back to back LED writes
    - this is fast enough to write the whole keyboard without noticeable
    delay, in my experience
- minor bug fix: RHS Fn key was not addressable

* model01: add license to wire-protocol-constants.h

* model01: replace gamma LUT

The original was of unclear license origin. This one is functionally
identical and includes a generator should people wish to adjust it.

* model01: use the already-present CIE1931 lightness curve

...rather than baking in another gamma curve.

It's said that CIE1931 is the right thing to be using rather than gamma.
OK. Let it be so.

* model01: call matrix_init_user() from matrix_init_kb()

* model01: remove inapplicable config options from rules.mk

* model01: readme.md: update build environment links
2018-09-17 15:49:20 -07:00
..
1upkeyboards Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
4x4 Keymap: Wanleg updates (#3794) 2018-08-30 09:34:14 -07:00
5x5 Keymap: Wanleg updates (#3794) 2018-08-30 09:34:14 -07:00
6ball Refactor update for 6ball (#3017) 2018-05-22 12:12:50 -07:00
9key Refactor and Configurator updates for 9key (#3024) 2018-05-22 15:58:56 -07:00
acr60 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
al1 Keyboard: AL1 Configurator fix: misplaced arrow keys (#3716) 2018-08-22 08:59:00 -07:00
alf Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
alpha Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
alps64 Refactor for Alps64 (#3029) 2018-05-24 15:26:38 -07:00
alu84 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
amj40 turn on permissive hold for my keymap (#3295) 2018-07-03 16:18:01 -07:00
amj60 Keyboard: AMJ60 LAYOUT_iso matrix fix (#3705) 2018-08-21 08:41:40 -07:00
amj96 Keyboard: AMJ96 Refactor and Configurator update (#3707) 2018-08-22 08:58:12 -07:00
amjpad Keyboard: Configurator render fix for AMJPad (#3706) 2018-08-21 08:42:18 -07:00
at101_blackheart Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
atom47 Fix Atom47 configurator layout (#3018) 2018-05-22 07:03:10 -07:00
atomic QMK Configurator updates: Atom47, Atomic and Atreus (#2883) 2018-05-03 07:56:12 -07:00
atreus Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
atreus62 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
bantam44 Refactor and Configurator updates for Bantam44 (#3071) 2018-05-29 01:13:53 -07:00
bface Keymap: Added personal keymap for bface (#3719) 2018-08-21 19:07:18 -07:00
bfake Update ps2avrgb readme (#3599) 2018-08-09 17:45:43 -07:00
bfo9000 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
bigseries Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
bigswitch Keymap: Big switch config (#3904) 2018-09-17 13:41:59 -07:00
blockey Keyboard: Blockey refactor (#3722) 2018-08-22 09:00:40 -07:00
bmini Update ps2avrgb readme (#3599) 2018-08-09 17:45:43 -07:00
canoe Update ps2avrgb readme (#3599) 2018-08-09 17:45:43 -07:00
catch22 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
chibios_test Add some generic/sparse readmes to get rid of errors (#3048) 2018-05-25 08:39:39 -07:00
chimera_ergo Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
chimera_ls Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
chimera_ortho Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
chocopad Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
christmas_tree Configurator fix for Christmas Tree (#3338) 2018-07-07 18:35:31 -07:00
ckeys Keyboard: Ckeys refactor (#3681) 2018-08-17 16:12:22 -07:00
clueboard Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
cod67 COD67 "Support" (#3332) 2018-07-07 11:47:24 -07:00
comet46 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
contra Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
converter add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
cospad Keyboard: Added gamepad layout to cospad (#3714) 2018-08-25 10:35:24 -07:00
crawlpad Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
crkbd Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
cu24 Support upcoming caps_unlocked boards in QMK Configurator (#2738) 2018-04-12 13:03:50 -04:00
cu75 CU75: Refactor and Configurator updates (#3123) 2018-06-04 12:15:14 -07:00
daisy [WIP] [Help Needed] Daisy 40%: Refactor and Configurator update (#3124) 2018-06-04 14:50:30 -07:00
dc01 Keyboard: Fix UTF-8 encoding for DC01 Numpad info.json (#3462) 2018-07-21 15:35:57 -07:00
deltasplit75 Fix Mbsurfer deltasplit75 keymap (#3262) 2018-06-29 08:22:23 -07:00
dichotemy Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
dilly Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
diverge3 Diverge3: Readme Clean-up, Refactor and Configurator support (#3135) 2018-06-06 09:51:24 -07:00
divergetm2 Keyboard: Add support for Diverge TM2 (#3829) 2018-09-03 16:35:27 -07:00
dk60 DK60: Refactor, Configurator and Readme updates (#3142) 2018-06-07 08:23:50 -07:00
do60 add support for the 60_ansi_split_bs_rshift community layout (#3227) 2018-06-25 07:56:48 -07:00
duck Keyboard: Updated info.json for Duck Jetfire (#3866) 2018-09-13 09:04:55 -07:00
dz60 Keymap: dz60/macos_arrow: fix rev3 broken media layer (#3928) 2018-09-17 15:10:00 -07:00
e6v2 Keyboard: E6V2 Layout Fix (#3490) 2018-07-25 20:12:15 -07:00
eco Eco: Refactor, Configurator support and Readme changes (#3143) 2018-06-07 08:26:46 -07:00
ergo42 Keymap: add yshrsmz keymaps (#3770) 2018-09-01 09:38:29 -07:00
ergodash Keyboard: add ergodash mini keyboard (#3901) 2018-09-15 10:57:46 -07:00
ergodone Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
ergodox_ez Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
ergodox_infinity Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
ergoinu Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
ergotravel Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
facew add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
fc660c Keymap: Updated my FC660C config (#3870) 2018-09-09 19:43:45 -07:00
fc980c Added FC980C Config (#2850) 2018-04-30 07:46:23 -07:00
felix Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
fleuron Keyboard: Adds Fleuron v1.0 keyboard (#3571) 2018-08-07 17:47:49 -07:00
fortitude60 Fortitude60: Refactor and Configurator support (#3161) 2018-06-10 07:13:01 -07:00
four_banger Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
fourier Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
fractal Keyboard: Fix pin numbers for Fractal keyboard (#3743) 2018-09-17 15:18:19 -07:00
frosty_flake Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
gh60 Keymap: Create ISO HHKB keymapping for GH60 (#3832) 2018-09-04 08:52:52 -07:00
gh80_3000 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
gherkin Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
gonnerd Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
h87a Keyboard: make sure LAYOUT macro names match in info.json and h87a.h (#3550) 2018-08-02 14:41:20 -07:00
hadron Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
handwired Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
helix Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
hhkb Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
hid_liber Keyboard: Add support for bpiphany's HID Liberation Device (#3470) 2018-07-30 23:37:34 -07:00
hs60 Addition of hard brigtness limit for RGB_Matrix (#3299) 2018-07-03 12:52:04 -04:00
infinity60 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
iris Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
jc65 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
jd40 add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
jd45 add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
jj40 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
jj50 ps2avrgb: fix incorrect avr ports specified (for numlock and capslock LEDs) (#3453) 2018-07-23 12:11:56 -07:00
jm60 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
k_type Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
katana60 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
kbd6x Keyboard: formatting changes for readme and enable bootmagic (#3851) 2018-09-04 13:29:58 -07:00
kbd8x Fixed kbd8x compile issues (#3409) 2018-07-15 11:21:26 -07:00
kbd66 KBD66 info.json update (#3175) 2018-06-13 17:08:10 -07:00
kbd75 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
kc60 Fix to KC60 LAYOUT_60_ansi matrix (#3026) 2018-05-22 20:14:50 -07:00
kc60se Keyboard: Configurator fix: KC60SE info.json, LAYOUT matrix (#3463) 2018-07-22 06:58:32 -07:00
kinesis Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
kira75 Kira 75 QMK Support (#3003) 2018-05-20 10:25:34 -07:00
kitten_paw Kitten Paw refactor and Configurator update (#3248) 2018-06-28 12:40:40 -07:00
kmac QMK Configurator Support for KMAC (#2852) 2018-04-30 08:22:35 -07:00
kmini Kmini refactor and Configurator support (#3388) 2018-07-12 16:30:53 -07:00
knops Knops Configurator update (#3249) 2018-06-28 06:53:23 -07:00
kona_classic Keyboard: Fix character encoding for kona_classic's info.json (#3473) 2018-07-23 12:02:45 -07:00
laplace Laplace Refactor (#3252) 2018-06-28 06:56:14 -07:00
launchpad Launchpad (#2767) 2018-04-20 08:51:34 -07:00
lets_split Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
lets_split_eh Userspace update for user bbaserdem (#3443) 2018-07-18 20:17:55 -07:00
levinson Keymap: Update personal keymap (#3855) 2018-09-05 16:39:00 -07:00
lfkeyboards Keyboard: Corrected LFK65_HS LAYOUT_all matrix (#3703) 2018-08-21 08:40:25 -07:00
lily58 Keyboard: Add Lily58 Keyboard (#3893) 2018-09-15 10:14:39 -07:00
m10a Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
massdrop Keyboard: ALT keymap update and LED driver brightness mismatch fix (#3890) 2018-09-13 09:17:26 -07:00
maxipad QMK Configurator support for Maxipad keypad (#3307) 2018-07-04 18:04:22 -07:00
mechmini Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
meira Keyboard: add Telophase board (and Graham's keymaps) (#3244) 2018-08-19 13:29:11 -07:00
melody96 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
meme rename layouts based on memey monikers courtesy of Krelbit...lulz (#3218) 2018-06-21 23:33:34 -07:00
mf68 65% and 68 key community layouts (#3872) 2018-09-09 19:45:59 -07:00
mf68_ble 65% and 68 key community layouts (#3872) 2018-09-09 19:45:59 -07:00
minidox Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
mint60 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
mitosis Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
miuni32 Miuni32 refactor and Configurator support (#3273) 2018-07-01 11:02:26 -07:00
model01 Keyboard: add Keyboardio Model 01 (#3900) 2018-09-17 15:49:20 -07:00
mt40 MT40 refactor and Configurator support (#3377) 2018-07-12 10:28:23 -07:00
mxss MxSS Configurator bugfix: removed an extra key that didn't belong (#3362) 2018-07-09 18:07:20 -07:00
nano Nano refactor and Configurator update (#3275) 2018-07-01 11:05:10 -07:00
niu_mini Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
novelpad Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
noxary Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
nyquist Keymap: add yshrsmz keymaps (#3770) 2018-09-01 09:38:29 -07:00
ok60 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
omnikey_blackheart Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
org60 Configurator fix for Org60 (#3231) 2018-06-25 17:09:06 -07:00
orthodox Yet another update to drashna keymaps and userspace (#3787) 2018-08-29 13:42:15 -04:00
paladin64 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
pearl Keyboard: Pearl keyboard LAYOUT_spacebar had an undefined constant K34 (#3633) 2018-08-12 09:33:04 -07:00
pegasushoof Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
phantom add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
planck Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
playkbtw Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
preonic Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
prime_r Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
ps2avrGB [WIP] Added support for the b.face keyboard (#2493) 2018-08-19 19:32:35 -07:00
quefrency Keyboard: Add support for Quefrency 65% right half (#3865) 2018-09-06 12:49:13 -07:00
qwertyydox Keyboard: Add QWERTYYdox keyboard (#3636) 2018-08-19 13:23:13 -07:00
rama Zeal60/Zeal65/M60-A implementation (#3879) 2018-09-13 14:37:13 -04:00
redox Keymap: Redox: add a new Colemak keymap, macOS oriented. (#3861) 2018-09-10 07:39:05 -07:00
rorschach Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
s60_x Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
s65_plus Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
s65_x Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
satan Keymap: Adjusted keymaps for standardisation (#3874) 2018-09-09 19:47:14 -07:00
scrabblepad add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
singa add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
sixkeyboard SixKeyBoard refactor (#3193) 2018-06-16 08:02:11 -07:00
sixshooter Keyboard: Six Shooter Keyboard (#3598) 2018-08-11 13:23:11 -07:00
speedo Speedo refactor and Configurator support (#3309) 2018-07-04 18:06:04 -07:00
staryu ps2avrgb: fix incorrect avr ports specified (for numlock and capslock LEDs) (#3453) 2018-07-23 12:11:56 -07:00
subatomic remove all makefiles from keyboard directories 2017-09-27 08:21:09 -10:00
sx60 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
tada68 Keyboard: Tada68 readme img (#3918) 2018-09-17 14:09:41 -07:00
tanuki Tanuki Configurator support (#3310) 2018-07-04 18:06:32 -07:00
telophase Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
tetris Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
the_ruler add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
thevankeyboards Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
tiger_lily Tiger Lily Controller refactor and Configurator support (#3313) 2018-07-04 21:44:02 -07:00
tkc1800 Keymap: Fix Dvorak mapping for left/right brace (#3889) 2018-09-13 09:16:39 -07:00
tokyo60 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
tomato Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
tragicforce68 Keyboard: Add Tragicforce 68 (#3807) 2018-08-31 11:13:55 -07:00
uk78 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
unloved_bastard Unloved Bastard refactor and Configurator support (#3318) 2018-07-05 08:22:39 -07:00
ut47 Keyboard: UT47 Configurator support and readme cleanup (#3708) 2018-08-21 08:45:42 -07:00
v60_type_r Keymap: I got my intern a KBParadise V60 Type R... (#3813) 2018-08-31 08:28:14 -07:00
vision_division add linebreaks to "Keyboard Maintainer:..." blocks where missing (#3763) 2018-08-26 11:59:52 -07:00
vitamins_included Keyboard: Document the correct path to the let's split EEPROM files. (#3539) 2018-08-02 13:52:24 -07:00
viterbi Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
wavelet Keyboard: add Wavelet (#3739) 2018-08-25 08:46:42 -07:00
whitefox Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
xd60 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
xd75 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
xmmx Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
ymd75 ps2avrgb: fix incorrect avr ports specified (for numlock and capslock LEDs) (#3453) 2018-07-23 12:11:56 -07:00
ymd96 Keyboard: Add YMD96 instructions for Linux + Backlight Fixes (#3908) 2018-09-17 13:55:49 -07:00
ymdk_np21 ps2avrgb: fix incorrect avr ports specified (for numlock and capslock LEDs) (#3453) 2018-07-23 12:11:56 -07:00
z150_blackheart Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
zeal60 Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
zeal65 Zeal60/Zeal65/M60-A implementation (#3879) 2018-09-13 14:37:13 -04:00
zen Keymap: Update 333fred's keymap for Zen (#3690) 2018-08-20 09:45:15 -07:00
zlant Make PREVENT_STUCK_MODIFIERS the default (#3107) 2018-09-17 13:48:02 -04:00
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.