From 4d1b1bc534aeea4252bf25086810ceccff43f19f Mon Sep 17 00:00:00 2001 From: dztech Date: Mon, 5 Dec 2022 02:53:08 +0800 Subject: [Keyboard] add kbdpadmk3 (#18795) Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre --- keyboards/kbdfans/kbdpad/mk3/config.h | 55 ++++++++++++++ keyboards/kbdfans/kbdpad/mk3/info.json | 85 ++++++++++++++++++++++ .../kbdfans/kbdpad/mk3/keymaps/default/keymap.c | 28 +++++++ keyboards/kbdfans/kbdpad/mk3/keymaps/via/keymap.c | 52 +++++++++++++ keyboards/kbdfans/kbdpad/mk3/keymaps/via/rules.mk | 1 + keyboards/kbdfans/kbdpad/mk3/readme.md | 23 ++++++ keyboards/kbdfans/kbdpad/mk3/rules.mk | 1 + 7 files changed, 245 insertions(+) create mode 100644 keyboards/kbdfans/kbdpad/mk3/config.h create mode 100644 keyboards/kbdfans/kbdpad/mk3/info.json create mode 100644 keyboards/kbdfans/kbdpad/mk3/keymaps/default/keymap.c create mode 100644 keyboards/kbdfans/kbdpad/mk3/keymaps/via/keymap.c create mode 100644 keyboards/kbdfans/kbdpad/mk3/keymaps/via/rules.mk create mode 100644 keyboards/kbdfans/kbdpad/mk3/readme.md create mode 100644 keyboards/kbdfans/kbdpad/mk3/rules.mk (limited to 'keyboards/kbdfans/kbdpad') diff --git a/keyboards/kbdfans/kbdpad/mk3/config.h b/keyboards/kbdfans/kbdpad/mk3/config.h new file mode 100644 index 0000000000..16eb12d1f5 --- /dev/null +++ b/keyboards/kbdfans/kbdpad/mk3/config.h @@ -0,0 +1,55 @@ +/* Copyright 2022 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#define RGB_MATRIX_LED_COUNT 21 +#define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_MATRIX_LED_FLUSH_LIMIT 16 +#define RGB_MATRIX_KEYPRESSES +#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_BREATHING +#define ENABLE_RGB_MATRIX_BAND_SAT +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#define ENABLE_RGB_MATRIX_CYCLE_ALL +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +#define ENABLE_RGB_MATRIX_DUAL_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +#define ENABLE_RGB_MATRIX_RAINDROPS +#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#define ENABLE_RGB_MATRIX_HUE_BREATHING +#define ENABLE_RGB_MATRIX_HUE_PENDULUM +#define ENABLE_RGB_MATRIX_HUE_WAVE +#define ENABLE_RGB_MATRIX_PIXEL_RAIN +#define ENABLE_RGB_MATRIX_PIXEL_FLOW +#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +#define ENABLE_RGB_MATRIX_TYPING_HEATMAP +#define ENABLE_RGB_MATRIX_DIGITAL_RAIN +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS +#define ENABLE_RGB_MATRIX_SPLASH +#define ENABLE_RGB_MATRIX_MULTISPLASH +#define ENABLE_RGB_MATRIX_SOLID_SPLASH +#define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_CYCLE_ALL diff --git a/keyboards/kbdfans/kbdpad/mk3/info.json b/keyboards/kbdfans/kbdpad/mk3/info.json new file mode 100644 index 0000000000..2faabc311c --- /dev/null +++ b/keyboards/kbdfans/kbdpad/mk3/info.json @@ -0,0 +1,85 @@ +{ + "manufacturer": "kbdfans", + "keyboard_name": "Kbdpadmk3", + "maintainer": "kbdfans", + "bootloader": "atmel-dfu", + "diode_direction": "COL2ROW", + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": true, + "lto": true, + "mousekey": true, + "nkro": true, + "rgb_matrix": true + }, + "matrix_pins": { + "cols": ["F7", "F6", "D5", "D3"], + "rows": ["F4", "C7", "C6", "B6", "B5", "D7"] + }, + "processor": "atmega32u4", + "rgb_matrix": { + "driver": "WS2812", + "layout": [ + { "flags": 4, "matrix": [0, 0], "x": 0, "y": 0 }, + { "flags": 4, "matrix": [0, 1], "x": 75, "y": 0 }, + { "flags": 4, "matrix": [0, 2], "x": 150, "y": 0 }, + { "flags": 4, "matrix": [0, 3], "x": 224, "y": 0 }, + { "flags": 4, "matrix": [1, 3], "x": 224, "y": 12.8 }, + { "flags": 4, "matrix": [1, 2], "x": 150, "y": 12.8 }, + { "flags": 4, "matrix": [1, 1], "x": 75, "y": 12.8 }, + { "flags": 4, "matrix": [1, 0], "x": 0, "y": 12.8 }, + { "flags": 4, "matrix": [2, 0], "x": 0, "y": 25.6 }, + { "flags": 4, "matrix": [2, 1], "x": 75, "y": 25.6 }, + { "flags": 4, "matrix": [2, 2], "x": 150, "y": 25.6 }, + { "flags": 4, "matrix": [2, 3], "x": 224, "y": 32 }, + { "flags": 4, "matrix": [3, 2], "x": 150, "y": 38.4 }, + { "flags": 4, "matrix": [3, 1], "x": 75, "y": 38.4 }, + { "flags": 4, "matrix": [3, 0], "x": 0, "y": 38.4 }, + { "flags": 4, "matrix": [4, 0], "x": 0, "y": 51.2 }, + { "flags": 4, "matrix": [4, 1], "x": 75, "y": 51.2 }, + { "flags": 4, "matrix": [4, 2], "x": 150, "y": 51.24 }, + { "flags": 4, "matrix": [4, 3], "x": 224, "y": 57.6 }, + { "flags": 4, "matrix": [5, 2], "x": 150, "y": 64 }, + { "flags": 4, "matrix": [5, 0], "x": 37.5, "y": 64 } + ], + "max_brightness": 128 + }, + "rgblight": { + "pin": "F5", + }, + "usb": { + "device_version": "3.0.0", + "pid": "0x0012", + "vid": "0x4B42" + }, + "layouts": { + "LAYOUT_numpad_6x4": { + "layout": [ + { "label": "K00", "matrix": [0, 0], "w": 1, "x": 0, "y": 0 }, + { "label": "K01", "matrix": [0, 1], "w": 1, "x": 1, "y": 0 }, + { "label": "K02", "matrix": [0, 2], "w": 1, "x": 2, "y": 0 }, + { "label": "K03", "matrix": [0, 3], "w": 1, "x": 3, "y": 0 }, + { "label": "K10", "matrix": [1, 0], "w": 1, "x": 0, "y": 1 }, + { "label": "K11", "matrix": [1, 1], "w": 1, "x": 1, "y": 1 }, + { "label": "K12", "matrix": [1, 2], "w": 1, "x": 2, "y": 1 }, + { "label": "K13", "matrix": [1, 3], "w": 1, "x": 3, "y": 1 }, + { "label": "K20", "matrix": [2, 0], "w": 1, "x": 0, "y": 2 }, + { "label": "K21", "matrix": [2, 1], "w": 1, "x": 1, "y": 2 }, + { "label": "K22", "matrix": [2, 2], "w": 1, "x": 2, "y": 2 }, + { "label": "K30", "matrix": [3, 0], "w": 1, "x": 0, "y": 3 }, + { "label": "K31", "matrix": [3, 1], "w": 1, "x": 1, "y": 3 }, + { "label": "K32", "matrix": [3, 2], "w": 1, "x": 2, "y": 3 }, + { "h": 2, "label": "K23", "matrix": [2, 3], "w": 1, "x": 3, "y": 2 }, + { "label": "K40", "matrix": [4, 0], "w": 1, "x": 0, "y": 4 }, + { "label": "K41", "matrix": [4, 1], "w": 1, "x": 1, "y": 4 }, + { "label": "K42", "matrix": [4, 2], "w": 1, "x": 2, "y": 4 }, + { "label": "K50", "matrix": [5, 0], "w": 2, "x": 0, "y": 5 }, + { "label": "K52", "matrix": [5, 2], "w": 1, "x": 2, "y": 5 }, + { "h": 2, "label": "K43", "matrix": [4, 3], "w": 1, "x": 3, "y": 4 } + ] + } + } +} + diff --git a/keyboards/kbdfans/kbdpad/mk3/keymaps/default/keymap.c b/keyboards/kbdfans/kbdpad/mk3/keymaps/default/keymap.c new file mode 100644 index 0000000000..f0d001b26d --- /dev/null +++ b/keyboards/kbdfans/kbdpad/mk3/keymaps/default/keymap.c @@ -0,0 +1,28 @@ +/* Copyright 2022 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_numpad_6x4( /* Base */ + KC_ESC, KC_LCTL, KC_LALT, KC_BSPC, + KC_NUM, 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/mk3/keymaps/via/keymap.c b/keyboards/kbdfans/kbdpad/mk3/keymaps/via/keymap.c new file mode 100644 index 0000000000..66abd100a1 --- /dev/null +++ b/keyboards/kbdfans/kbdpad/mk3/keymaps/via/keymap.c @@ -0,0 +1,52 @@ +/* Copyright 2022 DZTECH + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +#include QMK_KEYBOARD_H + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_numpad_6x4( /* Base */ + KC_ESC, KC_LCTL, KC_LALT, KC_BSPC, + KC_NUM, 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 + ), + [1] = LAYOUT_numpad_6x4( + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), + [2] = LAYOUT_numpad_6x4( + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), + [3] = LAYOUT_numpad_6x4( + _______, _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), +}; diff --git a/keyboards/kbdfans/kbdpad/mk3/keymaps/via/rules.mk b/keyboards/kbdfans/kbdpad/mk3/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/kbdfans/kbdpad/mk3/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/kbdfans/kbdpad/mk3/readme.md b/keyboards/kbdfans/kbdpad/mk3/readme.md new file mode 100644 index 0000000000..c79c574ebb --- /dev/null +++ b/keyboards/kbdfans/kbdpad/mk3/readme.md @@ -0,0 +1,23 @@ +# KBDPAD MK3 + +An RGB hotswap 21key numpad. + +* Keyboard Maintainer: [moyi4681](https://github.com/moyi4681) +* Hardware Supported: KBDFANS +* Hardware Availability: [kbdfans](https://kbdfans.myshopify.com/) + + +## Bootloader + +Enter the bootloader in 3 ways: + +* **Bootmagic reset**: Hold down the key at (0,0) in the matrix +* **Physical reset button**: Briefly press the button on the back of the PCB +* **Keycode in layout**: Press the key mapped to `RESET` if it is available + + +Make example for this keyboard (after setting up your build environment): + + make kbdfans/kbdpad/mk3:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/kbdfans/kbdpad/mk3/rules.mk b/keyboards/kbdfans/kbdpad/mk3/rules.mk new file mode 100644 index 0000000000..6e7633bfe0 --- /dev/null +++ b/keyboards/kbdfans/kbdpad/mk3/rules.mk @@ -0,0 +1 @@ +# This file intentionally left blank -- cgit v1.2.3