qmk_sweep_skeletyl/keyboards
MakotoKurauchi feb5e4aaeb Keyboard: Helix serial improvements (#3608)
* add change_reciver2sender()/change_sender2reciver()

This is a change to improve readability.

* txled, rxled off in matrix_init()

* add serial_send_packet() / serial_recive_packet()

This is a change to reduce object size.

* add serial_low() at ISR() top

* add __attribute__((always_inline)) to some functions

* modify serial_send_packet()/serial_recive_packet()

A little, object size reduction.
A little, speedup.

* add debug code to helix/serial.c

* Adjust sampling timing of serial signal being received

* add split_scomm.c/split_scomm.h and change serial.c/serial.h

serial.c was divided into 2 layers, split_scom.c and serial.c.
The upper layer split_scomm.c is called from matrix.c.
The lower layer serial.c accesses the hardware.

* add split_scomm.c/split_scomm.h into helix/rev1

* reduce object size helix/rev2/matrix.c

* remove checksum check, add parity check

* force occur parity error for test

* parity test ok. remove test code

* change some comment & add skip code when buffer_size == 0

* serial.c: multiple types of transaction support

Add 4 bits transaction-type field at packet top.
Select Transaction Descriptor Table entry by transaction-type.

* helix serial master-slave transaction optimize

Using multi-type transaction feature of serial.c, communication contents between master slaves were optimized.

* add debug code for retry

* add comment into each config.h

* fix ISR status drop

* add a debug macro 'debug_retry_chg()'

* reduce led_test size

* remove debug code from helix/serial.c and etc.

* helix:five_rows change TAPPING_TERM value 140

* Improved compatibility with let's split of serial.c. Finish helix/serial.c improvement.

- The difference with the original let's split's serial.c
  - It's high-speed about 4 times.
  - Stable bi-directional data transfer. (Helix need master to slave transfer)
  - serial.h was divided 2 files, serial_config.h and sereial.h
  - With multiple types of transaction support, communication contents can be optimized. (NEW flexible API)

- USE OLD Simple APIs (compatible with let's split serial.c)
  - files :
    - serial_config.h -- hardware configuration (need include by config.h)
    - serial.c/serial.h -- serial communication

- USE NEW flexible APIs. (Support multi-type transaction function.)
  serial.c was divided into 2 layers, split_scom.c and serial.c.
  The upper layer split_scomm.c is called from matrix.c.
  The lower layer serial.c accesses the hardware.
  - files
    - split_scomm.c -- communication buffer is defined in here. call by matrix.c.
    - split_scomm.h -- buffer size is defined in here. include by matrix.c, split_util.c
    - serial_config.h -- hardware configuration (need include by config.h)
      To use the NEW API, specify #define SERIAL_USE_MULTI_TRANSACTION
    - serial.c/serial.h -- serial communication lower layer

- NEW APIs for serial.c / serial.h (The lower layer)
  // Soft Serial Transaction Descriptor
  typedef struct _SSTD_t  {
      uint8_t *status;
      uint8_t initiator2target_buffer_size;
      uint8_t *initiator2target_buffer;
      uint8_t target2initiator_buffer_size;
      uint8_t *target2initiator_buffer;
  } SSTD_t;

  // initiator is transaction start side
  void soft_serial_initiator_init(SSTD_t *sstd_table);
  // target is interrupt accept side
  void soft_serial_target_init(SSTD_t *sstd_table);
  int soft_serial_transaction(int sstd_index);
  int soft_serial_get_and_clean_target_status(int sstd_index);

- NEW APIs for split_scomm.c / split_scomm.h (The upper layer)
   move from old serial.c the following buffer and functions
     serial_slave_buffer[]
     serial_master_buffer[]
     void serial_master_init(void)
     void serial_slave_init(void)
     int serial_update_buffers(void)
   define SERIAL_xxxxx_BUFFER_LENGTH move from serial_config.h to split_scomm.h
2018-08-10 08:22:09 -07:00
..
1up60rgb Keyboard: update new link for hardware availability (#3554) 2018-08-02 14:38:43 -07:00
4x4 Keyboard: 4x4 modular keyboard (#3531) 2018-08-02 13:48:39 -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 Refactor and Configurator update for ACR60 (#3025) 2018-05-22 17:06:58 -07:00
al1 Al1 Configurator compile fix redux (#3357) 2018-07-09 08:28:38 -07:00
alf_x2 Alf X2 Layout Fixes (#2923) 2018-05-08 19:43:48 -07:00
alpha QMK Configurator updates for Alpha 28-key, AMJ40 and AMJ Pad (#2873) 2018-05-02 08:02:35 -07:00
alps64 Refactor for Alps64 (#3029) 2018-05-24 15:26:38 -07:00
alu84 Refactor and Configurator updates for ALU84 (#3043) 2018-05-24 21:11:29 -07:00
amj40 turn on permissive hold for my keymap (#3295) 2018-07-03 16:18:01 -07:00
amj60 Refactor and Configurator updates for AMJ60 (#3055) 2018-05-26 11:22:56 -07:00
amj96 Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
amjpad Refactor and Configurator updates for AMJ Pad (#3060) 2018-05-27 19:19:09 -07: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 Keymap: Ergodox Dvorak 42 key layout changes (#3500) 2018-07-26 14:21:55 -07:00
atreus62 Configurator updates for Atreus/Atreus62 (#3065) 2018-05-28 20:29:14 -07:00
bananasplit More work on Talljoe layout including adding layout support for HHKB and TKL. (#2946) 2018-05-12 09:54:35 -07:00
bantam44 Refactor and Configurator updates for Bantam44 (#3071) 2018-05-29 01:13:53 -07:00
bfake Update ps2avrgb readme (#3599) 2018-08-09 17:45:43 -07:00
bfo9000 Updated keymap 'Andylikescandy' bfo9000 (#3413) 2018-07-15 21:16:53 -07:00
bigseries board(bigseries): dudeofawesome's layout (#3085) 2018-05-30 08:06:33 -07:00
bigswitch Add URL of PCB files to README.md (#3182) 2018-06-14 19:30:11 -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 Keymap: Update cache22 default keymap (#3597) 2018-08-09 17:50:09 -07:00
chibios_test Add some generic/sparse readmes to get rid of errors (#3048) 2018-05-25 08:39:39 -07:00
chimera_ergo Refactor, Configurator update, and Readme cleanup for Chimera Ergo (#3083) 2018-07-11 08:29:13 -07:00
chimera_ls Added Chimera LS and Chimera Ergo (#2335) 2018-02-16 12:03:53 -05:00
chimera_ortho DCompact Update 1 (#3202) 2018-06-19 13:01:48 -07:00
chocopad keymap: Update khord let's split keymap and add chocopad keymap (#3482) 2018-07-25 08:30:17 -07:00
christmas_tree Configurator fix for Christmas Tree (#3338) 2018-07-07 18:35:31 -07:00
ckeys Keyboard: Update KEYMAP to LAYOUT for ckeys obelus (#3495) 2018-07-26 14:34:38 -07:00
clueboard Keyboard: Add Configurator support for Clueboard 66 Hotswap (#3522) 2018-08-10 08:15:11 -07:00
cod67 COD67 "Support" (#3332) 2018-07-07 11:47:24 -07:00
comet46 Add Comet46 keyboard (#3342) 2018-07-09 07:46:09 -07:00
contra Keymap: Improvements to Maxr1998's Contra keymap (#3535) 2018-07-31 17:58:52 -07:00
converter Keyboard: M0110 converter ported from TMK (#3556) 2018-08-02 14:40:40 -07:00
cospad Cospad QMK Configurator support and refactor (#3319) 2018-07-05 10:43:15 -07:00
crawlpad Fixed dead links (#2451) 2018-03-01 07:45:47 -08:00
crkbd Keymap: add like jis(iso) layout keymap for crkbd (#3562) 2018-08-07 21:05:35 -07: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 Dichotemy: Refactor and Configurator update (#3133) 2018-06-06 09:47:56 -07:00
dilly Dilly: Refactor and Configurator support (#3134) 2018-06-06 11:12:42 -07:00
diverge3 Diverge3: Readme Clean-up, Refactor and Configurator support (#3135) 2018-06-06 09:51:24 -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
dz60 Keymap: frogger keymap (#3570) 2018-08-04 14:02:03 -07:00
e6v2 Keyboard: E6V2 Layout Fix (#3490) 2018-07-25 20:12:15 -07:00
eagle_viper Merlin community layouts (#3004) 2018-05-20 09:59:02 -07:00
eco Eco: Refactor, Configurator support and Readme changes (#3143) 2018-06-07 08:26:46 -07:00
ergo42 Keymap: Underglow support for Ergo42 default-ish keymap (#3431) 2018-07-20 09:05:45 -07:00
ergodash Ergodash refactor and Configurator update (#3378) 2018-07-12 10:31:05 -07:00
ergodone Keymap: Custom L0 layout for ergodone (#3591) 2018-08-09 18:09:43 -07:00
ergodox_ez Keymap: Ergodox Dvorak 42 key layout changes (#3500) 2018-07-26 14:21:55 -07:00
ergodox_infinity Configurator layout repair for Ergodone, Ergodox Infinity and ErgoTravel (#3173) 2018-06-13 07:58:23 -07:00
ergotravel Configurator layout repair for Ergodone, Ergodox Infinity and ErgoTravel (#3173) 2018-06-13 07:58:23 -07:00
facew Update ps2avrgb readme (#3599) 2018-08-09 17:45:43 -07:00
fc660c FC660C Configurator Support (#2817) 2018-04-26 20:31:05 -07:00
fc980c Added FC980C Config (#2850) 2018-04-30 07:46:23 -07:00
felix felix info.json fix (#3195) 2018-06-16 07:56:09 -07: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 Updated personal keymaps, fixed Let's Split default keymap, updated JJ40 README (#2704) 2018-04-19 09:28:55 -07:00
fourier Keymap: jennetters fourier split 40% keymap (#3487) 2018-07-26 14:30:01 -07:00
fractal Keyboard: Added support for the Fractal keyboard (#3457) 2018-07-21 12:14:32 -07:00
frosty_flake Remove ISO imposter key from TKL keymap (#3014) 2018-05-21 18:17:15 -07:00
gh60 GH60: readme cleanup, Refactor, and Configurator update (#3164) 2018-06-12 14:44:24 -07:00
gh80_3000 GH80-3000: Refactor and Configurator support (#3166) 2018-06-12 14:47:50 -07:00
gherkin Keymap: add left/right mouse keys (#3504) 2018-07-29 08:50:24 -07:00
gonnerd GON NerD: Refactor, Configurator support and Readme cleanup (#3167) 2018-06-12 14:49:41 -07: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 Hadron: Readme, Refactor, and Configurator support (#3170) 2018-06-12 17:34:04 -07:00
handwired Keyboard: Add QC60 (#3472) 2018-07-25 08:18:36 -07:00
helix Keyboard: Helix serial improvements (#3608) 2018-08-10 08:22:09 -07:00
hhkb Added E6v2 keymap & some minor changes (#3392) 2018-07-13 08:03:57 -07: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 Add a custom USB driver for ARM (#2750) 2018-04-15 20:42:53 -04:00
iris Keymap: Reformat Iris default keymap (#3534) 2018-08-02 13:49:17 -07:00
jc65 Keyboard: Hide JC65 directory in QMK Configurator (#3491) 2018-07-26 14:32:02 -07:00
jd40 Renamed jd40's LAYOUT to LAYOUT_kc (#3000) 2018-05-18 21:00:48 -07:00
jd45 QMK Configurator Support for JD45 and JD40 (#2851) 2018-04-30 08:22:02 -07:00
jj40 ps2avrgb: fix incorrect avr ports specified (for numlock and capslock LEDs) (#3453) 2018-07-23 12:11:56 -07:00
jj50 ps2avrgb: fix incorrect avr ports specified (for numlock and capslock LEDs) (#3453) 2018-07-23 12:11:56 -07: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 Katana60 refactor and Configurator update (#3242) 2018-06-27 07:52:00 -07:00
kbd6x Keyboard: Disable mouse keys for kbd6x (#3603) 2018-08-09 18:03:34 -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 Keymap: Spaceman Spiff layout for KBD75 (#3595) 2018-08-09 17:53:13 -07: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 Keyboard: LED fixes for Kinesis Stapelberg controller, and keymap changes (#3564) 2018-08-04 09:01:26 -07: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 keymap: Update khord let's split keymap and add chocopad keymap (#3482) 2018-07-25 08:30:17 -07:00
lets_split_eh Userspace update for user bbaserdem (#3443) 2018-07-18 20:17:55 -07:00
levinson Levinson Configurator support (#3260) 2018-06-28 22:24:23 -07:00
lfkeyboards Keyboard: LFKeyboards LFK65-HS Readme cleanup (#3442) 2018-07-18 20:06:34 -07:00
lightsaver Lightsaver info.json update (#3176) 2018-06-13 17:08:42 -07:00
m10a Add readme for "major" keyboards to eliminate more QMK Configurator errors (#2718) 2018-04-08 22:10:14 -04:00
maxipad QMK Configurator support for Maxipad keypad (#3307) 2018-07-04 18:04:22 -07:00
mechmini Updated matrix.c for some PS2AVRGB boards and templates for new_project script (#2992) 2018-05-31 08:32:05 -07:00
meira Meira updates for bluetooth and audio (#2731) 2018-04-19 00:57:24 -04:00
melody96 Configurator does not work with melody96 leds (#3396) 2018-07-14 13:26:10 -07:00
meme rename layouts based on memey monikers courtesy of Krelbit...lulz (#3218) 2018-06-21 23:33:34 -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 Minidox refactor and Configurator support (#3373) 2018-07-12 10:21:29 -07:00
mitosis mitosis:datagrok layout and readme improvements (#3400) 2018-07-14 13:31:17 -07:00
miuni32 Miuni32 refactor and Configurator support (#3273) 2018-07-01 11:02:26 -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 Keyboard: NIU Mini refactor and Configurator update (#3433) 2018-07-18 08:02:52 -07:00
novelpad Novelpad refactor and Configurator support (#3276) 2018-07-01 11:06:00 -07:00
noxary Keyboard: Noxary 268 refactor and Configurator update (#3426) 2018-07-17 08:19:40 -07:00
nyquist Keymap: Adds zen layout for 333fred (#3563) 2018-08-05 08:42:16 -07:00
octagon Remove bootloader from info.jsons 2018-04-11 21:32:09 -07:00
ok60 Keyboard: Add a hhkb layout for the ok60 (#3512) 2018-07-29 11:20:48 -07:00
omnikey_blackheart Omnikey Blackheart refactor (#3280) 2018-07-01 11:08:29 -07:00
org60 Configurator fix for Org60 (#3231) 2018-06-25 17:09:06 -07:00
orthodox Update to drashna userspace and keymaps (#3172) 2018-07-16 21:04:32 -04:00
paladin64 QMK Configurator Support for Paladin64 PCB (#2926) 2018-05-09 07:51:43 -07:00
pearl Add cijanzen Pearl 40% keymap (#2878) 2018-05-02 10:57:33 -07:00
pegasushoof citadel: new keymap for pegasushoof (#3146) 2018-06-08 13:06:14 -07:00
phantom Phantom refactor and Configurator update (#3285) 2018-07-01 20:18:50 -07:00
planck Make sure Planck light calls user suspend functions (#3568) 2018-08-04 16:49:10 -04:00
playkbtw Play Keyboard 60 refactor and Configurator update (#3287) 2018-07-03 16:14:08 -07:00
preonic rename MIT to 1x2uC for preonic 2018-07-20 23:09:25 -04:00
prime_r Prime_R refactor and Configurator support (#3289) 2018-07-03 16:15:23 -07:00
ps2avrGB Updated matrix.c for some PS2AVRGB boards and templates for new_project script (#2992) 2018-05-31 08:32:05 -07:00
quefrency Quefrency Configurator fix (#3418) 2018-07-16 08:42:38 -07:00
rama Added M10-B implementation 2018-07-15 12:50:36 -04:00
redox redox: convert to use SPLIT_KEYBOARD feature (#3478) 2018-07-25 12:16:03 -07:00
roadkit Roadkit refactor and Configurator support (#3303) 2018-07-04 17:59:35 -07:00
rorschach Add Rorschach keyboard (#3532) 2018-07-31 09:08:44 -07:00
s60_x S60-X refactor and Configurator support (#3304) 2018-07-04 18:00:53 -07:00
s65_plus Keyboard: adding Sentraq S65-Plus (#3406) 2018-07-20 09:01:35 -07:00
s65_x convert to unix line-endings [skip ci] 2018-07-11 15:24:41 +00:00
satan Keymap: Spaceman Spiff layout for the GH60 Satan (#3596) 2018-08-09 17:52:35 -07:00
scrabblepad ScrabblePad Updates (#3200) 2018-06-17 16:51:11 -07:00
singa Update ps2avrgb readme (#3599) 2018-08-09 17:45:43 -07:00
sixkeyboard SixKeyBoard refactor (#3193) 2018-06-16 08:02: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
sweet16 Updated personal keymaps, fixed Let's Split default keymap, updated JJ40 README (#2704) 2018-04-19 09:28:55 -07:00
sx60 remove trailing comma to fix parsing issue (#3130) 2018-06-06 09:46:06 -07:00
tada68 Keyboard: Remap layout to match the actual keys sent from the tada68 board. (#3483) 2018-08-06 08:37:46 -07:00
tanuki Tanuki Configurator support (#3310) 2018-07-04 18:06:32 -07:00
tetris Tetris Configurator support and Rules update (#3317) 2018-07-07 11:42:59 -07:00
the_ruler The Ruler QMK Configurator Support (#3308) 2018-07-04 18:04:59 -07:00
tiger_lily Tiger Lily Controller refactor and Configurator support (#3313) 2018-07-04 21:44:02 -07:00
tkc1800 Keymap: Add smt keymap for TKC1800 (#3481) 2018-07-25 08:28:06 -07:00
tomato Tomato refactor and Configurator support (#3314) 2018-07-04 21:44:50 -07:00
tv44 Some updates to my minivan keymap (#3294) 2018-07-03 16:17:39 -07:00
uk78 UK78 Refactor: rename LAYOUT to LAYOUT_all (#3405) 2018-07-14 15:18:54 -07:00
unloved_bastard Unloved Bastard refactor and Configurator support (#3318) 2018-07-05 08:22:39 -07:00
ut47 Keymap: UT47:nordic - A couple of tweaks (#3489) 2018-07-25 20:11:38 -07:00
v60_type_r Merlin community layouts (#3004) 2018-05-20 09:59:02 -07:00
vision_division backlight breathing overhaul (#2187) 2018-01-01 17:47:51 -05: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 Update to drashna userspace and keymaps (#3172) 2018-07-16 21:04:32 -04:00
whitefox Keymaps: Add whitefox constexpr keymap (#3541) 2018-08-01 20:04:20 -07:00
xd60 Add standard layout to XD60 (#2925) 2018-05-09 07:52:35 -07:00
xd75 Keymap: XD75 keymap (#3553) 2018-08-05 08:55:17 -07:00
xmmx Adding XMMX (#2236) 2018-01-07 11:23:45 -05:00
ymd75 ps2avrgb: fix incorrect avr ports specified (for numlock and capslock LEDs) (#3453) 2018-07-23 12:11:56 -07:00
ymd96 ps2avrgb: fix incorrect avr ports specified (for numlock and capslock LEDs) (#3453) 2018-07-23 12:11:56 -07:00
ymdk_np21 ps2avrgb: fix incorrect avr ports specified (for numlock and capslock LEDs) (#3453) 2018-07-23 12:11:56 -07:00
zen Keymap: Adds zen layout for 333fred (#3563) 2018-08-05 08:42:16 -07:00
zlant Adds Zlant keyboard support (#3028) 2018-05-22 20:53:11 -07: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.