From 13206b2f87b1bce87d58cdfdddb1bcc7b58e4a24 Mon Sep 17 00:00:00 2001 From: Ryan Date: Thu, 28 May 2020 11:27:14 +1000 Subject: [PATCH] Community layout support for KBDpad Mk.I (#9220) * Community layout support for KBDpad Mk.I * Matching spacing --- keyboards/kbdfans/kbdpad/mk1/info.json | 108 ++++++++++++++++-- .../kbdpad/mk1/keymaps/default/keymap.c | 15 +-- keyboards/kbdfans/kbdpad/mk1/mk1.h | 63 +++++++--- keyboards/kbdfans/kbdpad/mk1/readme.md | 6 +- keyboards/kbdfans/kbdpad/mk1/rules.mk | 2 + 5 files changed, 159 insertions(+), 35 deletions(-) diff --git a/keyboards/kbdfans/kbdpad/mk1/info.json b/keyboards/kbdfans/kbdpad/mk1/info.json index 4f0da62e83..68e8f68515 100644 --- a/keyboards/kbdfans/kbdpad/mk1/info.json +++ b/keyboards/kbdfans/kbdpad/mk1/info.json @@ -1,12 +1,100 @@ { - "keyboard_name": "KBDfans KBDPad MKI", - "url": "https://kbdfans.com/products/kbdfans-pad-custom-mechanical-keyboard-diy-kit", - "maintainer": "qmk", - "width": 4, - "height": 6.25, - "layouts": { - "LAYOUT": { - "layout": [{"x":2, "y":0}, {"x":3, "y":0}, {"x":0, "y":1.25}, {"x":1, "y":1.25}, {"x":2, "y":1.25}, {"x":3, "y":1.25}, {"x":0, "y":2.25}, {"x":1, "y":2.25}, {"x":2, "y":2.25}, {"x":0, "y":3.25}, {"x":1, "y":3.25}, {"x":2, "y":3.25}, {"x":3, "y":2.25, "h":2}, {"x":0, "y":4.25}, {"x":1, "y":4.25}, {"x":2, "y":4.25}, {"x":0, "y":5.25, "w":2}, {"x":2, "y":5.25}, {"x":3, "y":4.25, "h":2}] - } - } + "keyboard_name": "KBDfans KBDPad MKI", + "url": "https://kbdfans.com/products/kbdfans-pad-custom-mechanical-keyboard-diy-kit", + "maintainer": "qmk", + "width": 4, + "height": 6.25, + "layouts": { + "LAYOUT": { + "layout": [ + {"x":2, "y":0}, + {"x":3, "y":0}, + + {"x":0, "y":1.25}, + {"x":1, "y":1.25}, + {"x":2, "y":1.25}, + {"x":3, "y":1.25}, + + {"x":0, "y":2.25}, + {"x":1, "y":2.25}, + {"x":2, "y":2.25}, + + {"x":0, "y":3.25}, + {"x":1, "y":3.25}, + {"x":2, "y":3.25}, + {"x":3, "y":2.25, "h":2}, + + {"x":0, "y":4.25}, + {"x":1, "y":4.25}, + {"x":2, "y":4.25}, + + {"x":0, "y":5.25, "w":2}, + {"x":2, "y":5.25}, + {"x":3, "y":4.25, "h":2} + ] + }, + "LAYOUT_numpad_6x4": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + + {"x":0, "y":1.25}, + {"x":1, "y":1.25}, + {"x":2, "y":1.25}, + {"x":3, "y":1.25}, + + {"x":0, "y":2.25}, + {"x":1, "y":2.25}, + {"x":2, "y":2.25}, + + {"x":0, "y":3.25}, + {"x":1, "y":3.25}, + {"x":2, "y":3.25}, + {"x":3, "y":2.25, "h":2}, + + {"x":0, "y":4.25}, + {"x":1, "y":4.25}, + {"x":2, "y":4.25}, + + {"x":0, "y":5.25, "w":2}, + {"x":2, "y":5.25}, + {"x":3, "y":4.25, "h":2} + ] + }, + "LAYOUT_ortho_6x4": { + "layout": [ + {"x":0, "y":0}, + {"x":1, "y":0}, + {"x":2, "y":0}, + {"x":3, "y":0}, + + {"x":0, "y":1.25}, + {"x":1, "y":1.25}, + {"x":2, "y":1.25}, + {"x":3, "y":1.25}, + + {"x":0, "y":2.25}, + {"x":1, "y":2.25}, + {"x":2, "y":2.25}, + {"x":3, "y":2.25}, + + {"x":0, "y":3.25}, + {"x":1, "y":3.25}, + {"x":2, "y":3.25}, + {"x":3, "y":3.25}, + + {"x":0, "y":4.25}, + {"x":1, "y":4.25}, + {"x":2, "y":4.25}, + {"x":3, "y":4.25}, + + {"x":0, "y":5.25}, + {"x":1, "y":5.25}, + {"x":2, "y":5.25}, + {"x":3, "y":5.25} + ] + } + } } diff --git a/keyboards/kbdfans/kbdpad/mk1/keymaps/default/keymap.c b/keyboards/kbdfans/kbdpad/mk1/keymaps/default/keymap.c index 2d5053e0b6..58f2c597e7 100644 --- a/keyboards/kbdfans/kbdpad/mk1/keymaps/default/keymap.c +++ b/keyboards/kbdfans/kbdpad/mk1/keymaps/default/keymap.c @@ -17,11 +17,12 @@ #include QMK_KEYBOARD_H const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -[0] = LAYOUT(\ - KC_DEL, KC_BSPC, \ - KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, \ - KC_P7, KC_P8, KC_P9, \ - KC_P4, KC_P5, KC_P6, KC_PPLS, \ - KC_P1, KC_P2, KC_P3, \ - KC_P0, KC_PDOT, KC_PENT) \ + [0] = LAYOUT( + KC_DEL, KC_BSPC, + KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, KC_PPLS, + KC_P1, KC_P2, KC_P3, + KC_P0, KC_PDOT, KC_PENT + ) }; diff --git a/keyboards/kbdfans/kbdpad/mk1/mk1.h b/keyboards/kbdfans/kbdpad/mk1/mk1.h index ace7466f54..36b0287278 100644 --- a/keyboards/kbdfans/kbdpad/mk1/mk1.h +++ b/keyboards/kbdfans/kbdpad/mk1/mk1.h @@ -13,26 +13,59 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ + #pragma once #include "quantum.h" -// This a shortcut to help you visually see your layout. +// This is a shortcut to help you visually see your layout. // The first section contains all of the arguments // The second converts the arguments into a two-dimensional array -#define LAYOUT( \ - k52, k53, \ - k40, k41, k42, k43, \ - k30, k31, k32, \ - k20, k21, k22, k23, \ - k10, k11, k12, \ - k00, k02, k03 \ -){ \ - { k00, KC_NO, k02, k03 }, \ - { k10, k11, k12, KC_NO }, \ - { k20, k21, k22, k23 }, \ - { k30, k31, k32, KC_NO }, \ - { k40, k41, k42, k43 }, \ - { KC_NO, KC_NO, k52, k53 }, \ +#define LAYOUT( \ + k52, k53, \ + k40, k41, k42, k43, \ + k30, k31, k32, \ + k20, k21, k22, k23, \ + k10, k11, k12, \ + k00, k02, k03 \ +) { \ + { k00, KC_NO, k02, k03 }, \ + { k10, k11, k12, KC_NO }, \ + { k20, k21, k22, k23 }, \ + { k30, k31, k32, KC_NO }, \ + { k40, k41, k42, k43 }, \ + { KC_NO, KC_NO, k52, k53 } \ +} + +#define LAYOUT_numpad_6x4( \ + k50, k51, k52, k53, \ + k40, k41, k42, k43, \ + k30, k31, k32, \ + k20, k21, k22, k23, \ + k10, k11, k12, \ + k00, k02, k03 \ +) { \ + { k00, KC_NO, k02, k03 }, \ + { k10, k11, k12, KC_NO }, \ + { k20, k21, k22, k23 }, \ + { k30, k31, k32, KC_NO }, \ + { k40, k41, k42, k43 }, \ + { k50, k51, k52, k53 } \ +} + +#define LAYOUT_ortho_6x4( \ + k50, k51, k52, k53, \ + k40, k41, k42, k43, \ + k30, k31, k32, k33, \ + k20, k21, k22, k23, \ + k10, k11, k12, k13, \ + k00, k01, k02, k03 \ +) { \ + { k00, k01, k02, k03 }, \ + { k10, k11, k12, k13 }, \ + { k20, k21, k22, k23 }, \ + { k30, k31, k32, k33 }, \ + { k40, k41, k42, k43 }, \ + { k50, k51, k52, k53 } \ } diff --git a/keyboards/kbdfans/kbdpad/mk1/readme.md b/keyboards/kbdfans/kbdpad/mk1/readme.md index 2424d4d4d6..27194e683f 100644 --- a/keyboards/kbdfans/kbdpad/mk1/readme.md +++ b/keyboards/kbdfans/kbdpad/mk1/readme.md @@ -1,10 +1,10 @@ # KBDPad MKI -Custom numpad. +Custom numpad. The MKI shares the same ATmega32A and matrix layout as the newer V2 PCB (not to be confused with the MKII, which uses an ATmega32U2!). * Keyboard Maintainer: [MechMerlin](https://github.com/mechmerlin) -* Hardware Supported: KBDPad MKI -* Hardware Availability: [KBDfans](https://kbdfans.com/products/kbdfans-pad-custom-mechanical-keyboard-diy-kit) +* Hardware Supported: KBDPad MKI, KBDPad V2 +* Hardware Availability: [KBDfans](https://kbdfans.com/collections/20/products/kbdfans-kbdpad-pcb-v2) Make example for this keyboard (after setting up your build environment): diff --git a/keyboards/kbdfans/kbdpad/mk1/rules.mk b/keyboards/kbdfans/kbdpad/mk1/rules.mk index 6b4c1f6bae..679ac08fa8 100644 --- a/keyboards/kbdfans/kbdpad/mk1/rules.mk +++ b/keyboards/kbdfans/kbdpad/mk1/rules.mk @@ -20,3 +20,5 @@ COMMAND_ENABLE = no BACKLIGHT_ENABLE = yes RGBLIGHT_ENABLE = no # PCB has underglow LEDs, but case doesn't let them show. WS2812_DRIVER = i2c + +LAYOUTS = ortho_6x4 numpad_6x4