summaryrefslogtreecommitdiff
path: root/keyboards/thepanduuh
diff options
context:
space:
mode:
authorThePanduuh <feojoe2@gmail.com>2023-02-18 03:13:06 -0500
committerGitHub <noreply@github.com>2023-02-18 00:13:06 -0800
commit609b23af344e7389503b197ba3594524a2ca8fad (patch)
treea6bbadfa26118a86b51627ed6f1516f301a16fa3 /keyboards/thepanduuh
parent92ea53aeda624b9c5d33a86b24661fbf2e319e89 (diff)
[Keyboard] Add Degenpad (#19812)
Co-authored-by: jack <0x6a73@protonmail.com>
Diffstat (limited to 'keyboards/thepanduuh')
-rw-r--r--keyboards/thepanduuh/degenpad/config.h28
-rw-r--r--keyboards/thepanduuh/degenpad/degenpad.c31
-rw-r--r--keyboards/thepanduuh/degenpad/degenpad.h136
-rw-r--r--keyboards/thepanduuh/degenpad/info.json235
-rw-r--r--keyboards/thepanduuh/degenpad/keymaps/default/keymap.c47
-rw-r--r--keyboards/thepanduuh/degenpad/keymaps/via/keymap.c63
-rw-r--r--keyboards/thepanduuh/degenpad/keymaps/via/rules.mk3
-rw-r--r--keyboards/thepanduuh/degenpad/readme.md24
-rw-r--r--keyboards/thepanduuh/degenpad/rules.mk13
9 files changed, 580 insertions, 0 deletions
diff --git a/keyboards/thepanduuh/degenpad/config.h b/keyboards/thepanduuh/degenpad/config.h
new file mode 100644
index 0000000000..a2a171890d
--- /dev/null
+++ b/keyboards/thepanduuh/degenpad/config.h
@@ -0,0 +1,28 @@
+/*
+Copyright 2023 ThePanduuh <thepanduuh.kb@gmail.com>
+
+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 <http://www.gnu.org/licenses/>.
+*/
+#pragma once
+
+// ROWS: Top to bottom, COLS: Left to right
+
+#define MATRIX_ROW_PINS { D5, D6, D7, B4, B5, B6 }
+#define MATRIX_COL_PINS { F4, F5, B1, D3 }
+
+#define ENCODERS_PAD_A { F1 }
+#define ENCODERS_PAD_B { F0 }
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
diff --git a/keyboards/thepanduuh/degenpad/degenpad.c b/keyboards/thepanduuh/degenpad/degenpad.c
new file mode 100644
index 0000000000..d70c8b8c1a
--- /dev/null
+++ b/keyboards/thepanduuh/degenpad/degenpad.c
@@ -0,0 +1,31 @@
+/*
+Copyright 2023 ThePanduuh <thepanduuh.kb@gmail.com>
+
+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 <http://www.gnu.org/licenses/>.
+*/
+#include "degenpad.h"
+
+#ifdef ENCODER_ENABLE
+bool encoder_update_kb(uint8_t index, bool clockwise) {
+ if (!encoder_update_user(index, clockwise)) { return false; }
+ if (index == 0) {
+ if (clockwise) {
+ tap_code_delay(KC_VOLU, 10);
+ } else {
+ tap_code_delay(KC_VOLD, 10);
+ }
+ }
+ return true;
+}
+#endif
diff --git a/keyboards/thepanduuh/degenpad/degenpad.h b/keyboards/thepanduuh/degenpad/degenpad.h
new file mode 100644
index 0000000000..53f949a79f
--- /dev/null
+++ b/keyboards/thepanduuh/degenpad/degenpad.h
@@ -0,0 +1,136 @@
+/*
+Copyright 2023 ThePanduuh <thepanduuh.kb@gmail.com>
+
+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 <http://www.gnu.org/licenses/>.
+*/
+#pragma once
+
+#include "quantum.h"
+#define LAYOUT_ortho_6x4( \
+ k00, k01, k02, k03, \
+ k10, k11, k12, k13, \
+ k20, k21, k22, k23, \
+ k30, k31, k32, k33, \
+ k40, k41, k42, k43, \
+ k50, k51, k52, k53 \
+) { \
+ {k00, k01, k02, k03}, \
+ {k10, k11, k12, k13}, \
+ {k20, k21, k22, k23}, \
+ {k30, k31, k32, k33}, \
+ {k40, k41, k42, k43}, \
+ {k50, k51, k52, k53} \
+}
+
+#define LAYOUT_numpad_6x4( \
+ k00, k01, k02, k03, \
+ k10, k11, k12, k13, \
+ k20, k21, k22, \
+ k30, k31, k32, k33, \
+ k40, k41, k42, \
+ k51, k52, k53 \
+) \
+{ \
+ {k00, k01, k02, k03}, \
+ {k10, k11, k12, k13}, \
+ {k20, k21, k22, KC_NO}, \
+ {k30, k31, k32, k33}, \
+ {k40, k41, k42, KC_NO}, \
+ {KC_NO, k51, k52, k53} \
+}
+
+#define LAYOUT_split_plus( \
+ k00, k01, k02, k03, \
+ k10, k11, k12, k13, \
+ k20, k21, k22, k23, \
+ k30, k31, k32, k33, \
+ k40, k41, k42, \
+ k51, k52, k53 \
+) \
+{ \
+ {k00, k01, k02, k03}, \
+ {k10, k11, k12, k13}, \
+ {k20, k21, k22, k23}, \
+ {k30, k31, k32, k33}, \
+ {k40, k41, k42, KC_NO}, \
+ {KC_NO, k51, k52, k53} \
+}
+
+#define LAYOUT_split_zero( \
+ k00, k01, k02, k03, \
+ k10, k11, k12, k13, \
+ k20, k21, k22, \
+ k30, k31, k32, k33, \
+ k40, k41, k42, \
+ k50, k51, k52, k53 \
+) \
+{ \
+ {k00, k01, k02, k03}, \
+ {k10, k11, k12, k13}, \
+ {k20, k21, k22, KC_NO}, \
+ {k30, k31, k32, k33}, \
+ {k40, k41, k42, KC_NO}, \
+ {k50, k51, k52, k53} \
+}
+
+#define LAYOUT_split_enter( \
+ k00, k01, k02, k03, \
+ k10, k11, k12, k13, \
+ k20, k21, k22, \
+ k30, k31, k32, k33, \
+ k40, k41, k42, k43, \
+ k51, k52, k53 \
+) \
+{ \
+ {k00, k01, k02, k03}, \
+ {k10, k11, k12, k13}, \
+ {k20, k21, k22, KC_NO}, \
+ {k30, k31, k32, k33}, \
+ {k40, k41, k42, k43}, \
+ {KC_NO, k51, k52, k53} \
+}
+
+#define LAYOUT_split_enter_plus( \
+ k00, k01, k02, k03, \
+ k10, k11, k12, k13, \
+ k20, k21, k22, k23, \
+ k30, k31, k32, k33, \
+ k40, k41, k42, k43, \
+ k51, k52, k53 \
+) \
+{ \
+ {k00, k01, k02, k03}, \
+ {k10, k11, k12, k13}, \
+ {k20, k21, k22, k23}, \
+ {k30, k31, k32, k33}, \
+ {k40, k41, k42, k43}, \
+ {KC_NO, k51, k52, k53} \
+}
+
+#define LAYOUT_split_zero_plus( \
+ k00, k01, k02, k03, \
+ k10, k11, k12, k13, \
+ k20, k21, k22, k23, \
+ k30, k31, k32, k33, \
+ k40, k41, k42, \
+ k50, k51, k52, k53 \
+) \
+{ \
+ {k00, k01, k02, k03}, \
+ {k10, k11, k12, k13}, \
+ {k20, k21, k22, k23}, \
+ {k30, k31, k32, k33}, \
+ {k40, k41, k42, KC_NO}, \
+ {k50, k51, k52, k53} \
+}
diff --git a/keyboards/thepanduuh/degenpad/info.json b/keyboards/thepanduuh/degenpad/info.json
new file mode 100644
index 0000000000..ee19795db3
--- /dev/null
+++ b/keyboards/thepanduuh/degenpad/info.json
@@ -0,0 +1,235 @@
+{
+ "keyboard_name": "Degenpad",
+ "manufacturer": "ThePanduuh",
+ "url": "https://github.com/ThePanduuh",
+ "maintainer": "ThePanduuh",
+ "usb": {
+ "vid": "0x4A44",
+ "pid": "0x4447",
+ "device_version": "1.0.0"
+ },
+ "processor": "atmega32u4",
+ "bootloader": "atmel-dfu",
+ "layouts": {
+ "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}
+ ]
+ },
+ "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_split_plus": {
+ "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": 0, "y": 5.25, "w": 2},
+ {"x": 2, "y": 5.25},
+ {"x": 3, "y": 4.25, "h": 2}
+ ]
+ },
+ "LAYOUT_split_zero": {
+ "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},
+ {"x": 1, "y": 5.25},
+ {"x": 2, "y": 5.25},
+ {"x": 3, "y": 4.25, "h": 2}
+ ]
+ },
+ "LAYOUT_split_enter": {
+ "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": 3, "y": 4.25},
+
+ {"x": 0, "y": 5.25, "w": 2},
+ {"x": 2, "y": 5.25},
+ {"x": 3, "y": 5.25}
+ ]
+ },
+ "LAYOUT_split_enter_plus": {
+ "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, "w": 2},
+ {"x": 2, "y": 5.25},
+ {"x": 3, "y": 5.25}
+ ]
+ },
+ "LAYOUT_split_zero_plus": {
+ "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": 0, "y": 5.25},
+ {"x": 1, "y": 5.25},
+ {"x": 2, "y": 5.25},
+ {"x": 3, "y": 4.25, "h": 2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/thepanduuh/degenpad/keymaps/default/keymap.c b/keyboards/thepanduuh/degenpad/keymaps/default/keymap.c
new file mode 100644
index 0000000000..82b553d104
--- /dev/null
+++ b/keyboards/thepanduuh/degenpad/keymaps/default/keymap.c
@@ -0,0 +1,47 @@
+/*
+Copyright 2023 ThePanduuh <thepanduuh.kb@gmail.com>
+
+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 <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+// Defines names for use in layer keycodes and the keymap
+
+enum layer_names {
+ _BASE,
+ _FN
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [_BASE] = LAYOUT_ortho_6x4(
+ KC_ESC , KC_EQL , KC_BSPC, MO(1) ,
+ KC_NUM , KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7 , KC_P8 , KC_P9 , KC_PPLS,
+ KC_P4 , KC_P5 , KC_P6 , KC_PPLS,
+ KC_P1 , KC_P2 , KC_P3 , KC_PENT,
+ KC_P0 , KC_P0 , KC_PDOT, KC_PENT
+ ),
+
+ [_FN] = LAYOUT_ortho_6x4(
+ KC_TRNS, KC_TRNS, KC_DEL , KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_HOME, KC_UP , KC_PGUP, KC_TRNS,
+ KC_LEFT, KC_TRNS, KC_RGHT, KC_TRNS,
+ KC_END , KC_DOWN, KC_PGDN, QK_BOOT,
+ KC_INS , KC_INS , KC_DEL , QK_BOOT
+ )
+
+};
+
diff --git a/keyboards/thepanduuh/degenpad/keymaps/via/keymap.c b/keyboards/thepanduuh/degenpad/keymaps/via/keymap.c
new file mode 100644
index 0000000000..87b98be5bc
--- /dev/null
+++ b/keyboards/thepanduuh/degenpad/keymaps/via/keymap.c
@@ -0,0 +1,63 @@
+/*
+Copyright 2023 ThePanduuh <thepanduuh.kb@gmail.com>
+
+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 <http://www.gnu.org/licenses/>.
+*/
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ /*Base*/
+ [0] = LAYOUT_ortho_6x4(
+ KC_ESC , KC_EQL , KC_BSPC, MO(1) ,
+ KC_NUM , KC_PSLS, KC_PAST, KC_PMNS,
+ KC_P7 , KC_P8 , KC_P9 , KC_PPLS,
+ KC_P4 , KC_P5 , KC_P6 , KC_PPLS,
+ KC_P1 , KC_P2 , KC_P3 , KC_PENT,
+ KC_P0 , KC_P0 , KC_PDOT, KC_PENT
+ ),
+
+ [1] = LAYOUT_ortho_6x4(
+ KC_TRNS, KC_TRNS, KC_DEL , KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_HOME, KC_UP , KC_PGUP, KC_TRNS,
+ KC_LEFT, KC_TRNS, KC_RGHT, KC_TRNS,
+ KC_END , KC_DOWN, KC_PGDN, QK_BOOT,
+ KC_INS , KC_INS , KC_DEL , QK_BOOT
+ ),
+ [2] = LAYOUT_ortho_6x4(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+ [3] = LAYOUT_ortho_6x4(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
+ [0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
+ [1] = {ENCODER_CCW_CW(KC_NO, KC_NO)},
+ [2] = {ENCODER_CCW_CW(KC_NO, KC_NO)},
+ [3] = {ENCODER_CCW_CW(KC_NO, KC_NO)},
+};
+#endif
diff --git a/keyboards/thepanduuh/degenpad/keymaps/via/rules.mk b/keyboards/thepanduuh/degenpad/keymaps/via/rules.mk
new file mode 100644
index 0000000000..ef4b7ef991
--- /dev/null
+++ b/keyboards/thepanduuh/degenpad/keymaps/via/rules.mk
@@ -0,0 +1,3 @@
+VIA_ENABLE = yes #Enable VIA
+ENCODER_MAP_ENABLE = yes #Encoder Mapping
+LTO_ENABLE = yes #Firmware Size Reduction \ No newline at end of file
diff --git a/keyboards/thepanduuh/degenpad/readme.md b/keyboards/thepanduuh/degenpad/readme.md
new file mode 100644
index 0000000000..2feed8cbcc
--- /dev/null
+++ b/keyboards/thepanduuh/degenpad/readme.md
@@ -0,0 +1,24 @@
+# Degenpad
+
+![Degenpad](https://i.imgur.com/lrlEDMfh.jpg)
+Numberpad created for degenerates with the option for 1 encoder.
+
+* Keyboard maintainer: [ThePanduuh](https://github.com/thepanduuh)
+* Hardware Supported: Degenpad
+* Hardware Availability: private buy
+
+Make example for this keyboard (after setting up your build environment):
+
+ make thepanduuh/degenpad:default
+
+Flashing example for this keyboard:
+
+ make thepanduuh/degenpad: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).
+
+## Bootloader
+Enter the bootloader in 3 ways:
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard.
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead.
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available. \ No newline at end of file
diff --git a/keyboards/thepanduuh/degenpad/rules.mk b/keyboards/thepanduuh/degenpad/rules.mk
new file mode 100644
index 0000000000..39946d6840
--- /dev/null
+++ b/keyboards/thepanduuh/degenpad/rules.mk
@@ -0,0 +1,13 @@
+# Build Options
+# change yes to no to disable
+#
+BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
+MOUSEKEY_ENABLE = no # Mouse keys
+EXTRAKEY_ENABLE = yes # Audio control and System control
+CONSOLE_ENABLE = no # Console for debug
+COMMAND_ENABLE = no # Commands for debug and configuration
+NKRO_ENABLE = no # Enable N-Key Rollover
+BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
+AUDIO_ENABLE = no # Audio output
+ENCODER_ENABLE = yes # Rotary Encoder support