Quellcode durchsuchen

[Keyboard] added 4pplet keyboards (#8935)

* added 4pplet keyboards

added 4pplet keyboards

* Update keyboards/4pplet/aekiso60_rev_a/aekiso60_rev_a.h

* Update keyboards/4pplet/aekiso60_rev_a/config.h

* Update keyboards/4pplet/aekiso60_rev_a/config.h

* Update keyboards/4pplet/waffling60_rev_a/config.h

* Update keyboards/4pplet/aekiso60_rev_a/rules.mk

* Update keyboards/4pplet/aekiso60_rev_a/rules.mk

* Update keyboards/4pplet/waffling60_rev_a/rules.mk

* Update keyboards/4pplet/waffling60_rev_a/rules.mk

* Update keyboards/4pplet/steezy60_rev_a/config.h

* Delete info.json

* Delete info.json

* Delete info.json

* removed VIA_ENABLE

* Update config.h

* Update rules.mk

* Update steezy60_rev_a.h

* Update config.h

* Removed VIA_ENABLE

* Update keyboards/4pplet/steezy60_rev_a/rules.mk

* Removed VIA_ENABLE

* Update config.h

* Update config.h

* Update config.h

* adding fauxpark suggestion

* Update keyboards/4pplet/aekiso60_rev_a/config.h

* Update keyboards/4pplet/aekiso60_rev_a/rules.mk

* some updates recommended by noroadsleft, still work in progress 

some updates recommended by noroadsleft, still work in progress

* made directorys for revisions per noroadsleft  suggestion

made directorys for revisions per noroadsleft  suggestion

* renamed keyboard_pre_init_user to keyboard_pre_init_kb

* Update keyboards/4pplet/aekiso60/rev_a/config.h

* Update keyboards/4pplet/waffling60/rev_a/rev_a.c

* Update keyboards/4pplet/waffling60/rev_a/rev_a.c

* started working on refactoring led function for waffling60

* removed LED functionality

* Update keyboards/wilba_tech/zeal60/rules.mk

* Update keyboards/wilba_tech/zeal60/rules.mk

* Update keyboards/4pplet/waffling60/rev_a/rules.mk

* Update keyboards/4pplet/steezy60/rev_a/rules.mk

* Update keyboards/4pplet/aekiso60/keymaps/via/keymap.c

* Update keyboards/4pplet/aekiso60/rev_a/rules.mk
4pplet vor 5 Jahren
Ursprung
Commit
c30170b868

+ 14 - 0
keyboards/4pplet/aekiso60/README.md

@@ -0,0 +1,14 @@
+# AEKISO60
+
+A 60% PCB enabling use of ISO AEK keycaps and ALPS switches
+
+More info: https://geekhack.org/index.php?topic=103627.0
+
+* Keyboard Maintainer: [4pplet](https://github.com/4pplet)
+* Hardware Supported: AEKISO60 Rev A
+
+Make example for this keyboard (after setting up your build environment):
+
+    make 4pplet/aekiso60/rev_a: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).

+ 21 - 0
keyboards/4pplet/aekiso60/keymaps/default/keymap.c

@@ -0,0 +1,21 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+
+[0] = LAYOUT_all(
+  KC_ESC,  KC_1,    KC_2,   KC_3,    KC_4,   KC_5,   KC_6,   KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC, 
+  KC_TAB,   KC_Q,    KC_W,   KC_E,    KC_R,   KC_T,   KC_Y,   KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_ENT,  
+  KC_LCTRL, KC_A,    KC_S,   KC_D,    KC_F,   KC_G,   KC_H,   KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_NUHS,
+  KC_LSFT,  KC_NUBS, KC_Z,   KC_X,    KC_C,   KC_V,   KC_B,   KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, MO(1),
+  KC_LCTL,  KC_LGUI, KC_LALT,         _______,        KC_SPC,          _______,                    KC_RALT, KC_RGUI, KC_RCTL),
+
+[1] = LAYOUT_all(
+  KC_EXEC,  KC_F1,    KC_F2,    KC_F3,     KC_F4,     KC_F5,     KC_F6,     KC_F7,      KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,  KC_DEL,
+  _______,  KC_BSPC,  KC_UP,    _______,   _______,   _______,   _______,   _______,    KC_PSCR,  KC_SLCK,  KC_PAUS,  KC_UP,    _______, KC_PENT,
+  KC_CAPS,  KC_LEFT,  KC_DOWN,  KC_RIGHT,  KC_MUTE,   _______,   KC_PAST,   KC_PSLS,    KC_HOME,  KC_PGUP,  KC_LEFT,  KC_RIGHT, KC_INS,
+  _______,  KC_MPRV,  KC_MPLY,  KC_MNXT,   KC_VOLD,   KC_VOLU,   KC_PPLS,   KC_PMNS,    _______,  KC_END,   KC_PGDN,  KC_DOWN,  _______, _______,
+  RESET,    _______,  _______,  _______,   _______,   _______,                                                        KC_BRID,  KC_BRIU, _______)
+};
+
+

