summary refs log tree commit diff
diff options
context:
space:
mode:
authorCallum Hart <mini-ninja-64@users.noreply.github.com>2021-05-16 23:33:46 +0100
committerGitHub <noreply@github.com>2021-05-16 15:33:46 -0700
commit3e1fa8cd319bccfaa666c63f1741b2bbabf27b78 (patch)
tree523d4ef0fb332bf1c00e9710e3e714ff12af8d9a
parent29e35d83b7db08b5e705775064db07c410e1aaad (diff)
[Keyboard] Giant macro pad (#12905)
-rwxr-xr-xkeyboards/cutie_club/giant_macro_pad/config.h48
-rwxr-xr-xkeyboards/cutie_club/giant_macro_pad/giant_macro_pad.c17
-rwxr-xr-xkeyboards/cutie_club/giant_macro_pad/giant_macro_pad.h72
-rwxr-xr-xkeyboards/cutie_club/giant_macro_pad/keymaps/default/keymap.c453
-rwxr-xr-xkeyboards/cutie_club/giant_macro_pad/keymaps/via/config.h19
-rwxr-xr-xkeyboards/cutie_club/giant_macro_pad/keymaps/via/keymap.c43
-rwxr-xr-xkeyboards/cutie_club/giant_macro_pad/keymaps/via/rules.mk1
-rwxr-xr-xkeyboards/cutie_club/giant_macro_pad/readme.md13
-rwxr-xr-xkeyboards/cutie_club/giant_macro_pad/rules.mk19
9 files changed, 685 insertions, 0 deletions
diff --git a/keyboards/cutie_club/giant_macro_pad/config.h b/keyboards/cutie_club/giant_macro_pad/config.h
new file mode 100755
index 0000000000..c6ef81309d
--- /dev/null
+++ b/keyboards/cutie_club/giant_macro_pad/config.h
@@ -0,0 +1,48 @@
+/* Copyright 2021 Cutie Club
+ *
+ * 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 "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID 0xFB9C
+#define PRODUCT_ID 0x74B6
+#define DEVICE_VER 0x0001
+#define MANUFACTURER Cutie Club
+#define PRODUCT Cupar19 Giant Macro Pad
+
+/* key matrix size */
+#define MATRIX_ROWS 20
+#define MATRIX_COLS 20
+
+/*
+ * Keyboard Matrix Assignments
+ */
+#define MATRIX_ROW_PINS { C10, C11, C12, D2,  B3,  B4,  B5,  B6,  B7,  B8,  A3,  B2,  B1,  B0,  C5,  C4,  A7,  A6,  A5,  A4 }
+#define MATRIX_COL_PINS { C9,  C8,  C7,  C6,  B15, B14, B13, B12, A8,  A15, B9,  A2,  A1,  A0,  C3,  C2,  C1,  C0,  F1,  F0 }
+#define UNUSED_PINS
+
+/* COL2ROW, ROW2COL*/
+#define DIODE_DIRECTION COL2ROW
+
+/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
+#define DEBOUNCE 5
+
+/* 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/cutie_club/giant_macro_pad/giant_macro_pad.c b/keyboards/cutie_club/giant_macro_pad/giant_macro_pad.c
new file mode 100755
index 0000000000..934817aca2
--- /dev/null
+++ b/keyboards/cutie_club/giant_macro_pad/giant_macro_pad.c
@@ -0,0 +1,17 @@
+/* Copyright 2021 Cutie Club
+ *
+ * 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 "giant_macro_pad.h"
diff --git a/keyboards/cutie_club/giant_macro_pad/giant_macro_pad.h b/keyboards/cutie_club/giant_macro_pad/giant_macro_pad.h
new file mode 100755
index 0000000000..8e0b612f3c
--- /dev/null
+++ b/keyboards/cutie_club/giant_macro_pad/giant_macro_pad.h
@@ -0,0 +1,72 @@
+/* Copyright 2021 Cutie Club
+ *
+ * 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"
+
+/* This is a shortcut to help you visually see your layout.
+ *
+ * The first section contains all of the arguments representing the physical
+ * layout of the board and position of the keys.
+ *
+ * The second converts the arguments into a two-dimensional array which
+ * represents the switch matrix.
+ */
+#define LAYOUT_all( \
+    k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14, k00_15, k00_16, k00_17, k00_18, k00_19, \
+    k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, k01_14, k01_15, k01_16, k01_17, k01_18, k01_19, \
+    k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, k02_13, k02_14, k02_15, k02_16, k02_17, k02_18, k02_19, \
+    k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, k03_13, k03_14, k03_15, k03_16, k03_17, k03_18, k03_19, \
+    k04_00, k04_01, k04_02, k04_03, k04_04, k04_05, k04_06, k04_07, k04_08, k04_09, k04_10, k04_11, k04_12, k04_13, k04_14, k04_15, k04_16, k04_17, k04_18, k04_19, \
+    k05_00, k05_01, k05_02, k05_03, k05_04, k05_05, k05_06, k05_07, k05_08, k05_09, k05_10, k05_11, k05_12, k05_13, k05_14, k05_15, k05_16, k05_17, k05_18, k05_19, \
+    k06_00, k06_01, k06_02, k06_03, k06_04, k06_05, k06_06, k06_07, k06_08, k06_09, k06_10, k06_11, k06_12, k06_13, k06_14, k06_15, k06_16, k06_17, k06_18, k06_19, \
+    k07_00, k07_01, k07_02, k07_03, k07_04, k07_05, k07_06, k07_07, k07_08, k07_09, k07_10, k07_11, k07_12, k07_13, k07_14, k07_15, k07_16, k07_17, k07_18, k07_19, \
+    k08_00, k08_01, k08_02, k08_03, k08_04, k08_05, k08_06, k08_07, k08_08, k08_09, k08_10, k08_11, k08_12, k08_13, k08_14, k08_15, k08_16, k08_17, k08_18, k08_19, \
+    k09_00, k09_01, k09_02, k09_03, k09_04, k09_05, k09_06, k09_07, k09_08, k09_09, k09_10, k09_11, k09_12, k09_13, k09_14, k09_15, k09_16, k09_17, k09_18, k09_19, \
+    k10_00, k10_01, k10_02, k10_03, k10_04, k10_05, k10_06, k10_07, k10_08, k10_09, k10_10, k10_11, k10_12, k10_13, k10_14, k10_15, k10_16, k10_17, k10_18, k10_19, \
+    k11_00, k11_01, k11_02, k11_03, k11_04, k11_05, k11_06, k11_07, k11_08, k11_09, k11_10, k11_11, k11_12, k11_13, k11_14, k11_15, k11_16, k11_17, k11_18, k11_19, \
+    k12_00, k12_01, k12_02, k12_03, k12_04, k12_05, k12_06, k12_07, k12_08, k12_09, k12_10, k12_11, k12_12, k12_13, k12_14, k12_15, k12_16, k12_17, k12_18, k12_19, \
+    k13_00, k13_01, k13_02, k13_03, k13_04, k13_05, k13_06, k13_07, k13_08, k13_09, k13_10, k13_11, k13_12, k13_13, k13_14, k13_15, k13_16, k13_17, k13_18, k13_19, \
+    k14_00, k14_01, k14_02, k14_03, k14_04, k14_05, k14_06, k14_07, k14_08, k14_09, k14_10, k14_11, k14_12, k14_13, k14_14, k14_15, k14_16, k14_17, k14_18, k14_19, \
+    k15_00, k15_01, k15_02, k15_03, k15_04, k15_05, k15_06, k15_07, k15_08, k15_09, k15_10, k15_11, k15_12, k15_13, k15_14, k15_15, k15_16, k15_17, k15_18, k15_19, \
+    k16_00, k16_01, k16_02, k16_03, k16_04, k16_05, k16_06, k16_07, k16_08, k16_09, k16_10, k16_11, k16_12, k16_13, k16_14, k16_15, k16_16, k16_17, k16_18, k16_19, \
+    k17_00, k17_01, k17_02, k17_03, k17_04, k17_05, k17_06, k17_07, k17_08, k17_09, k17_10, k17_11, k17_12, k17_13, k17_14, k17_15, k17_16, k17_17, k17_18, k17_19, \
+    k18_00, k18_01, k18_02, k18_03, k18_04, k18_05, k18_06, k18_07, k18_08, k18_09, k18_10, k18_11, k18_12, k18_13, k18_14, k18_15, k18_16, k18_17, k18_18, k18_19, \
+    k19_00, k19_01, k19_02, k19_03, k19_04, k19_05, k19_06, k19_07, k19_08, k19_09, k19_10, k19_11, k19_12, k19_13, k19_14, k19_15, k19_16, k19_17, k19_18, k19_19 \
+) \
+{ \
+    { k00_00, k00_01, k00_02, k00_03, k00_04, k00_05, k00_06, k00_07, k00_08, k00_09, k00_10, k00_11, k00_12, k00_13, k00_14, k00_15, k00_16, k00_17, k00_18, k00_19 }, \
+    { k01_00, k01_01, k01_02, k01_03, k01_04, k01_05, k01_06, k01_07, k01_08, k01_09, k01_10, k01_11, k01_12, k01_13, k01_14, k01_15, k01_16, k01_17, k01_18, k01_19 }, \
+    { k02_00, k02_01, k02_02, k02_03, k02_04, k02_05, k02_06, k02_07, k02_08, k02_09, k02_10, k02_11, k02_12, k02_13, k02_14, k02_15, k02_16, k02_17, k02_18, k02_19 }, \
+    { k03_00, k03_01, k03_02, k03_03, k03_04, k03_05, k03_06, k03_07, k03_08, k03_09, k03_10, k03_11, k03_12, k03_13, k03_14, k03_15, k03_16, k03_17, k03_18, k03_19 }, \
+    { k04_00, k04_01, k04_02, k04_03, k04_04, k04_05, k04_06, k04_07, k04_08, k04_09, k04_10, k04_11, k04_12, k04_13, k04_14, k04_15, k04_16, k04_17, k04_18, k04_19 }, \
+    { k05_00, k05_01, k05_02, k05_03, k05_04, k05_05, k05_06, k05_07, k05_08, k05_09, k05_10, k05_11, k05_12, k05_13, k05_14, k05_15, k05_16, k05_17, k05_18, k05_19 }, \
+    { k06_00, k06_01, k06_02, k06_03, k06_04, k06_05, k06_06, k06_07, k06_08, k06_09, k06_10, k06_11, k06_12, k06_13, k06_14, k06_15, k06_16, k06_17, k06_18, k06_19 }, \
+    { k07_00, k07_01, k07_02, k07_03, k07_04, k07_05, k07_06, k07_07, k07_08, k07_09, k07_10, k07_11, k07_12, k07_13, k07_14, k07_15, k07_16, k07_17, k07_18, k07_19 }, \
+    { k08_00, k08_01, k08_02, k08_03, k08_04, k08_05, k08_06, k08_07, k08_08, k08_09, k08_10, k08_11, k08_12, k08_13, k08_14, k08_15, k08_16, k08_17, k08_18, k08_19 }, \
+    { k09_00, k09_01, k09_02, k09_03, k09_04, k09_05, k09_06, k09_07, k09_08, k09_09, k09_10, k09_11, k09_12, k09_13, k09_14, k09_15, k09_16, k09_17, k09_18, k09_19 }, \
+    { k10_00, k10_01, k10_02, k10_03, k10_04, k10_05, k10_06, k10_07, k10_08, k10_09, k10_10, k10_11, k10_12, k10_13, k10_14, k10_15, k10_16, k10_17, k10_18, k10_19 }, \
+    { k11_00, k11_01, k11_02, k11_03, k11_04, k11_05, k11_06, k11_07, k11_08, k11_09, k11_10, k11_11, k11_12, k11_13, k11_14, k11_15, k11_16, k11_17, k11_18, k11_19 }, \
+    { k12_00, k12_01, k12_02, k12_03, k12_04, k12_05, k12_06, k12_07, k12_08, k12_09, k12_10, k12_11, k12_12, k12_13, k12_14, k12_15, k12_16, k12_17, k12_18, k12_19 }, \
+    { k13_00, k13_01, k13_02, k13_03, k13_04, k13_05, k13_06, k13_07, k13_08, k13_09, k13_10, k13_11, k13_12, k13_13, k13_14, k13_15, k13_16, k13_17, k13_18, k13_19 }, \
+    { k14_00, k14_01, k14_02, k14_03, k14_04, k14_05, k14_06, k14_07, k14_08, k14_09, k14_10, k14_11, k14_12, k14_13, k14_14, k14_15, k14_16, k14_17, k14_18, k14_19 }, \
+    { k15_00, k15_01, k15_02, k15_03, k15_04, k15_05, k15_06, k15_07, k15_08, k15_09, k15_10, k15_11, k15_12, k15_13, k15_14, k15_15, k15_16, k15_17, k15_18, k15_19 }, \
+    { k16_00, k16_01, k16_02, k16_03, k16_04, k16_05, k16_06, k16_07, k16_08, k16_09, k16_10, k16_11, k16_12, k16_13, k16_14, k16_15, k16_16, k16_17, k16_18, k16_19 }, \
+    { k17_00, k17_01, k17_02, k17_03, k17_04, k17_05, k17_06, k17_07, k17_08, k17_09, k17_10, k17_11, k17_12, k17_13, k17_14, k17_15, k17_16, k17_17, k17_18, k17_19 }, \
+    { k18_00, k18_01, k18_02, k18_03, k18_04, k18_05, k18_06, k18_07, k18_08, k18_09, k18_10, k18_11, k18_12, k18_13, k18_14, k18_15, k18_16, k18_17, k18_18, k18_19 }, \
+    { k19_00, k19_01, k19_02, k19_03, k19_04, k19_05, k19_06, k19_07, k19_08, k19_09, k19_10, k19_11, k19_12, k19_13, k19_14, k19_15, k19_16, k19_17, k19_18, k19_19 }  \
+}
diff --git a/keyboards/cutie_club/giant_macro_pad/keymaps/default/keymap.c b/keyboards/cutie_club/giant_macro_pad/keymaps/default/keymap.c
new file mode 100755
index 0000000000..2db71e990c
--- /dev/null
+++ b/keyboards/cutie_club/giant_macro_pad/keymaps/default/keymap.c
@@ -0,0 +1,453 @@
+/* Copyright 2021 Cutie Club
+ *
+ * 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
+
+enum custom_keycodes {
+    NUM_0 = 0,
+    NUM_1,
+    NUM_2,
+    NUM_3,
+    NUM_4,
+    NUM_5,
+    NUM_6,
+    NUM_7,
+    NUM_8,
+    NUM_9,
+    NUM_10,
+    NUM_11,
+    NUM_12,
+    NUM_13,
+    NUM_14,
+    NUM_15,
+    NUM_16,
+    NUM_17,
+    NUM_18,
+    NUM_19,
+    NUM_20,
+    NUM_21,
+    NUM_22,
+    NUM_23,
+    NUM_24,
+    NUM_25,
+    NUM_26,
+    NUM_27,
+    NUM_28,
+    NUM_29,
+    NUM_30,
+    NUM_31,
+    NUM_32,
+    NUM_33,
+    NUM_34,
+    NUM_35,
+    NUM_36,
+    NUM_37,
+    NUM_38,
+    NUM_39,
+    NUM_40,
+    NUM_41,
+    NUM_42,
+    NUM_43,
+    NUM_44,
+    NUM_45,
+    NUM_46,
+    NUM_47,
+    NUM_48,
+    NUM_49,
+    NUM_50,
+    NUM_51,
+    NUM_52,
+    NUM_53,
+    NUM_54,
+    NUM_55,
+    NUM_56,
+    NUM_57,
+    NUM_58,
+    NUM_59,
+    NUM_60,
+    NUM_61,
+    NUM_62,
+    NUM_63,
+    NUM_64,
+    NUM_65,
+    NUM_66,
+    NUM_67,
+    NUM_68,
+    NUM_69,
+    NUM_70,
+    NUM_71,
+    NUM_72,
+    NUM_73,
+    NUM_74,
+    NUM_75,
+    NUM_76,
+    NUM_77,
+    NUM_78,
+    NUM_79,
+    NUM_80,
+    NUM_81,
+    NUM_82,
+    NUM_83,
+    NUM_84,
+    NUM_85,
+    NUM_86,
+    NUM_87,
+    NUM_88,
+    NUM_89,
+    NUM_90,
+    NUM_91,
+    NUM_92,
+    NUM_93,
+    NUM_94,
+    NUM_95,
+    NUM_96,
+    NUM_97,
+    NUM_98,
+    NUM_99,
+    NUM_100,
+    NUM_101,
+    NUM_102,
+    NUM_103,
+    NUM_104,
+    NUM_105,
+    NUM_106,
+    NUM_107,
+    NUM_108,
+    NUM_109,
+    NUM_110,
+    NUM_111,
+    NUM_112,
+    NUM_113,
+    NUM_114,
+    NUM_115,
+    NUM_116,
+    NUM_117,
+    NUM_118,
+    NUM_119,
+    NUM_120,
+    NUM_121,
+    NUM_122,
+    NUM_123,
+    NUM_124,
+    NUM_125,
+    NUM_126,
+    NUM_127,
+    NUM_128,
+    NUM_129,
+    NUM_130,
+    NUM_131,
+    NUM_132,
+    NUM_133,
+    NUM_134,
+    NUM_135,
+    NUM_136,
+    NUM_137,
+    NUM_138,
+    NUM_139,
+    NUM_140,
+    NUM_141,
+    NUM_142,
+    NUM_143,
+    NUM_144,
+    NUM_145,
+    NUM_146,
+    NUM_147,
+    NUM_148,
+    NUM_149,
+    NUM_150,
+    NUM_151,
+    NUM_152,
+    NUM_153,
+    NUM_154,
+    NUM_155,
+    NUM_156,
+    NUM_157,
+    NUM_158,
+    NUM_159,
+    NUM_160,
+    NUM_161,
+    NUM_162,
+    NUM_163,
+    NUM_164,
+    NUM_165,
+    NUM_166,
+    NUM_167,
+    NUM_168,
+    NUM_169,
+    NUM_170,
+    NUM_171,
+    NUM_172,
+    NUM_173,
+    NUM_174,
+    NUM_175,
+    NUM_176,
+    NUM_177,
+    NUM_178,
+    NUM_179,
+    NUM_180,
+    NUM_181,
+    NUM_182,
+    NUM_183,
+    NUM_184,
+    NUM_185,
+    NUM_186,
+    NUM_187,
+    NUM_188,
+    NUM_189,
+    NUM_190,
+    NUM_191,
+    NUM_192,
+    NUM_193,
+    NUM_194,
+    NUM_195,
+    NUM_196,
+    NUM_197,
+    NUM_198,
+    NUM_199,
+    NUM_200,
+    NUM_201,
+    NUM_202,
+    NUM_203,
+    NUM_204,
+    NUM_205,
+    NUM_206,
+    NUM_207,
+    NUM_208,
+    NUM_209,
+    NUM_210,
+    NUM_211,
+    NUM_212,
+    NUM_213,
+    NUM_214,
+    NUM_215,
+    NUM_216,
+    NUM_217,
+    NUM_218,
+    NUM_219,
+    NUM_220,
+    NUM_221,
+    NUM_222,
+    NUM_223,
+    NUM_224,
+    NUM_225,
+    NUM_226,
+    NUM_227,
+    NUM_228,
+    NUM_229,
+    NUM_230,
+    NUM_231,
+    NUM_232,
+    NUM_233,
+    NUM_234,
+    NUM_235,
+    NUM_236,
+    NUM_237,
+    NUM_238,
+    NUM_239,
+    NUM_240,
+    NUM_241,
+    NUM_242,
+    NUM_243,
+    NUM_244,
+    NUM_245,
+    NUM_246,
+    NUM_247,
+    NUM_248,
+    NUM_249,
+    NUM_250,
+    NUM_251,
+    NUM_252,
+    NUM_253,
+    NUM_254,
+    NUM_255,
+    NUM_256,
+    NUM_257,
+    NUM_258,
+    NUM_259,
+    NUM_260,
+    NUM_261,
+    NUM_262,
+    NUM_263,
+    NUM_264,
+    NUM_265,
+    NUM_266,
+    NUM_267,
+    NUM_268,
+    NUM_269,
+    NUM_270,
+    NUM_271,
+    NUM_272,
+    NUM_273,
+    NUM_274,
+    NUM_275,
+    NUM_276,
+    NUM_277,
+    NUM_278,
+    NUM_279,
+    NUM_280,
+    NUM_281,
+    NUM_282,
+    NUM_283,
+    NUM_284,
+    NUM_285,
+    NUM_286,
+    NUM_287,
+    NUM_288,
+    NUM_289,
+    NUM_290,
+    NUM_291,
+    NUM_292,
+    NUM_293,
+    NUM_294,
+    NUM_295,
+    NUM_296,
+    NUM_297,
+    NUM_298,
+    NUM_299,
+    NUM_300,
+    NUM_301,
+    NUM_302,
+    NUM_303,
+    NUM_304,
+    NUM_305,
+    NUM_306,
+    NUM_307,
+    NUM_308,
+    NUM_309,
+    NUM_310,
+    NUM_311,
+    NUM_312,
+    NUM_313,
+    NUM_314,
+    NUM_315,
+    NUM_316,
+    NUM_317,
+    NUM_318,
+    NUM_319,
+    NUM_320,
+    NUM_321,
+    NUM_322,
+    NUM_323,
+    NUM_324,
+    NUM_325,
+    NUM_326,
+    NUM_327,
+    NUM_328,
+    NUM_329,
+    NUM_330,
+    NUM_331,
+    NUM_332,
+    NUM_333,
+    NUM_334,
+    NUM_335,
+    NUM_336,
+    NUM_337,
+    NUM_338,
+    NUM_339,
+    NUM_340,
+    NUM_341,
+    NUM_342,
+    NUM_343,
+    NUM_344,
+    NUM_345,
+    NUM_346,
+    NUM_347,
+    NUM_348,
+    NUM_349,
+    NUM_350,
+    NUM_351,
+    NUM_352,
+    NUM_353,
+    NUM_354,
+    NUM_355,
+    NUM_356,
+    NUM_357,
+    NUM_358,
+    NUM_359,
+    NUM_360,
+    NUM_361,
+    NUM_362,
+    NUM_363,
+    NUM_364,
+    NUM_365,
+    NUM_366,
+    NUM_367,
+    NUM_368,
+    NUM_369,
+    NUM_370,
+    NUM_371,
+    NUM_372,
+    NUM_373,
+    NUM_374,
+    NUM_375,
+    NUM_376,
+    NUM_377,
+    NUM_378,
+    NUM_379,
+    NUM_380,
+    NUM_381,
+    NUM_382,
+    NUM_383,
+    NUM_384,
+    NUM_385,
+    NUM_386,
+    NUM_387,
+    NUM_388,
+    NUM_389,
+    NUM_390,
+    NUM_391,
+    NUM_392,
+    NUM_393,
+    NUM_394,
+    NUM_395,
+    NUM_396,
+    NUM_397,
+    NUM_398,
+    NUM_399,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+    /* Base */
+    [0] = LAYOUT_all(
+        NUM_0,  NUM_1,  NUM_2,  NUM_3,  NUM_4,  NUM_5,  NUM_6,  NUM_7,  NUM_8,  NUM_9,  NUM_10, NUM_11, NUM_12, NUM_13, NUM_14, NUM_15, NUM_16, NUM_17, NUM_18, NUM_19,
+        NUM_20, NUM_21, NUM_22, NUM_23, NUM_24, NUM_25, NUM_26, NUM_27, NUM_28, NUM_29, NUM_30, NUM_31, NUM_32, NUM_33, NUM_34, NUM_35, NUM_36, NUM_37, NUM_38, NUM_39,
+        NUM_40, NUM_41, NUM_42, NUM_43, NUM_44, NUM_45, NUM_46, NUM_47, NUM_48, NUM_49, NUM_50, NUM_51, NUM_52, NUM_53, NUM_54, NUM_55, NUM_56, NUM_57, NUM_58, NUM_59,
+        NUM_60, NUM_61, NUM_62, NUM_63, NUM_64, NUM_65, NUM_66, NUM_67, NUM_68, NUM_69, NUM_70, NUM_71, NUM_72, NUM_73, NUM_74, NUM_75, NUM_76, NUM_77, NUM_78, NUM_79,
+        NUM_80, NUM_81, NUM_82, NUM_83, NUM_84, NUM_85, NUM_86, NUM_87, NUM_88, NUM_89, NUM_90, NUM_91, NUM_92, NUM_93, NUM_94, NUM_95, NUM_96, NUM_97, NUM_98, NUM_99,
+        NUM_100,NUM_101,NUM_102,NUM_103,NUM_104,NUM_105,NUM_106,NUM_107,NUM_108,NUM_109,NUM_110,NUM_111,NUM_112,NUM_113,NUM_114,NUM_115,NUM_116,NUM_117,NUM_118,NUM_119,
+        NUM_120,NUM_121,NUM_122,NUM_123,NUM_124,NUM_125,NUM_126,NUM_127,NUM_128,NUM_129,NUM_130,NUM_131,NUM_132,NUM_133,NUM_134,NUM_135,NUM_136,NUM_137,NUM_138,NUM_139,
+        NUM_140,NUM_141,NUM_142,NUM_143,NUM_144,NUM_145,NUM_146,NUM_147,NUM_148,NUM_149,NUM_150,NUM_151,NUM_152,NUM_153,NUM_154,NUM_155,NUM_156,NUM_157,NUM_158,NUM_159,
+        NUM_160,NUM_161,NUM_162,NUM_163,NUM_164,NUM_165,NUM_166,NUM_167,NUM_168,NUM_169,NUM_170,NUM_171,NUM_172,NUM_173,NUM_174,NUM_175,NUM_176,NUM_177,NUM_178,NUM_179,
+        NUM_180,NUM_181,NUM_182,NUM_183,NUM_184,NUM_185,NUM_186,NUM_187,NUM_188,NUM_189,NUM_190,NUM_191,NUM_192,NUM_193,NUM_194,NUM_195,NUM_196,NUM_197,NUM_198,NUM_199,
+        NUM_200,NUM_201,NUM_202,NUM_203,NUM_204,NUM_205,NUM_206,NUM_207,NUM_208,NUM_209,NUM_210,NUM_211,NUM_212,NUM_213,NUM_214,NUM_215,NUM_216,NUM_217,NUM_218,NUM_219,
+        NUM_220,NUM_221,NUM_222,NUM_223,NUM_224,NUM_225,NUM_226,NUM_227,NUM_228,NUM_229,NUM_230,NUM_231,NUM_232,NUM_233,NUM_234,NUM_235,NUM_236,NUM_237,NUM_238,NUM_239,
+        NUM_240,NUM_241,NUM_242,NUM_243,NUM_244,NUM_245,NUM_246,NUM_247,NUM_248,NUM_249,NUM_250,NUM_251,NUM_252,NUM_253,NUM_254,NUM_255,NUM_256,NUM_257,NUM_258,NUM_259,
+        NUM_260,NUM_261,NUM_262,NUM_263,NUM_264,NUM_265,NUM_266,NUM_267,NUM_268,NUM_269,NUM_270,NUM_271,NUM_272,NUM_273,NUM_274,NUM_275,NUM_276,NUM_277,NUM_278,NUM_279,
+        NUM_280,NUM_281,NUM_282,NUM_283,NUM_284,NUM_285,NUM_286,NUM_287,NUM_288,NUM_289,NUM_290,NUM_291,NUM_292,NUM_293,NUM_294,NUM_295,NUM_296,NUM_297,NUM_298,NUM_299,
+        NUM_300,NUM_301,NUM_302,NUM_303,NUM_304,NUM_305,NUM_306,NUM_307,NUM_308,NUM_309,NUM_310,NUM_311,NUM_312,NUM_313,NUM_314,NUM_315,NUM_316,NUM_317,NUM_318,NUM_319,
+        NUM_320,NUM_321,NUM_322,NUM_323,NUM_324,NUM_325,NUM_326,NUM_327,NUM_328,NUM_329,NUM_330,NUM_331,NUM_332,NUM_333,NUM_334,NUM_335,NUM_336,NUM_337,NUM_338,NUM_339,
+        NUM_340,NUM_341,NUM_342,NUM_343,NUM_344,NUM_345,NUM_346,NUM_347,NUM_348,NUM_349,NUM_350,NUM_351,NUM_352,NUM_353,NUM_354,NUM_355,NUM_356,NUM_357,NUM_358,NUM_359,
+        NUM_360,NUM_361,NUM_362,NUM_363,NUM_364,NUM_365,NUM_366,NUM_367,NUM_368,NUM_369,NUM_370,NUM_371,NUM_372,NUM_373,NUM_374,NUM_375,NUM_376,NUM_377,NUM_378,NUM_379,
+        NUM_380,NUM_381,NUM_382,NUM_383,NUM_384,NUM_385,NUM_386,NUM_387,NUM_388,NUM_389,NUM_390,NUM_391,NUM_392,NUM_393,NUM_394,NUM_395,NUM_396,NUM_397,NUM_398,NUM_399
+    )
+};
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+    char numString[5];
+    itoa(keycode, numString, 10);
+    SEND_STRING(numString);
+    return false;
+};
diff --git a/keyboards/cutie_club/giant_macro_pad/keymaps/via/config.h b/keyboards/cutie_club/giant_macro_pad/keymaps/via/config.h
new file mode 100755
index 0000000000..d7f8524d00
--- /dev/null
+++ b/keyboards/cutie_club/giant_macro_pad/keymaps/via/config.h
@@ -0,0 +1,19 @@
+/* Copyright 2021 Cutie Club
+ *
+ * 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
+
+#define DYNAMIC_KEYMAP_LAYER_COUNT 1
diff --git a/keyboards/cutie_club/giant_macro_pad/keymaps/via/keymap.c b/keyboards/cutie_club/giant_macro_pad/keymaps/via/keymap.c
new file mode 100755
index 0000000000..64b3f2b530
--- /dev/null
+++ b/keyboards/cutie_club/giant_macro_pad/keymaps/via/keymap.c
@@ -0,0 +1,43 @@
+/* Copyright 2021 Cutie Club
+ *
+ * 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_all(
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9,
+        KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9
+    )
+};
diff --git a/keyboards/cutie_club/giant_macro_pad/keymaps/via/rules.mk b/keyboards/cutie_club/giant_macro_pad/keymaps/via/rules.mk
new file mode 100755
index 0000000000..74edb2bf0d
--- /dev/null
+++ b/keyboards/cutie_club/giant_macro_pad/keymaps/via/rules.mk
@@ -0,0 +1 @@
+VIA_ENABLE=yes
diff --git a/keyboards/cutie_club/giant_macro_pad/readme.md b/keyboards/cutie_club/giant_macro_pad/readme.md
new file mode 100755
index 0000000000..313f1e1a86
--- /dev/null
+++ b/keyboards/cutie_club/giant_macro_pad/readme.md
@@ -0,0 +1,13 @@
+# Cupar19 Giant Macro Pad
+
+![Cupar19 Giant Macro Pad](https://user-images.githubusercontent.com/15253132/118325863-0135e680-b4fc-11eb-99f2-754b155b0acd.png)
+
+* Keyboard Maintainer: [Cutie Club](https://github.com/cutie-club/)
+* Hardware Supported: STM32F072 based giant 20x20 macro pad
+* Hardware Availability: N/A (one-off)
+
+Make example for this keyboard (after setting up your build environment):
+
+    make cutie_club/giant_macro_pad: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/cutie_club/giant_macro_pad/rules.mk b/keyboards/cutie_club/giant_macro_pad/rules.mk
new file mode 100755
index 0000000000..4430f2419c
--- /dev/null
+++ b/keyboards/cutie_club/giant_macro_pad/rules.mk
@@ -0,0 +1,19 @@
+# MCU name
+MCU = STM32F072
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes       # Mouse keys
+EXTRAKEY_ENABLE = yes       # Audio control and System control
+CONSOLE_ENABLE = no         # Console for debug
+COMMAND_ENABLE = no         # Commands for debug and configuration
+# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
+SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
+# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+NKRO_ENABLE = no            # USB Nkey Rollover
+BACKLIGHT_ENABLE = no       # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = no        # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no       # Enable Bluetooth
+AUDIO_ENABLE = no           # Audio output