~ruther/qmk_firmware

3e1fa8cd319bccfaa666c63f1741b2bbabf27b78 — Callum Hart 4 years ago 29e35d8
[Keyboard] Giant macro pad (#12905)

A keyboards/cutie_club/giant_macro_pad/config.h => keyboards/cutie_club/giant_macro_pad/config.h +48 -0
@@ 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

A keyboards/cutie_club/giant_macro_pad/giant_macro_pad.c => keyboards/cutie_club/giant_macro_pad/giant_macro_pad.c +17 -0
@@ 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"

A keyboards/cutie_club/giant_macro_pad/giant_macro_pad.h => keyboards/cutie_club/giant_macro_pad/giant_macro_pad.h +72 -0
@@ 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 }  \
}

A keyboards/cutie_club/giant_macro_pad/keymaps/default/keymap.c => keyboards/cutie_club/giant_macro_pad/keymaps/default/keymap.c +453 -0
@@ 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;
};

A keyboards/cutie_club/giant_macro_pad/keymaps/via/config.h => keyboards/cutie_club/giant_macro_pad/keymaps/via/config.h +19 -0
@@ 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

A keyboards/cutie_club/giant_macro_pad/keymaps/via/keymap.c => keyboards/cutie_club/giant_macro_pad/keymaps/via/keymap.c +43 -0
@@ 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
    )
};

A keyboards/cutie_club/giant_macro_pad/keymaps/via/rules.mk => keyboards/cutie_club/giant_macro_pad/keymaps/via/rules.mk +1 -0
@@ 0,0 1,1 @@
VIA_ENABLE=yes

A keyboards/cutie_club/giant_macro_pad/readme.md => keyboards/cutie_club/giant_macro_pad/readme.md +13 -0
@@ 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).

A keyboards/cutie_club/giant_macro_pad/rules.mk => keyboards/cutie_club/giant_macro_pad/rules.mk +19 -0
@@ 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