+ 34 - 0
keyboards/4pplet/aekiso60/keymaps/via/keymap.c

@@ -0,0 +1,34 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+
+[0] = LAYOUT_all(
+  KC_ESC,  KC_1,    KC_2,   KC_3,    KC_4,   KC_5,   KC_6,   KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSPC,
+  KC_TAB,   KC_Q,    KC_W,   KC_E,    KC_R,   KC_T,   KC_Y,   KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_ENT,
+  KC_LCTRL, KC_A,    KC_S,   KC_D,    KC_F,   KC_G,   KC_H,   KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_NUHS,
+  KC_LSFT,  KC_NUBS, KC_Z,   KC_X,    KC_C,   KC_V,   KC_B,   KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, MO(1),
+  KC_LCTL,  KC_LGUI, KC_LALT,         _______,        KC_SPC,          _______,                    KC_RALT, KC_RGUI, KC_RCTL),
+
+[1] = LAYOUT_all(
+  KC_EXEC,  KC_F1,    KC_F2,    KC_F3,     KC_F4,     KC_F5,     KC_F6,     KC_F7,      KC_F8,    KC_F9,    KC_F10,   KC_F11,   KC_F12,  KC_DEL,
+  _______,  KC_BSPC,  KC_UP,    _______,   _______,   _______,   _______,   _______,    KC_PSCR,  KC_SLCK,  KC_PAUS,  KC_UP,    _______, KC_PENT,
+  KC_CAPS,  KC_LEFT,  KC_DOWN,  KC_RIGHT,  KC_MUTE,   _______,   KC_PAST,   KC_PSLS,    KC_HOME,  KC_PGUP,  KC_LEFT,  KC_RIGHT, KC_INS,
+  _______,  KC_MPRV,  KC_MPLY,  KC_MNXT,   KC_VOLD,   KC_VOLU,   KC_PPLS,   KC_PMNS,    _______,  KC_END,   KC_PGDN,  KC_DOWN,  _______, _______,
+  RESET,    _______,  _______,  _______,   _______,   _______,                                                        KC_BRID,  KC_BRIU, _______),
+
+[2] = LAYOUT_all(
+  _______,  _______,    _______,   _______,    _______,   _______,   _______,   _______,    _______,    _______,    _______,    _______, _______,  _______,
+  _______,  _______,    _______,   _______,    _______,   _______,   _______,   _______,    _______,    _______,    _______,    _______, _______,  _______,
+  _______,  _______,    _______,   _______,    _______,   _______,   _______,   _______,    _______,    _______,    _______,    _______, _______,
+  _______,  _______,    _______,   _______,    _______,   _______,   _______,   _______,    _______,    _______,    _______,    _______, _______,  _______,
+  _______,  _______,    _______,               _______,              _______,               _______,                            _______, _______,  _______),
+
+[3] = LAYOUT_all(
+  _______,  _______,    _______,   _______,    _______,   _______,   _______,   _______,    _______,    _______,    _______,    _______, _______,  _______,
+  _______,  _______,    _______,   _______,    _______,   _______,   _______,   _______,    _______,    _______,    _______,    _______, _______,  _______,
+  _______,  _______,    _______,   _______,    _______,   _______,   _______,   _______,    _______,    _______,    _______,    _______, _______,
+  _______,  _______,    _______,   _______,    _______,   _______,   _______,   _______,    _______,    _______,    _______,    _______, _______,  _______,
+  _______,  _______,    _______,               _______,              _______,               _______,                            _______, _______,  _______)
+};
+

+ 1 - 0
keyboards/4pplet/aekiso60/keymaps/via/rules.mk

@@ -0,0 +1 @@
+VIA_ENABLE = yes

+ 39 - 0
keyboards/4pplet/aekiso60/rev_a/config.h

@@ -0,0 +1,39 @@
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0x4444
+#define PRODUCT_ID      0x0001
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    4pplet
+#define PRODUCT         AEKISO60 Rev A
+#define DESCRIPTION     A steezy KEEB
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 14
+// ROWS: Top to bottom, COLS: Left to right
+#define MATRIX_ROW_PINS {C2,D0,B0,C7,C5}
+#define MATRIX_COL_PINS {C4,C6,B7,B6,B5,B4,B3,B2,B1,D6,D5,D4,D2,D1}
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+#define QMK_ESC_OUTPUT  C4 // usually COL
+#define QMK_ESC_INPUT   C2 // usually ROW
+
+#define RGB_DI_PIN D3
+#define RGBLED_NUM 12
+#define BACKLIGHT_LEVELS 5
+
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_ANIMATIONS

+ 1 - 0
keyboards/4pplet/aekiso60/rev_a/rev_a.c

@@ -0,0 +1 @@
+#include "rev_a.h"

+ 18 - 0
keyboards/4pplet/aekiso60/rev_a/rev_a.h

@@ -0,0 +1,18 @@
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT_all( \
+    k00, k01, k02,    k03, k04, k05, k06, k07,   k08, k09,   k0a, k0b, k0c,     k0d, \
+    k10, k11, k12,    k13, k14, k15, k16, k17,   k18, k19,   k1a, k1b, k1c,     k1d, \
+    k20, k21, k22,    k23, k24, k25, k26, k27,   k28, k29,   k2a, k2b, k2c,          \
+    k30, k31, k32,    k33, k34, k35, k36, k37,   k38, k39,   k3a, k3b, k3c,     k3d, \
+    k40, k41, k43,    k44, k45, k46, k48, k4a,   k4b                                 \
+) \
+{ \
+    {k00, k01, k02,   k03, k04, k05, k06, k07,   k08, k09,   k0a, k0b, k0c,     k0d},  \
+    {k10, k11, k12,   k13, k14, k15, k16, k17,   k18, k19,   k1a, k1b, k1c,     k1d},  \
+    {k20, k21, k22,   k23, k24, k25, k26, k27,   k28, k29,   k2a, k2b, k2c,     KC_NO},\
+    {k30, k31, k32,   k33, k34, k35, k36, k37,   k38, k39,   k3a, k3b, k3c,     k3d},  \
+    {k40, k41, KC_NO, k43, k44, k45, k46, KC_NO, k48, KC_NO, k4a, k4b, KC_NO,   KC_NO} \
+}

+ 31 - 0
keyboards/4pplet/aekiso60/rev_a/rules.mk

@@ -0,0 +1,31 @@
+# MCU name
+MCU = atmega32u2
+
+# Bootloader selection
+#   Teensy       halfkay
+#   Pro Micro    caterina
+#   Atmel DFU    atmel-dfu
+#   LUFA DFU     lufa-dfu
+#   QMK DFU      qmk-dfu
+#   ATmega32A    bootloadHID
+#   ATmega328P   USBasp
+BOOTLOADER = atmel-dfu
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
+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
+# 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
+MIDI_ENABLE = no            # MIDI support
+AUDIO_ENABLE = no           # Audio output on port C6
+FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
+UNICODE_ENABLE = no         # Unicode

+ 14 - 0
keyboards/4pplet/steezy60/README.md

@@ -0,0 +1,14 @@
+# Steezy60
+
+A 60% PCB with a ton of layout options for SMK and Alps switches
+
+More info: https://geekhack.org/index.php?topic=103531.0
+
+* Keyboard Maintainer: [4pplet](https://github.com/4pplet)
+* Hardware Supported: Steezy60 Rev A
+
+Make example for this keyboard (after setting up your build environment):
+
+    make 4pplet/steezy60/rev_a: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).

+ 27 - 0
keyboards/4pplet/steezy60/keymaps/4pplet/keymap.c

@@ -0,0 +1,27 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[0] = LAYOUT_all(
+  KC_GESC,  KC_1,    KC_2,   KC_3,    KC_4,    KC_5,   KC_6,   KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSLS,KC_GRV,
+  KC_TAB,  	KC_Q,    KC_W,   KC_E,    KC_R,    KC_T,   KC_Y,   KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSPC,   
+  KC_LGUI, KC_A,    KC_S,   KC_D,    KC_F,    KC_G,   KC_H,   KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,   
+  KC_LSPO, 	KC_NUBS, KC_Z,   KC_X,    KC_C,    KC_V,   KC_B,   KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_NO, KC_RSPC, MO(2), 
+  KC_LCTL, 	KC_LGUI, KC_NO,  KC_LALT, KC_RALT, MO(2),  KC_SPC, KC_RALT, KC_RGUI, KC_NO,   KC_APP,  KC_RCTRL),
+
+[1] = LAYOUT_all(
+  KC_GESC, KC_1,    KC_2,   KC_3,     KC_4,    KC_5,   KC_6,   KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_BSLS,KC_GRV,
+  KC_TAB,  KC_Q,    KC_W,   KC_E,     KC_R,    KC_T,   KC_Y,   KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSPC,      
+  KC_LCTRL, KC_A,    KC_S,   KC_D,     KC_F,    KC_G,   KC_H,   KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_NO, KC_ENT,        
+  KC_LSPO, KC_NO, 	KC_Z,   KC_X,     KC_C,    KC_V,   KC_B,   KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_NO, KC_RSPC, MO(2), 
+  KC_LCTL, KC_LGUI, KC_NO,  KC_LALT,	KC_RALT, MO(2),  KC_SPC, KC_RALT,	KC_RGUI, KC_NO,   KC_APP,  KC_RCTRL),
+
+[2] = LAYOUT_all(
+  KC_EXEC, KC_F1,   KC_F2,   KC_F3,    KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,   KC_F12,  KC_INS, _______, 
+  _______, KC_BSPC, KC_UP,   KC_ENT,   _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP,    _______, KC_DEL,          
+  KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, KC_PENT,         
+  _______, _______, KC_MPRV, KC_MPLY,  KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, KC_END,  KC_PGDN, KC_DOWN,  _______, _______, _______,
+  DF(1),   DF(0),   _______, _______,  _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, RESET )
+};
+
+

+ 18 - 0
keyboards/4pplet/steezy60/keymaps/default/keymap.c

@@ -0,0 +1,18 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[0] = LAYOUT_all(
+  KC_ESC,   KC_1,    KC_2,   KC_3,    KC_4,    KC_5,   KC_6,   KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_NO,  KC_BSPC,
+  KC_TAB,  	KC_Q,    KC_W,   KC_E,    KC_R,    KC_T,   KC_Y,   KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, 
+  KC_LCTRL, KC_A,    KC_S,   KC_D,    KC_F,    KC_G,   KC_H,   KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_NO, KC_ENT, 
+  KC_LSFT, 	KC_NO,   KC_Z,   KC_X,    KC_C,    KC_V,   KC_B,   KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_NO, KC_RSFT,  KC_NO,
+  KC_LCTL, 	KC_LGUI, KC_NO,  KC_LALT, KC_NO,   KC_SPC, KC_NO, 			    KC_RALT, KC_RGUI, KC_NO,   KC_APP,  MO(1)),
+
+[1] = LAYOUT_all(
+  RESET,   KC_F1,   KC_F2,   KC_F3,    KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,   KC_F12,  _______, KC_DEL, 
+  _______, KC_BSPC, KC_UP,   KC_ENT,   _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP,    _______, _______, 
+  KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______,
+  _______, _______, KC_MPRV, KC_MPLY,  KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, KC_END,  KC_PGDN, KC_DOWN,  _______, _______, _______,
+  _______, _______, _______, _______,  _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, _______ )
+};

+ 32 - 0
keyboards/4pplet/steezy60/keymaps/via/keymap.c

