Community layout support for KBDpad Mk.I (#9220)
* Community layout support for KBDpad Mk.I * Matching spacing
This commit is contained in:
		
							parent
							
								
									cb9be8a9dc
								
							
						
					
					
						commit
						13206b2f87
					
				
					 5 changed files with 159 additions and 35 deletions
				
			
		| 
						 | 
				
			
			@ -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}
 | 
			
		||||
            ]
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
    )
 | 
			
		||||
};
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -13,26 +13,59 @@
 | 
			
		|||
 * You should have received a copy of the GNU General Public License
 | 
			
		||||
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#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 } \
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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):
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue