From b7c6d6d79faddf06e0d3471ad7cbcbd2a98a2e5e Mon Sep 17 00:00:00 2001 From: jels <66403163+Jels02@users.noreply.github.com> Date: Sun, 13 Nov 2022 08:56:21 +1000 Subject: [PATCH] [Keyboard] Add pumpkin pad (#18897) Co-authored-by: Joel Challis Co-authored-by: Drashna Jaelre --- keyboards/laser_ninja/pumpkin_pad/config.h | 60 ++++++++++++++ keyboards/laser_ninja/pumpkin_pad/info.json | 78 +++++++++++++++++++ .../pumpkin_pad/keymaps/default/keymap.c | 31 ++++++++ .../pumpkin_pad/keymaps/via/keymap.c | 41 ++++++++++ .../pumpkin_pad/keymaps/via/rules.mk | 1 + keyboards/laser_ninja/pumpkin_pad/readme.md | 23 ++++++ keyboards/laser_ninja/pumpkin_pad/rules.mk | 1 + 7 files changed, 235 insertions(+) create mode 100644 keyboards/laser_ninja/pumpkin_pad/config.h create mode 100644 keyboards/laser_ninja/pumpkin_pad/info.json create mode 100644 keyboards/laser_ninja/pumpkin_pad/keymaps/default/keymap.c create mode 100644 keyboards/laser_ninja/pumpkin_pad/keymaps/via/keymap.c create mode 100644 keyboards/laser_ninja/pumpkin_pad/keymaps/via/rules.mk create mode 100644 keyboards/laser_ninja/pumpkin_pad/readme.md create mode 100644 keyboards/laser_ninja/pumpkin_pad/rules.mk diff --git a/keyboards/laser_ninja/pumpkin_pad/config.h b/keyboards/laser_ninja/pumpkin_pad/config.h new file mode 100644 index 0000000000..926d8788c1 --- /dev/null +++ b/keyboards/laser_ninja/pumpkin_pad/config.h @@ -0,0 +1,60 @@ +/* Copyright 2022 Joah Nelson (Jels) + * + * 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 + +#include "config_common.h" + +#ifdef RGB_MATRIX_ENABLE +# define RGB_DI_PIN A10 +# define RGBLED_NUM 28 +# define DRIVER_LED_TOTAL RGBLED_NUM +# define BACKLIGHT_LIMIT_VAL 200 +# define ENABLE_RGB_MATRIX_ALPHAS_MODS +# 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_VAL +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +# 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_OUT_IN +# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +# 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_FRACTAL +# define ENABLE_RGB_MATRIX_PIXEL_FLOW +# define ENABLE_RGB_MATRIX_PIXEL_RAIN +#endif + +/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ +#define LOCKING_SUPPORT_ENABLE +/* Locking resynchronize hack */ +#define LOCKING_RESYNC_ENABLE diff --git a/keyboards/laser_ninja/pumpkin_pad/info.json b/keyboards/laser_ninja/pumpkin_pad/info.json new file mode 100644 index 0000000000..cf37ffd9a5 --- /dev/null +++ b/keyboards/laser_ninja/pumpkin_pad/info.json @@ -0,0 +1,78 @@ +{ + "keyboard_name": "Pumpkin Pad", + "manufacturer": "Laser Ninja", + "url": "", + "maintainer": "Jels", + "processor": "STM32F072", + "bootloader": "stm32-dfu", + "debounce": 5, + "features": { + "bootmagic": true, + "command": false, + "console": false, + "extrakey": false, + "mousekey": false, + "nkro": false, + "rgb_matrix": true + }, + "matrix_pins": { + "direct": [ + ["A9", "B3", "B9", "NO_PIN"], + ["A8", "B12", "A2", "A1"], + ["B15", "B14", "B13", "NO_PIN"] + ] + }, + "usb": { + "vid": "0x6C6E", + "pid": "0x7070", + "device_version": "0.0.1" + }, + "layouts": { + "LAYOUT": { + "layout": [ + { "matrix": [0, 0], "x": 0.5, "y": 0 }, + { "matrix": [0, 1], "x": 1.5, "y": 0 }, + { "matrix": [0, 2], "x": 2.5, "y": 0 }, + { "matrix": [1, 0], "x": 0, "y": 1 }, + { "matrix": [1, 1], "x": 1, "y": 1 }, + { "matrix": [1, 2], "x": 2, "y": 1 }, + { "matrix": [1, 3], "x": 3, "y": 1 }, + { "matrix": [2, 0], "x": 0.5, "y": 2 }, + { "matrix": [2, 1], "x": 1.5, "y": 2 }, + { "matrix": [2, 2], "x": 2.5, "y": 2 } + ] + } + }, + "rgb_matrix": { + "driver": "WS2812", + "layout": [ + { "flags": 2, "x": 36, "y": 3 }, + { "flags": 2, "x": 86, "y": 2 }, + { "flags": 2, "x": 138, "y": 2 }, + { "flags": 2, "x": 188, "y": 2 }, + { "flags": 2, "x": 215, "y": 16 }, + { "flags": 2, "x": 215, "y": 16 }, + { "flags": 4, "matrix": [0, 2], "x": 167, "y": 17 }, + { "flags": 4, "matrix": [0, 1], "x": 112, "y": 17 }, + { "flags": 4, "matrix": [0, 0], "x": 57, "y": 17 }, + { "flags": 2, "x": 9, "y": 15 }, + { "flags": 2, "x": 9, "y": 15 }, + { "flags": 2, "x": 6, "y": 34 }, + { "flags": 2, "x": 9, "y": 48 }, + { "flags": 2, "x": 9, "y": 48 }, + { "flags": 4, "matrix": [1, 0], "x": 29, "y": 38 }, + { "flags": 4, "matrix": [1, 1], "x": 84, "y": 38 }, + { "flags": 4, "matrix": [1, 2], "x": 140, "y": 38 }, + { "flags": 2, "x": 218, "y": 34 }, + { "flags": 2, "x": 215, "y": 48 }, + { "flags": 2, "x": 215, "y": 48 }, + { "flags": 2, "x": 188, "y": 61 }, + { "flags": 4, "matrix": [2, 2], "x": 167, "y": 59 }, + { "flags": 2, "x": 138, "y": 61 }, + { "flags": 4, "matrix": [2, 1], "x": 112, "y": 59 }, + { "flags": 2, "x": 86, "y": 61 }, + { "flags": 4, "matrix": [2, 0], "x": 57, "y": 59 }, + { "flags": 2, "x": 36, "y": 61 } + ] + } +} diff --git a/keyboards/laser_ninja/pumpkin_pad/keymaps/default/keymap.c b/keyboards/laser_ninja/pumpkin_pad/keymaps/default/keymap.c new file mode 100644 index 0000000000..8b60519b90 --- /dev/null +++ b/keyboards/laser_ninja/pumpkin_pad/keymaps/default/keymap.c @@ -0,0 +1,31 @@ + /* Copyright 2022 Joah Nelson (Jels) + * + * 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( + KC_F1, KC_F2, KC_F3, + KC_F4, KC_F5, KC_F6, KC_F7, + KC_F8, MO(1), KC_F10 +), +[1] = LAYOUT( + RGB_TOG, RGB_MOD, RGB_RMOD, + RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, + RGB_VAI, RGB_VAD, _______ +) +}; diff --git a/keyboards/laser_ninja/pumpkin_pad/keymaps/via/keymap.c b/keyboards/laser_ninja/pumpkin_pad/keymaps/via/keymap.c new file mode 100644 index 0000000000..a63a5a0047 --- /dev/null +++ b/keyboards/laser_ninja/pumpkin_pad/keymaps/via/keymap.c @@ -0,0 +1,41 @@ + /* Copyright 2022 Joah Nelson (Jels) + * + * 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( + KC_F1, KC_F2, KC_F3, + KC_F4, KC_F5, KC_F6, KC_F7, + KC_F8, MO(1), KC_F10 +), +[1] = LAYOUT( + RGB_TOG, RGB_MOD, RGB_RMOD, + RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, + RGB_VAI, RGB_VAD, _______ +), +[2] = LAYOUT( + _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______ +), +[3] = LAYOUT( + _______, _______, _______, + _______, _______, _______, _______, + _______, _______, _______ +) +}; diff --git a/keyboards/laser_ninja/pumpkin_pad/keymaps/via/rules.mk b/keyboards/laser_ninja/pumpkin_pad/keymaps/via/rules.mk new file mode 100644 index 0000000000..1e5b99807c --- /dev/null +++ b/keyboards/laser_ninja/pumpkin_pad/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes diff --git a/keyboards/laser_ninja/pumpkin_pad/readme.md b/keyboards/laser_ninja/pumpkin_pad/readme.md new file mode 100644 index 0000000000..452f4f6723 --- /dev/null +++ b/keyboards/laser_ninja/pumpkin_pad/readme.md @@ -0,0 +1,23 @@ +# Pumpkin Pad + +![pumpkin-pad](https://i.imgur.com/jFkl9rwh.jpg) + +A 60% PCB + +- Keyboard Maintainer: [Jels](https://github.com/Jels02) +- Hardware Supported: Pumpkin Pad PCB +- Hardware Availabililty: [Laser_Ninja](https://kennui.com/w/Laser_Ninja) + +Make example for this keyboard (after setting up your build environment): + + make laser_ninja/pumpkin_pad:default + +Flashing example for this keyboard: + + make laser_ninja/pumpkin_pad:default:flash + +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). + +- **Bootmagic reset**: Hold down the top left key and plug in the keyboard +- **Physical reset button**: Briefly press the button on the back of the PCB +- **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available diff --git a/keyboards/laser_ninja/pumpkin_pad/rules.mk b/keyboards/laser_ninja/pumpkin_pad/rules.mk new file mode 100644 index 0000000000..08a1c1568c --- /dev/null +++ b/keyboards/laser_ninja/pumpkin_pad/rules.mk @@ -0,0 +1 @@ +# This file is intentionally left blank.