@@ -0,0 +1,32 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+[0] = LAYOUT_all(
+  KC_ESC,   KC_1,    KC_2,   KC_3,    KC_4,    KC_5,   KC_6,   KC_7,    KC_8,    KC_9,    KC_0,    KC_MINS, KC_EQL,  KC_NO,  KC_BSPC,
+  KC_TAB,  	KC_Q,    KC_W,   KC_E,    KC_R,    KC_T,   KC_Y,   KC_U,    KC_I,    KC_O,    KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, 
+  KC_LCTRL, KC_A,    KC_S,   KC_D,    KC_F,    KC_G,   KC_H,   KC_J,    KC_K,    KC_L,    KC_SCLN, KC_QUOT, KC_NO, KC_ENT, 
+  KC_LSFT, 	KC_NO,   KC_Z,   KC_X,    KC_C,    KC_V,   KC_B,   KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_NO, KC_RSFT,  KC_NO,
+  KC_LCTL, 	KC_LGUI, KC_NO,  KC_LALT, KC_NO,   KC_SPC, KC_NO, 			    KC_RALT, KC_RGUI, KC_NO,   KC_APP,  MO(1)),
+
+[1] = LAYOUT_all(
+  RESET,   KC_F1,   KC_F2,   KC_F3,    KC_F4,   KC_F5,   KC_F6,   KC_F7,   KC_F8,   KC_F9,   KC_F10,  KC_F11,   KC_F12,  _______, KC_DEL, 
+  _______, KC_BSPC, KC_UP,   KC_ENT,   _______, _______, _______, _______, KC_PSCR, KC_SLCK, KC_PAUS, KC_UP,    _______, _______, 
+  KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______,
+  _______, _______, KC_MPRV, KC_MPLY,  KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, KC_END,  KC_PGDN, KC_DOWN,  _______, _______, _______,
+  _______, _______, _______, _______,  _______, _______, _______, KC_BRID, KC_BRIU, _______, _______, _______ ),
+
+[2] = LAYOUT_all(
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
+
+[3] = LAYOUT_all(
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, 
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+  _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ )
+};

+ 1 - 0
keyboards/4pplet/steezy60/keymaps/via/rules.mk

@@ -0,0 +1 @@
+VIA_ENABLE = yes

+ 36 - 0
keyboards/4pplet/steezy60/rev_a/config.h

@@ -0,0 +1,36 @@
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0x4444
+#define PRODUCT_ID      0x0002
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    4pplet
+#define PRODUCT         Steezy60 Rev A
+#define DESCRIPTION     A steezy keeb
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+// ROWS: Top to bottom, COLS: Left to right
+#define MATRIX_ROW_PINS {C2,D0,B0,C7,C5}
+#define MATRIX_COL_PINS {C4,C6,B7,B6,B5,B4,B3,B2,B1,D6,D5,D4,D2,D1}
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 5
+
+#define QMK_ESC_OUTPUT C4 // usually COL
+#define QMK_ESC_INPUT C2 // usually ROW
+
+#define RGB_DI_PIN D3
+#define RGBLED_NUM 12
+#define BACKLIGHT_LEVELS 5
+
+#define RGBLIGHT_HUE_STEP 8
+#define RGBLIGHT_SAT_STEP 8
+#define RGBLIGHT_VAL_STEP 8
+#define RGBLIGHT_ANIMATIONS

+ 1 - 0
keyboards/4pplet/steezy60/rev_a/rev_a.c

@@ -0,0 +1 @@
+#include "rev_a.h"

+ 18 - 0
keyboards/4pplet/steezy60/rev_a/rev_a.h

@@ -0,0 +1,18 @@
+#pragma once
+
+#include "quantum.h"
+
+#define LAYOUT_all( \
+    k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k4d, \
+    k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \
+    k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \
+    k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d,k4c, \
+    k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b \
+) \
+{ \
+    {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d}, \
+    {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d}, \
+    {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d}, \
+    {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
+    {k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d}  \
+}

+ 31 - 0
keyboards/4pplet/steezy60/rev_a/rules.mk

@@ -0,0 +1,31 @@
+# MCU name
+MCU = atmega32u2
+
+# Bootloader selection
+#   Teensy       halfkay
+#   Pro Micro    caterina
+#   Atmel DFU    atmel-dfu
+#   LUFA DFU     lufa-dfu
+#   QMK DFU      qmk-dfu
+#   ATmega32A    bootloadHID
+#   ATmega328P   USBasp
+BOOTLOADER = atmel-dfu
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
+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
+# 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
+MIDI_ENABLE = no            # MIDI support
+AUDIO_ENABLE = no           # Audio output on port C6
+FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
+UNICODE_ENABLE = no         # Unicode

+ 14 - 0
keyboards/4pplet/waffling60/README.md

@@ -0,0 +1,14 @@
+# waffling60
+
+A 60% PCB for MX switches, one hot swap and one solder-pcb version with decent layout support.
+
+More info: https://geekhack.org/index.php?topic=103531.0
+
+* Keyboard Maintainer: [4pplet](https://github.com/4pplet)
+* Hardware Supported: waffling60 Rev A
+
+Make example for this keyboard (after setting up your build environment):
+
+    make 4pplet/steezy60/rev_a: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).

+ 18 - 0
keyboards/4pplet/waffling60/keymaps/default/keymap.c

@@ -0,0 +1,18 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+// main layer
+[0] = LAYOUT_all(
+  KC_ESC,   KC_1,     KC_2,     KC_3,     KC_4,     KC_5,       KC_6,      KC_7,      KC_8,      KC_9,       KC_0,    KC_MINS, KC_EQL,  KC_NO, KC_BSPC,
+  KC_TAB,   KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,       KC_Y,      KC_U,      KC_I,      KC_O,       KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, 
+  KC_LCTRL, KC_A,     KC_S,     KC_D,     KC_F,     KC_G,       KC_H,      KC_J,      KC_K,      KC_L,       KC_SCLN, KC_QUOT,          KC_ENT,  
+  KC_LSFT,  KC_NO,    KC_Z,     KC_X,     KC_C,     KC_V,       KC_B,      KC_N,      KC_M,      KC_COMM,    KC_DOT,  KC_SLSH, KC_RSFT, KC_NO,
+  KC_LCTL,  KC_LGUI,  KC_LALT,            KC_SPC,               KC_SPC,               KC_SPC,                KC_RALT, KC_RGUI, KC_APP,  MO(1)),
+// basic function layer
+[1] = LAYOUT_all(
+  RESET,    KC_F1,    KC_F2,    KC_F3,    KC_F4,     KC_F5,     KC_F6,     KC_F7,     KC_F8,     KC_F9,      KC_F10,  KC_F11,   KC_F12,  KC_TRNS, KC_TRNS,
+  KC_TRNS,  KC_TRNS,  KC_UP,    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_LEFT,  KC_DOWN,  KC_RIGHT, 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,  KC_TRNS,  KC_TRNS,            KC_TRNS,              KC_TRNS,              KC_TRNS,               KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS)
+};

+ 32 - 0
keyboards/4pplet/waffling60/keymaps/via/keymap.c

@@ -0,0 +1,32 @@
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+// main layer
+[0] = LAYOUT_all(
+  KC_ESC,   KC_1,     KC_2,     KC_3,     KC_4,     KC_5,       KC_6,      KC_7,      KC_8,      KC_9,       KC_0,    KC_MINS, KC_EQL,  KC_NO, KC_BSPC,
+  KC_TAB,   KC_Q,     KC_W,     KC_E,     KC_R,     KC_T,       KC_Y,      KC_U,      KC_I,      KC_O,       KC_P,    KC_LBRC, KC_RBRC, KC_BSLS, 
+  KC_LCTRL, KC_A,     KC_S,     KC_D,     KC_F,     KC_G,       KC_H,      KC_J,      KC_K,      KC_L,       KC_SCLN, KC_QUOT,          KC_ENT,  
+  KC_LSFT,  KC_NO,    KC_Z,     KC_X,     KC_C,     KC_V,       KC_B,      KC_N,      KC_M,      KC_COMM,    KC_DOT,  KC_SLSH, KC_RSFT, KC_NO,
+  KC_LCTL,  KC_LGUI,  KC_LALT,            KC_SPC,               KC_SPC,               KC_SPC,                KC_RALT, KC_RGUI, KC_APP,  MO(1)),
+// basic function layer
+[1] = LAYOUT_all(
+  RESET,    KC_F1,    KC_F2,    KC_F3,    KC_F4,     KC_F5,     KC_F6,     KC_F7,     KC_F8,     KC_F9,      KC_F10,  KC_F11,   KC_F12,  KC_TRNS, KC_TRNS,
+  KC_TRNS,  KC_TRNS,  KC_UP,    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_LEFT,  KC_DOWN,  KC_RIGHT, 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,  KC_TRNS,  KC_TRNS,            KC_TRNS,              KC_TRNS,              KC_TRNS,               KC_TRNS, KC_TRNS,  KC_TRNS, KC_TRNS),
+// extra layer for VIA
+[2] = LAYOUT_all(
+  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,   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,   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),
+// extra layer for VIA
+[3] = LAYOUT_all(
+  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,   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,   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)
+};

+ 1 - 0
keyboards/4pplet/waffling60/keymaps/via/rules.mk

@@ -0,0 +1 @@
+VIA_ENABLE = yes

+ 31 - 0
keyboards/4pplet/waffling60/rev_a/config.h

@@ -0,0 +1,31 @@
+#pragma once
+
+#include "config_common.h"
+
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0x4444
+#define PRODUCT_ID      0x0003
+#define DEVICE_VER      0x0001
+#define MANUFACTURER    4pplet
+#define PRODUCT         waffling60 Rev A
+#define DESCRIPTION     A steezy keeb
+
+/* key matrix size */
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 11
+// ROWS: Top to bottom, COLS: Left to right
+
+#define MATRIX_ROW_PINS {D4,D1,C2,C4,C7,B2}
+#define MATRIX_COL_PINS {D3,D0,D2,B6,B5,B4,B3,D6,D5,B0,B1}
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* define if matrix has ghost */
+//#define MATRIX_HAS_GHOST
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCE 0
+
+#define QMK_ESC_OUTPUT D3 // usually COL
+#define QMK_ESC_INPUT D4 // usually ROW

+ 1 - 0
keyboards/4pplet/waffling60/rev_a/rev_a.c

@@ -0,0 +1 @@
+#include "rev_a.h"

+ 20 - 0
keyboards/4pplet/waffling60/rev_a/rev_a.h

@@ -0,0 +1,20 @@
+#pragma once
+
+#include "quantum.h"
+
+// k<row><col>
+#define LAYOUT_all( \
+    k00, k01, k11, k02, k03, k04, k05, k15, k06, k07, k08, k18, k09, k0a, k1a, \
+    k10, k21, k12, k22, k13, k14, k25, k35, k16, k17, k28, k19, k29, k2a, \
+    k20, k31, k32, k23, k33, k24, k45, k26, k36, k27, k38, k39, k3a, \
+    k30, k40, k41, k42, k43, k34, k44, k55, k46, k37, k47, k48, k49, k4a, \
+    k50, k51, k52, k53, k54, k56, k57, k58, k59, k5a  \
+) \
+{ \
+    {k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a}, \
+    {k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a}, \
+    {k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a}, \
+    {k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a}, \
+    {k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a}, \
+    {k50, k51, k52, k53, k54, k55, k56, k57, k58, k59, k5a}  \
+}

+ 31 - 0
keyboards/4pplet/waffling60/rev_a/rules.mk

@@ -0,0 +1,31 @@
+# MCU name
+MCU = atmega32u2
+
+# Bootloader selection
+#   Teensy       halfkay
+#   Pro Micro    caterina
+#   Atmel DFU    atmel-dfu
+#   LUFA DFU     lufa-dfu
+#   QMK DFU      qmk-dfu
+#   ATmega32A    bootloadHID
+#   ATmega328P   USBasp
+BOOTLOADER = atmel-dfu
+
+# Build Options
+#   change yes to no to disable
+#
+BOOTMAGIC_ENABLE = lite     # Virtual DIP switch configuration
+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
+# 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
+MIDI_ENABLE = no            # MIDI support
+AUDIO_ENABLE = no           # Audio output on port C6
+FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
+UNICODE_ENABLE = no         # Unicode