Pārlūkot izejas kodu

[Keyboard] kingly_keys/ave (#10042)

* Add configurator support for "The Ave." keyboard

* Update readme.md

* update misc nomenclature

* add punctuation

* fix miss-placed "0"

* update README.md

* del. duplicate "F11" in visual layout information

* Split PCB configurations into subfolders

* update layer template to new matrix title

* rm primary <keyboard>.c / <keyboard>.h files

* add new end line to both .h subfolder fiels

* Apply suggestions from code review

* tested update to RGB code

* update rgb code

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

* Update rules.mk

* Update rules.mk

* Delete rules.mk

* Delete rules.mk

* Update rules.mk

* Update config.h

* Update config.h

* Update keymap.c

* Update ortho.c

* Update ortho.h

* Update config.h

* Update keymap.c

* Update staggered.c

* Update staggered.h

* Apply suggestions from code review

* Update config.h

* Update keymap.c

* move and duplicate rules.mk file

* Update keyboards/kingly_keys/ave/readme.md

* Update config.h

* Update keyboards/kingly_keys/ave/config.h
Garret G 4 gadi atpakaļ
vecāks
revīzija
53f11668a3

+ 50 - 0
keyboards/kingly_keys/ave/config.h

@@ -0,0 +1,50 @@
+ /* 
+ Copyright 2020 Garret Gartner
+  
+ 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       0x4B4B // "KK"
+#define PRODUCT_ID      0x1225
+#define DEVICE_VER      0x0011
+#define MANUFACTURER    Kingly-Keys
+#define PRODUCT         The Ave.
+
+/* key matrix size */
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 13
+
+
+#define ENCODERS_PAD_A { B2 }
+#define ENCODERS_PAD_B { B1 }
+
+#define MATRIX_ROW_PINS { B3, F4, F7, F6, F5 }
+#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, D7, D6, D4, D5, D3, D2, D1, D0}
+#define UNUSED_PINS
+
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't 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

+ 183 - 0
keyboards/kingly_keys/ave/ortho/info.json

@@ -0,0 +1,183 @@
+{
+  "keyboard_name": "The Ave. (Ortholinear Ed. PCB)",
+  "url": "",
+  "maintainer": "the-royal",
+  "width": 13.5,
+  "height": 5.5,
+  "layouts": {
+    "LAYOUT_ortho_all": {
+       "layout": [
+        {"label":"k001", "x":0.00, "y":0.00},
+        {"label":"k002", "x":1.50, "y":0.00},
+        {"label":"k011", "x":10.5, "y":0.00},
+        {"label":"k012", "x":11.5, "y":0.00},
+        {"label":"k013", "x":12.5, "y":0.00},
+        {"label":"k101", "x":0.00, "y":1.50},
+        {"label":"k102", "x":1.50, "y":1.50},
+        {"label":"k103", "x":2.50, "y":1.50},
+        {"label":"k104", "x":3.50, "y":1.50},
+        {"label":"k105", "x":4.50, "y":1.50},
+        {"label":"k106", "x":5.50, "y":1.50},
+        {"label":"k107", "x":6.50, "y":1.50},
+        {"label":"k108", "x":7.50, "y":1.50},
+        {"label":"k109", "x":8.50, "y":1.50},
+        {"label":"k110", "x":9.50, "y":1.50},
+        {"label":"k111", "x":10.5, "y":1.50},
+        {"label":"k112", "x":11.5, "y":1.50},
+        {"label":"k113", "x":12.5, "y":1.50},
+        {"label":"k201", "x":0.00, "y":2.50},
+        {"label":"k202", "x":1.50, "y":2.50},
+        {"label":"k203", "x":2.50, "y":2.50},
+        {"label":"k204", "x":3.50, "y":2.50},
+        {"label":"k205", "x":4.50, "y":2.50},
+        {"label":"k206", "x":5.50, "y":2.50},
+        {"label":"k207", "x":6.50, "y":2.50},
+        {"label":"k208", "x":7.50, "y":2.50},
+        {"label":"k209", "x":8.50, "y":2.50},
+        {"label":"k210", "x":9.50, "y":2.50},
+        {"label":"k211", "x":10.5, "y":2.50},
+        {"label":"k212", "x":11.5, "y":2.50},
+        {"label":"k213", "x":12.5, "y":2.50},
+        {"label":"k301", "x":0.00, "y":3.50},
+        {"label":"k302", "x":1.50, "y":3.50},
+        {"label":"k303", "x":2.50, "y":3.50},
+        {"label":"k304", "x":3.50, "y":3.50},
+        {"label":"k305", "x":4.50, "y":3.50},
+        {"label":"k306", "x":5.50, "y":3.50},
+        {"label":"k307", "x":6.50, "y":3.50},
+        {"label":"k308", "x":7.50, "y":3.50},
+        {"label":"k309", "x":8.50, "y":3.50},
+        {"label":"k310", "x":9.50, "y":3.50},
+        {"label":"k311", "x":10.5, "y":3.50},
+        {"label":"k312", "x":11.5, "y":3.50},
+        {"label":"k313", "x":12.5, "y":3.50},
+        {"label":"k401", "x":0.00, "y":4.50},
+        {"label":"k402", "x":1.50, "y":4.50},
+        {"label":"k403", "x":2.50, "y":4.50},
+        {"label":"k404", "x":3.50, "y":4.50},
+        {"label":"k405", "x":4.50, "y":4.50},
+        {"label":"k406", "x":5.50, "y":4.50},
+        {"label":"k407", "x":6.50, "y":4.50},
+        {"label":"k408", "x":7.50, "y":4.50},
+        {"label":"k409", "x":8.50, "y":4.50},
+        {"label":"k410", "x":9.50, "y":4.50},
+        {"label":"k411", "x":10.5, "y":4.50},
+        {"label":"k412", "x":11.5, "y":4.50},
+        {"label":"k413", "x":12.5, "y":4.50}
+      ]
+    },
+    "LAYOUT_ortho_2x2u": {
+        "layout": [
+         {"label":"k001", "x":0.00, "y":0.00},
+         {"label":"k002", "x":1.50, "y":0.00},
+         {"label":"k011", "x":10.5, "y":0.00},
+         {"label":"k012", "x":11.5, "y":0.00},
+         {"label":"k013", "x":12.5, "y":0.00},
+         {"label":"k101", "x":0.00, "y":1.50},
+         {"label":"k102", "x":1.50, "y":1.50},
+         {"label":"k103", "x":2.50, "y":1.50},
+         {"label":"k104", "x":3.50, "y":1.50},
+         {"label":"k105", "x":4.50, "y":1.50},
+         {"label":"k106", "x":5.50, "y":1.50},
+         {"label":"k107", "x":6.50, "y":1.50},
+         {"label":"k108", "x":7.50, "y":1.50},
+         {"label":"k109", "x":8.50, "y":1.50},
+         {"label":"k110", "x":9.50, "y":1.50},
+         {"label":"k111", "x":10.5, "y":1.50},
+         {"label":"k112", "x":11.5, "y":1.50},
+         {"label":"k113", "x":12.5, "y":1.50},
+         {"label":"k201", "x":0.00, "y":2.50},
+         {"label":"k202", "x":1.50, "y":2.50},
+         {"label":"k203", "x":2.50, "y":2.50},
+         {"label":"k204", "x":3.50, "y":2.50},
+         {"label":"k205", "x":4.50, "y":2.50},
+         {"label":"k206", "x":5.50, "y":2.50},
+         {"label":"k207", "x":6.50, "y":2.50},
+         {"label":"k208", "x":7.50, "y":2.50},
+         {"label":"k209", "x":8.50, "y":2.50},
+         {"label":"k210", "x":9.50, "y":2.50},
+         {"label":"k211", "x":10.5, "y":2.50},
+         {"label":"k212", "x":11.5, "y":2.50},
+         {"label":"k213", "x":12.5, "y":2.50},
+         {"label":"k301", "x":0.00, "y":3.50},
+         {"label":"k302", "x":1.50, "y":3.50},
+         {"label":"k303", "x":2.50, "y":3.50},
+         {"label":"k304", "x":3.50, "y":3.50},
+         {"label":"k305", "x":4.50, "y":3.50},
+         {"label":"k306", "x":5.50, "y":3.50},
+         {"label":"k307", "x":6.50, "y":3.50},
+         {"label":"k308", "x":7.50, "y":3.50},
+         {"label":"k309", "x":8.50, "y":3.50},
+         {"label":"k310", "x":9.50, "y":3.50},
+         {"label":"k311", "x":10.5, "y":3.50},
+         {"label":"k312", "x":11.5, "y":3.50},
+         {"label":"k313", "x":12.5, "y":3.50},
+         {"label":"k401", "x":0.00, "y":4.50},
+         {"label":"k402", "x":1.50, "y":4.50},
+         {"label":"k403", "x":2.50, "y":4.50},
+         {"label":"k404", "x":3.50, "y":4.50},
+         {"label":"k405", "x":4.50, "y":4.50},
+         {"label":"k406", "x":5.50, "y":4.50, "w":2.00},
+         {"label":"k409", "x":7.50, "y":4.50, "w":2.00},
+         {"label":"k410", "x":9.50, "y":4.50},
+         {"label":"k411", "x":10.5, "y":4.50},
+         {"label":"k412", "x":11.5, "y":4.50},
+         {"label":"k413", "x":12.5, "y":4.50}
+       ]
+     },
+     "LAYOUT_ortho_big_boy": {
+        "layout": [
+         {"label":"k001", "x":0.00, "y":0.00},
+         {"label":"k002", "x":1.50, "y":0.00},
+         {"label":"k011", "x":10.5, "y":0.00},
+         {"label":"k012", "x":11.5, "y":0.00},
+         {"label":"k013", "x":12.5, "y":0.00},
+         {"label":"k101", "x":0.00, "y":1.50},
+         {"label":"k102", "x":1.50, "y":1.50},
+         {"label":"k103", "x":2.50, "y":1.50},
+         {"label":"k104", "x":3.50, "y":1.50},
+         {"label":"k105", "x":4.50, "y":1.50},
+         {"label":"k106", "x":5.50, "y":1.50},
+         {"label":"k107", "x":6.50, "y":1.50},
+         {"label":"k108", "x":7.50, "y":1.50},
+         {"label":"k109", "x":8.50, "y":1.50},
+         {"label":"k110", "x":9.50, "y":1.50},
+         {"label":"k111", "x":10.5, "y":1.50},
+         {"label":"k112", "x":11.5, "y":1.50},
+         {"label":"k113", "x":12.5, "y":1.50},
+         {"label":"k201", "x":0.00, "y":2.50},
+         {"label":"k202", "x":1.50, "y":2.50},
+         {"label":"k203", "x":2.50, "y":2.50},
+         {"label":"k204", "x":3.50, "y":2.50},
+         {"label":"k205", "x":4.50, "y":2.50},
+         {"label":"k206", "x":5.50, "y":2.50},
+         {"label":"k207", "x":6.50, "y":2.50},
+         {"label":"k208", "x":7.50, "y":2.50},
+         {"label":"k209", "x":8.50, "y":2.50},
+         {"label":"k210", "x":9.50, "y":2.50},
+         {"label":"k211", "x":10.5, "y":2.50},
+         {"label":"k212", "x":11.5, "y":2.50},
+         {"label":"k213", "x":12.5, "y":2.50},
+         {"label":"k301", "x":0.00, "y":3.50},
+         {"label":"k302", "x":1.50, "y":3.50},
+         {"label":"k303", "x":2.50, "y":3.50},
+         {"label":"k304", "x":3.50, "y":3.50},
+         {"label":"k305", "x":4.50, "y":3.50},
+         {"label":"k306", "x":5.50, "y":3.50},
+         {"label":"k307", "x":6.50, "y":3.50},
+         {"label":"k308", "x":7.50, "y":3.50},
+         {"label":"k309", "x":8.50, "y":3.50},
+         {"label":"k310", "x":9.50, "y":3.50},
+         {"label":"k311", "x":10.5, "y":3.50},
+         {"label":"k312", "x":11.5, "y":3.50},
+         {"label":"k313", "x":12.5, "y":3.50},
+         {"label":"k401", "x":0.00, "y":4.50},
+         {"label":"k402", "x":1.50, "y":4.50},
+         {"label":"k403", "x":2.50, "y":4.50, "w":1.50},
+         {"label":"k404", "x":4.00, "y":4.50, "w":7.00},
+         {"label":"k405", "x":11.0, "y":4.50, "w":1.50},
+         {"label":"k413", "x":12.5, "y":4.50}
+       ]
+     }
+   }
+}

+ 32 - 0
keyboards/kingly_keys/ave/ortho/keymaps/default/config.h

@@ -0,0 +1,32 @@
+ /* 
+ Copyright 2020 Garret Gartner
+  
+ 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 TAPPING_TERM_PER_KEY
+
+#ifdef RGBLIGHT_ENABLE
+    /* ws2812 RGB LED */
+    #define RGB_DI_PIN B7
+    #define RGBLED_NUM 2   // Number of LEDs
+    
+    #define RGBLIGHT_EFFECT_BREATHING
+/*  #define RGBLIGHT_HUE_STEP 6
+*   #define RGBLIGHT_SAT_STEP 4
+*   #define RGBLIGHT_VAL_STEP 4
+*/
+#endif

+ 239 - 0
keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c

@@ -0,0 +1,239 @@
+ /* 
+ Copyright 2020 Garret Gartner
+  
+ 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 avenue_layers {
+  _QWERTY,
+  _LOWER,
+  _RAISE,
+  _FUNCTION
+};
+
+
+
+//Tap Dance Declarations:
+enum avenue_tapcodes {
+  TD_RST,
+  TD_DBQT,
+};
+
+void dance_rst_reset (qk_tap_dance_state_t *state, void *user_data) { // *Line_Note.001
+  if (state->count >= 2) {
+    reset_keyboard();
+    reset_tap_dance(state);
+  }
+}
+
+//Tap Dance Functions:
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_RST] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, NULL, dance_rst_reset), // References "dance_rst_reset" (*Line_Note.001)
+ [TD_DBQT] = ACTION_TAP_DANCE_DOUBLE (KC_QUOTE, KC_DQT)
+};
+
+
+
+// Keymap Customization:
+#define LOWR  MO(_LOWER)
+#define RISE  MO(_RAISE)
+#define FN    MO(_FUNCTION)
+#define GUI   KC_LGUI
+#define ALT   KC_LALT
+#define SPACE KC_SPACE
+
+    /*
+    *   ┌────┐
+    *   │    │ = "TRANSPARENT" KEY LOCATION
+    *   └────┘
+    */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+    /* _QWERTY (Base)
+    *
+    * ┌────┐ ┌────┐                                       ┌────┬────┬────┐
+    * │MUTE│ │Esc │                                       │ \  │ -  │ =  │
+    * └────┘ └────┘                                       └────┴────┴────┘
+    * ┌────┐ ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
+    * │Home│ │Tab │ Q  │ W  │ E  │ R  │ T  │ Y  │ U  │ I  │ O  │ P  │BkSp│
+    * ├────┤ ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
+    * │PgUp│ │CAPS│ A  │ S  │ D  │ F  │ G  │ H  │ J  │ K  │ L  │ ;  │ '  │
+    * ├────┤ ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
+    * │PgDn│ │Shft│ Z  │ X  │ C  │ V  │ B  │ N  │ M  │ ,  │ .  │ /  │Entr│
+    * ├────┤ ├────┼────┼────┼────┼────┼────┴────┼────┼────┼────┼────┼────┤
+    * │End │ │CTL │GUI │ALT │FUNC│LOWR│    │    │RISE│Left│Down│ Up │Rght│
+    * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘
+    */
+    [_QWERTY] = LAYOUT_ortho_all(
+        KC_MUTE,      KC_ESC,                                                                       KC_BSLS,   KC_MINUS,   KC_EQUAL,
+        KC_HOME,      KC_TAB,    KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,   KC_Y,   KC_U,   KC_I,      KC_O,      KC_P,       KC_BSPC,
+        KC_PGUP,      KC_LCTL,   KC_A,   KC_S,   KC_D,   KC_F,   KC_G,   KC_H,   KC_J,   KC_K,      KC_L,      KC_SCLN,    KC_QUOT,
+        KC_PGDN,      KC_LSFT,   KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM,   KC_DOT,    KC_SLSH,    KC_ENT,
+        KC_END,       KC_DEL,    GUI,    ALT,    FN,     LOWR,   SPACE,  SPACE,  RISE,   KC_LEFT,   KC_DOWN,   KC_UP,      KC_RIGHT
+    ),
+
+    /* _LOWER (Media / Symbols / Punctuation)
+    *
+    * ┌────┐ ┌────┐                                       ┌────┬────┬────┐
+    * │ // │ │PRNT│                                       │ [  │ ]  │ `  │
+    * └────┘ └────┘                                       └────┴────┴────┘
+    * ┌────┐ ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
+    * │PLAY│ │    │ 1  │ 2  │ 3  │ 4  │ 5  │ 6  │ 7  │ 8  │ 9  │ 0  │    │
+    * ├────┤ ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
+    * │NEXT│ │    │ !  │ @  │ #  │ $  │ %  │ ^  │ &  │ *  │ (  │ )  │ "  │
+    * ├────┤ ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
+    * │PREV│ │    │    │    │    │    │    │    │    │    │    │    │    │
+    * ├────┤ ├────┼────┼────┼────┼────┼────┴────┼────┼────┼────┼────┼────┤
+    * │STOP│ │    │    │    │    │    │    │    │    │    │    │    │    │
+    * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘
+    */
+    [_LOWER] = LAYOUT_ortho_all(
+        _______,      _______,                                                                                           KC_LBRC,   KC_RBRC,   KC_GRAVE,
+        KC_MPLY,      _______,   KC_1,      KC_2,      KC_3,      KC_4,      KC_5,      KC_6,      KC_7,      KC_8,      KC_9,      KC_0,      _______,
+        KC_MNXT,      _______,   KC_EXLM,   KC_AT,     KC_HASH,   KC_DLR,    KC_PERC,   KC_CIRC,   KC_AMPR,   KC_ASTR,   KC_LPRN,   KC_RPRN,   KC_DQT,
+        KC_MPRV,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,
+        KC_MSTP,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______
+    ),
+
+    /* _RAISE (Misc Modifiers / Extended Punctuation)
+    *
+    * ┌────┐ ┌────┐                                       ┌────┬────┬────┐
+    * │PRNT│ │    │                                       │ {  │ }  │ ~  │
+    * └────┘ └────┘                                       └────┴────┴────┘
+    * ┌────┐ ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
+    * │    │ │    │    │    │    │    │    │    │    │    │    │    │    │
+    * ├────┤ ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
+    * │    │ │CAPS│    │    │    │    │    │    │    │    │    │    │    │
+    * ├────┤ ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
+    * │    │ │    │    │    │    │    │    │    │    │    │    │    │    │
+    * ├────┤ ├────┼────┼────┼────┼────┼────┴────┼────┼────┼────┼────┼────┤
+    * │    │ │    │    │    │    │    │    │    │    │    │    │    │    │
+    * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘
+    */
+    [_RAISE] = LAYOUT_ortho_all(
+        KC_PSCR,      _______,                                                                                           KC_LCBR,   KC_RCBR,   KC_TILD,
+        _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,
+        _______,      KC_CAPS,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,
+        _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,
+        _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______
+    ),
+
+    /* _FUNCTION (F-Row / DFU Reset / RGB Toggle)
+    *
+    * ┌────┐ ┌────┐                                       ┌────┬────┬────┐
+    * │RSET│ │RGB │                                       │F11 │F12 │F13 │
+    * └────┘ └────┘                                       └────┴────┴────┘
+    * ┌────┐ ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
+    * │    │ │    │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │F10 │    │
+    * ├────┤ ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
+    * │    │ │    │    │    │    │    │    │    │    │    │    │    │    │
+    * ├────┤ ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
+    * │    │ │    │    │    │    │    │    │    │    │    │    │    │    │
+    * ├────┤ ├────┼────┼────┼────┼────┼────┴────┼────┼────┼────┼────┼────┤
+    * │    │ │    │    │    │    │    │    │    │    │    │    │    │    │
+    * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘
+    */
+    [_FUNCTION] = LAYOUT_ortho_all(
+        TD(TD_RST),   RGB_TOG,                                                                                           KC_F11,    KC_F12,    KC_F13,
+        _______,      _______,   KC_F1,     KC_F2,     KC_F3,     KC_F4,     KC_F5,     KC_F6,     KC_F7,     KC_F8,     KC_F9,     KC_F10,    _______,
+        _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,
+        _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,
+        _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______
+    )
+};
+
+
+
+//  KEYMAP TEMPLATE:
+//  
+//  /* <_LAYER>:
+//  *
+//  * ┌────┐ ┌────┐                                       ┌────┬────┬────┐
+//  * │    │ │    │                                       │    │    │    │
+//  * └────┘ └────┘                                       └────┴────┴────┘
+//  * ┌────┐ ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
+//  * │    │ │    │    │    │    │    │    │    │    │    │    │    │    │
+//  * ├────┤ ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
+//  * │    │ │    │    │    │    │    │    │    │    │    │    │    │    │
+//  * ├────┤ ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
+//  * │    │ │    │    │    │    │    │    │    │    │    │    │    │    │
+//  * ├────┤ ├────┼────┼────┼────┼────┼────┴────┼────┼────┼────┼────┼────┤
+//  * │    │ │    │    │    │    │    │    │    │    │    │    │    │    │
+//  * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘
+//  */
+//  [<LAYER>] = LAYOUT_ortho_all(
+//      _______,      _______,                                                                                           _______,   _______,   _______,
+//      _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,
+//      _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,
+//      _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,
+//      _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______
+//  )
+
+
+// Per-Key Tapping Term Definitions:
+uint16_t get_tapping_term(uint16_t keycode) {
+  switch (keycode) {
+    case TD(TD_DBQT):
+      return 235;
+    default:
+      return TAPPING_TERM;
+  }
+}
+
+
+// Encoder Customization: (*Order-of-Keycode Specific)
+void encoder_update_user(uint8_t index, bool clockwise) {
+    if (index == 0) {
+        if (clockwise) {
+            tap_code(KC_VOLU);
+        } else {
+            tap_code(KC_VOLD);
+        }
+    }
+}
+
+
+
+// RGB Indicator Customization: (100% stolen from Jetpacktuxedo)
+void keyboard_post_init_user(void) {
+  #ifdef RGBLIGHT_ENABLE
+// Set up RGB effects on _only_ the first LED (index 0):
+        rgblight_set_effect_range(0, 1);
+// Set LED effects to breathing mode in a "terminal-green" type color:
+        rgblight_sethsv_noeeprom(50, 255, 100);
+        rgblight_mode_noeeprom(RGBLIGHT_EFFECT_BREATHING + 2);
+// Init the second LED to a static color:
+        setrgb(225, 185, 0, (LED_TYPE *)&led[1]);
+    rgblight_set();
+  #endif // RGBLIGHT_ENABLE
+}
+
+// RGB Indicator Customization: (cont.)
+layer_state_t layer_state_set_user(layer_state_t state){
+    #ifdef RGBLIGHT_ENABLE
+        uint8_t led1r = 0; uint8_t led1g = 0; uint8_t led1b = 0;
+            if (layer_state_cmp(state, 1)) {
+                led1b = 255;
+            }
+            if (layer_state_cmp(state, 3)) {
+                led1r = 200;
+            }
+            setrgb(led1r, led1g, led1b, (LED_TYPE *)&led[1]);
+        rgblight_set();
+    #endif //RGBLIGHT_ENABLE
+  return state;
+}

+ 2 - 0
keyboards/kingly_keys/ave/ortho/keymaps/default/rules.mk

@@ -0,0 +1,2 @@
+# Keymap-Specific Functions
+TAP_DANCE_ENABLE  =  yes

+ 18 - 0
keyboards/kingly_keys/ave/ortho/ortho.c

@@ -0,0 +1,18 @@
+ /* 
+ Copyright 2020 Garret Gartner
+  
+ 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 "ortho.h"

+ 67 - 0
keyboards/kingly_keys/ave/ortho/ortho.h

@@ -0,0 +1,67 @@
+ /* 
+ Copyright 2020 Garret Gartner
+  
+ 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 XXXX KC_NO
+
+#define LAYOUT_ortho_all( \
+    k001,    k002,                                                 k011, k012, k013, \
+    k101,    k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, \
+    k201,    k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, \
+    k301,    k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, \
+    k401,    k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, k413 \
+) \
+{ \
+    { k001, k002, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, k011, k012, k013 }, \
+    { k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113 }, \
+    { k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213 }, \
+    { k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313 }, \
+    { k401, k402, k403, k404, k405, k406, k407, k408, k409, k410, k411, k412, k413 } \
+}
+
+#define LAYOUT_ortho_2x2u( \
+    k001,    k002,                                                 k011, k012, k013, \
+    k101,    k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, \
+    k201,    k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, \
+    k301,    k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, \
+    k401,    k402, k403, k404, k405,    k406,       k409,    k410, k411, k412, k413 \
+) \
+{ \
+    { k001, k002, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, k011, k012, k013 }, \
+    { k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113 }, \
+    { k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213 }, \
+    { k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313 }, \
+    { k401, k402, k403, k404, k405, k406, XXXX, XXXX, k409, k410, k411, k412, k413 } \
+}
+
+#define LAYOUT_ortho_big_boy( \
+    k001,    k002,                                                 k011, k012, k013, \
+    k101,    k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, \
+    k201,    k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213, \
+    k301,    k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313, \
+    k401,    k402,    k403,                k407,                      k412,    k413 \
+) \
+{ \
+    { k001, k002, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, k011, k012, k013 }, \
+    { k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113 }, \
+    { k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, k212, k213 }, \
+    { k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, k311, k312, k313 }, \
+    { k401, k402, k403, XXXX, XXXX, XXXX, k407, XXXX, XXXX, XXXX, XXXX, k412, k413 } \
+}

+ 23 - 0
keyboards/kingly_keys/ave/ortho/rules.mk

@@ -0,0 +1,23 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# 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 = yes        # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no       # Enable Bluetooth
+AUDIO_ENABLE = no           # Audio output
+ENCODER_ENABLE = yes

+ 21 - 0
keyboards/kingly_keys/ave/readme.md

@@ -0,0 +1,21 @@
+# The Ave. (Avenue)
+
+![ave-img-1](https://i.imgur.com/l5ah6uMl.png)
+
+A Compact Battlestation.
+
+- Keyboard Maintainer: [The-Royal](https://github.com/the-royal)
+- Hardware Supported: Rev10.0 Avenue PCBs *(Ortholinear & Staggered)*
+- Hardware Availability: Through group-buy or self procurement via open-source files. 
+
+Make examples for this keyboard (after setting up your build environment):
+
+**Ortholinear:**
+
+    make kingly_keys/ave/ortho:default
+
+**Staggered:**
+
+    make kingly_keys/ave/staggered: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).

+ 117 - 0
keyboards/kingly_keys/ave/staggered/info.json

@@ -0,0 +1,117 @@
+{
+  "keyboard_name": "The Ave. (Staggered Ed. PCB)",
+  "url": "",
+  "maintainer": "the-royal",
+  "width": 13.5,
+  "height": 5.5,
+  "layouts": {
+     "LAYOUT_staggered": {
+        "layout": [
+         {"label":"k001", "x":0.00, "y":0.00},
+         {"label":"k002", "x":1.50, "y":0.00},
+         {"label":"k011", "x":10.5, "y":0.00},
+         {"label":"k012", "x":11.5, "y":0.00},
+         {"label":"k013", "x":12.5, "y":0.00},
+         {"label":"k101", "x":0.00, "y":1.50},
+         {"label":"k102", "x":1.50, "y":1.50},
+         {"label":"k103", "x":2.50, "y":1.50},
+         {"label":"k104", "x":3.50, "y":1.50},
+         {"label":"k105", "x":4.50, "y":1.50},
+         {"label":"k106", "x":5.50, "y":1.50},
+         {"label":"k107", "x":6.50, "y":1.50},
+         {"label":"k108", "x":7.50, "y":1.50},
+         {"label":"k109", "x":8.50, "y":1.50},
+         {"label":"k110", "x":9.50, "y":1.50},
+         {"label":"k111", "x":10.5, "y":1.50},
+         {"label":"k112", "x":11.5, "y":1.50},
+         {"label":"k113", "x":12.5, "y":1.50},
+         {"label":"k201", "x":0.00, "y":2.50},
+         {"label":"k202", "x":1.50, "y":2.50, "w":1.25},
+         {"label":"k203", "x":2.75, "y":2.50},
+         {"label":"k204", "x":3.75, "y":2.50},
+         {"label":"k205", "x":4.75, "y":2.50},
+         {"label":"k206", "x":5.75, "y":2.50},
+         {"label":"k207", "x":6.75, "y":2.50},
+         {"label":"k208", "x":7.75, "y":2.50},
+         {"label":"k209", "x":8.75, "y":2.50},
+         {"label":"k210", "x":9.75, "y":2.50},
+         {"label":"k211", "x":10.75, "y":2.5},
+         {"label":"k213", "x":11.75, "y":2.5, "w":1.75},
+         {"label":"k301", "x":0.00, "y":3.50},
+         {"label":"k302", "x":1.50, "y":3.50, "w":1.75},
+         {"label":"k303", "x":3.25, "y":3.50},
+         {"label":"k304", "x":4.25, "y":3.50},
+         {"label":"k305", "x":5.25, "y":3.50},
+         {"label":"k306", "x":6.25, "y":3.50},
+         {"label":"k307", "x":7.25, "y":3.50},
+         {"label":"k308", "x":8.25, "y":3.50},
+         {"label":"k309", "x":9.25, "y":3.50},
+         {"label":"k310", "x":10.25, "y":3.50},
+         {"label":"k312", "x":11.25, "y":3.50},
+         {"label":"k313", "x":12.25, "y":3.50, "w":1.25},
+         {"label":"k401", "x":0.00, "y":4.50},
+         {"label":"k402", "x":1.50, "y":4.50, "w":1.25},
+         {"label":"k403", "x":2.75, "y":4.50},
+         {"label":"k404", "x":3.75, "y":4.50, "w":1.25},
+         {"label":"k406", "x":5.00, "y":4.50, "w":2.75},
+         {"label":"k408", "x":7.75, "y":4.50, "w":2.25},
+         {"label":"k411", "x":10.0, "y":4.50, "w":1.25},
+         {"label":"k412", "x":11.25, "y":4.50},
+         {"label":"k413", "x":12.25, "y":4.50, "w":1.25}
+       ]
+     },
+     "LAYOUT_staggered_big_boy": {
+        "layout": [
+         {"label":"k001", "x":0.00, "y":0.00},
+         {"label":"k002", "x":1.50, "y":0.00},
+         {"label":"k011", "x":10.5, "y":0.00},
+         {"label":"k012", "x":11.5, "y":0.00},
+         {"label":"k013", "x":12.5, "y":0.00},
+         {"label":"k101", "x":0.00, "y":1.50},
+         {"label":"k102", "x":1.50, "y":1.50},
+         {"label":"k103", "x":2.50, "y":1.50},
+         {"label":"k104", "x":3.50, "y":1.50},
+         {"label":"k105", "x":4.50, "y":1.50},
+         {"label":"k106", "x":5.50, "y":1.50},
+         {"label":"k107", "x":6.50, "y":1.50},
+         {"label":"k108", "x":7.50, "y":1.50},
+         {"label":"k109", "x":8.50, "y":1.50},
+         {"label":"k110", "x":9.50, "y":1.50},
+         {"label":"k111", "x":10.5, "y":1.50},
+         {"label":"k112", "x":11.5, "y":1.50},
+         {"label":"k113", "x":12.5, "y":1.50},
+         {"label":"k201", "x":0.00, "y":2.50},
+         {"label":"k202", "x":1.50, "y":2.50, "w":1.25},
+         {"label":"k203", "x":2.75, "y":2.50},
+         {"label":"k204", "x":3.75, "y":2.50},
+         {"label":"k205", "x":4.75, "y":2.50},
+         {"label":"k206", "x":5.75, "y":2.50},
+         {"label":"k207", "x":6.75, "y":2.50},
+         {"label":"k208", "x":7.75, "y":2.50},
+         {"label":"k209", "x":8.75, "y":2.50},
+         {"label":"k210", "x":9.75, "y":2.50},
+         {"label":"k211", "x":10.75, "y":2.5},
+         {"label":"k213", "x":11.75, "y":2.5, "w":1.75},
+         {"label":"k301", "x":0.00, "y":3.50},
+         {"label":"k302", "x":1.50, "y":3.50, "w":1.75},
+         {"label":"k303", "x":3.25, "y":3.50},
+         {"label":"k304", "x":4.25, "y":3.50},
+         {"label":"k305", "x":5.25, "y":3.50},
+         {"label":"k306", "x":6.25, "y":3.50},
+         {"label":"k307", "x":7.25, "y":3.50},
+         {"label":"k308", "x":8.25, "y":3.50},
+         {"label":"k309", "x":9.25, "y":3.50},
+         {"label":"k310", "x":10.25, "y":3.50},
+         {"label":"k312", "x":11.25, "y":3.50},
+         {"label":"k313", "x":12.25, "y":3.50, "w":1.25},
+         {"label":"k401", "x":0.00, "y":4.50},
+         {"label":"k402", "x":1.50, "y":4.50, "w":1.25},
+         {"label":"k403", "x":2.75, "y":4.50},
+         {"label":"k406", "x":3.75, "y":4.50, "w":6.25},
+         {"label":"k411", "x":10.0, "y":4.50, "w":1.25},
+         {"label":"k412", "x":11.25, "y":4.50},
+         {"label":"k413", "x":12.25, "y":4.50, "w":1.25}
+       ]
+    }
+  }
+}

+ 32 - 0
keyboards/kingly_keys/ave/staggered/keymaps/default/config.h

@@ -0,0 +1,32 @@
+ /* 
+ Copyright 2020 Garret Gartner
+  
+ 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 TAPPING_TERM_PER_KEY
+
+#ifdef RGBLIGHT_ENABLE
+    /* ws2812 RGB LED */
+    #define RGB_DI_PIN B7
+    #define RGBLED_NUM 2   // Number of LEDs
+    
+    #define RGBLIGHT_EFFECT_BREATHING
+/*  #define RGBLIGHT_HUE_STEP 6
+*   #define RGBLIGHT_SAT_STEP 4
+*   #define RGBLIGHT_VAL_STEP 4
+*/
+#endif

+ 241 - 0
keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c

@@ -0,0 +1,241 @@
+ /* 
+ Copyright 2020 Garret Gartner
+  
+ 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 avenue_layers {
+  _QWERTY,
+  _LOWER,
+  _RAISE,
+  _FUNCTION
+};
+
+
+
+//Tap Dance Declarations:
+enum avenue_tapcodes {
+  TD_RST,
+  TD_DBQT,
+};
+
+void dance_rst_reset (qk_tap_dance_state_t *state, void *user_data) { // *Line_Note.001
+  if (state->count >= 2) {
+    reset_keyboard();
+    reset_tap_dance(state);
+  }
+}
+
+//Tap Dance Functions:
+qk_tap_dance_action_t tap_dance_actions[] = {
+ [TD_RST] = ACTION_TAP_DANCE_FN_ADVANCED (NULL, NULL, dance_rst_reset), // References "dance_rst_reset" (*Line_Note.001)
+ [TD_DBQT] = ACTION_TAP_DANCE_DOUBLE (KC_QUOTE, KC_DQT)
+};
+
+
+
+// Keymap Customization:
+#define LOWR  MO(_LOWER)
+#define RISE  MO(_RAISE)
+#define FN    MO(_FUNCTION)
+#define GUI   KC_LGUI
+#define ALT   KC_LALT
+#define SPACE KC_SPACE
+
+    /*
+    *   ┌────┐
+    *   │    │ = "TRANSPARENT" KEY LOCATION
+    *   └────┘
+    */
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+    /* _QWERTY (Base)
+    *
+    * ┌────┐ ┌────┐                                       ┌────┬────┬────┐
+    * │MUTE│ │Esc │                                       │ (  │ )  │ ;  │
+    * └────┘ └────┘                                       └────┴────┴────┘
+    * ┌────┐ ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
+    * │Home│ │Tab │ Q  │ W  │ E  │ R  │ T  │ Y  │ U  │ I  │ O  │ P  │BkSp│
+    * ├────┤ ├────┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴────┤
+    * │PgUp│ │CAPS │ A  │ S  │ D  │ F  │ G  │ H  │ J  │ K  │ L  │ Enter  │
+    * ├────┤ ├─────┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─────┤
+    * │PgDn│ │LShft   │ Z  │ X  │ C  │ V  │ B  │ N  │ M  │ ,  │ .  │RISE │
+    * ├────┤ ├─────┬──┴─┬──┴──┬─┴────┴────┴──┬─┴────┴───┬┴────┼────┼─────┤
+    * │End │ │LCtrl│GUI │ALT  │    LOWR      │          │RAlt │RCTL│FUNC │
+    * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘
+    */
+    [_QWERTY] = LAYOUT_staggered(
+        KC_MUTE,      KC_ESC,                                                                       KC_LPRN,   KC_RPRN,   KC_SCLN,
+        KC_HOME,      KC_TAB,    KC_Q,   KC_W,   KC_E,   KC_R,   KC_T,   KC_Y,   KC_U,   KC_I,      KC_O,      KC_P,      KC_BSPC,
+        KC_PGUP,      KC_CAPS,   KC_A,   KC_S,   KC_D,   KC_F,   KC_G,   KC_H,   KC_J,   KC_K,      KC_L,           KC_ENT,
+        KC_PGDN,      KC_LSFT,   KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM,   KC_DOT,               RISE,
+        KC_END,       KC_LCTL,        GUI,       ALT,            LOWR,   SPACE,               KC_RALT,      KC_RCTL,      FN
+    ),
+
+    /* _LOWER (Symbols / Punctuation)
+    *
+    * ┌────┐ ┌────┐                                       ┌────┬────┬────┐
+    * │    │ │    │                                       │ [  │ ]  │ :  │
+    * └────┘ └────┘                                       └────┴────┴────┘
+    * ┌────┐ ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
+    * │ -  │ │    │ 1  │ 2  │ 3  │ 4  │ 5  │ 6  │ 7  │ 8  │ 9  │ 0  │    │
+    * ├────┤ ├────┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴────┤
+    * │ \  │ │     │ !  │ @  │ #  │ $  │ %  │ ^  │ &  │ *  │    │  '/"   │
+    * ├────┤ ├─────┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─────┤
+    * │ │  │ │        │    │    │    │    │    │    │    │    │    │     │
+    * ├────┤ ├─────┬──┴─┬──┴──┬─┴────┴────┴──┬─┴────┴───┬┴────┼────┼─────┤
+    * │ _  │ │     │    │     │              │          │     │    │     │
+    * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘
+    */
+    [_LOWER] = LAYOUT_staggered(
+        _______,      _______,                                                                                           KC_LBRC,   KC_RBRC,    KC_COLON,
+        KC_MINUS,     KC_GRAVE,   KC_1,      KC_2,      KC_3,      KC_4,      KC_5,      KC_6,      KC_7,      KC_8,     KC_9,      KC_0,       _______,
+        KC_BSLS,      KC_TILD,    KC_EXLM,   KC_AT,     KC_HASH,   KC_DLR,    KC_PERC,   KC_CIRC,   KC_AMPR,   KC_ASTR,   _______,      TD(TD_DBQT),
+        KC_PIPE,      _______,    _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,              _______,
+        KC_UNDS,      _______,    _______,   _______,                    _______,   _______,                              _______,   _______,   _______
+    ),
+
+    /* _RAISE (Misc Modifiers / Extended Punctuation)
+    *
+    * ┌────┐ ┌────┐                                       ┌────┬────┬────┐
+    * │PRNT│ │    │                                       │ {  │ }  │ +  │
+    * └────┘ └────┘                                       └────┴────┴────┘
+    * ┌────┐ ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
+    * │    │ │    │    │    │    │    │    │    │    │    │ Up │    │    │
+    * ├────┤ ├────┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴────┤
+    * │    │ │CAPS │    │    │    │    │    │    │    │Left│Rght│        │
+    * ├────┤ ├─────┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─────┤
+    * │    │ │        │    │    │    │    │    │    │    │Down│ /  │     │
+    * ├────┤ ├─────┬──┴─┬──┴──┬─┴────┴────┴──┬─┴────┴───┬┴────┼────┼─────┤
+    * │    │ │     │    │     │              │          │     │ ?  │     │
+    * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘
+    */
+    [_RAISE] = LAYOUT_staggered(
+        KC_PSCR,      _______,                                                                                           KC_LCBR,   KC_RCBR,   KC_PLUS,
+        _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   KC_UP,     _______,   _______,
+        _______,      KC_CAPS,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   KC_LEFT,   KC_RIGHT,        _______,
+        _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   KC_DOWN,   KC_SLSH,              _______,
+        _______,      _______,   _______,   _______,                    _______,   _______,                              _______,   KC_QUES,   _______
+    ),
+
+    /* _FUNCTION (F-Row / DFU Reset / RGB Toggle)
+    *
+    * ┌────┐ ┌────┐                                       ┌────┬────┬────┐
+    * │RSET│ │RGB │                                       │F11 │F12 │F13 │
+    * └────┘ └────┘                                       └────┴────┴────┘
+    * ┌────┐ ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
+    * │    │ │    │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ F7 │ F8 │ F9 │F10 │    │
+    * ├────┤ ├────┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴────┤
+    * │    │ │     │    │    │    │    │    │    │    │    │    │   =    │
+    * ├────┤ ├─────┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─────┤
+    * │    │ │        │    │    │    │    │    │    │    │    │    │     │
+    * ├────┤ ├─────┬──┴─┬──┴──┬─┴────┴────┴──┬─┴────┴───┬┴────┼────┼─────┤
+    * │    │ │     │    │     │              │          │     │    │     │
+    * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘
+    */
+    [_FUNCTION] = LAYOUT_staggered(
+        TD(TD_RST),   RGB_TOG,                                                                                           KC_F11,    KC_F12,    KC_F13,
+        _______,      _______,   KC_F1,     KC_F2,     KC_F3,     KC_F4,     KC_F5,     KC_F6,     KC_F7,     KC_F8,     KC_F9,     KC_F10,    _______,
+        _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,       KC_EQUAL,
+        _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,              _______,
+        _______,      _______,   _______,   _______,                    _______,   _______,                              _______,   _______,   _______
+    )
+};
+
+
+
+//  KEYMAP TEMPLATE:
+//
+//  /* <_LAYER>:
+//  *
+//  * ┌────┐ ┌────┐                                       ┌────┬────┬────┐
+//  * │    │ │    │                                       │    │    │    │
+//  * └────┘ └────┘                                       └────┴────┴────┘
+//  * ┌────┐ ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
+//  * │    │ │    │    │    │    │    │    │    │    │    │    │    │    │
+//  * ├────┤ ├────┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴────┤
+//  * │    │ │     │    │    │    │    │    │    │    │    │    │        │
+//  * ├────┤ ├─────┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─────┤
+//  * │    │ │        │    │    │    │    │    │    │    │    │    │     │
+//  * ├────┤ ├─────┬──┴─┬──┴──┬─┴────┴────┴──┬─┴────┴───┬┴────┼────┼─────┤
+//  * │    │ │     │    │     │              │          │     │    │     │
+//  * └────┘ └─────┴────┴─────┴──────────────┴──────────┴─────┴────┴─────┘
+//  */
+//  [<_LAYER>] = LAYOUT_staggered(
+//      _______,      _______,                                                                                           _______,   _______,   _______,
+//      _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,
+//      _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,         _______,
+//      _______,      _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,   _______,              _______,
+//      _______,      _______,   _______,   _______,                    _______,   _______,                              _______,   _______,   _______
+//  )
+
+
+
+// Per-Key Tapping Term Definitions:
+uint16_t get_tapping_term(uint16_t keycode) {
+  switch (keycode) {
+    case TD(TD_DBQT):
+      return 235;
+    default:
+      return TAPPING_TERM;
+  }
+}
+
+
+
+// Encoder Customization: (*Order-of-Keycode Specific)
+void encoder_update_user(uint8_t index, bool clockwise) {
+    if (index == 0) {
+        if (clockwise) {
+            tap_code(KC_VOLU);
+        } else {
+            tap_code(KC_VOLD);
+        }
+    }
+}
+
+
+
+// RGB Indicator Customization: (100% stolen from Jetpacktuxedo)
+void keyboard_post_init_user(void) {
+  #ifdef RGBLIGHT_ENABLE
+// Set up RGB effects on _only_ the first LED (index 0):
+        rgblight_set_effect_range(0, 1);
+// Set LED effects to breathing mode in a "terminal-green" type color:
+        rgblight_sethsv_noeeprom(50, 255, 100);
+        rgblight_mode_noeeprom(RGBLIGHT_EFFECT_BREATHING + 2);
+// Init the second LED to a static color:
+        setrgb(225, 185, 0, (LED_TYPE *)&led[1]);
+    rgblight_set();
+  #endif // RGBLIGHT_ENABLE
+}
+
+// RGB Indicator Customization: (cont.)
+layer_state_t layer_state_set_user(layer_state_t state){
+    #ifdef RGBLIGHT_ENABLE
+        uint8_t led1r = 0; uint8_t led1g = 0; uint8_t led1b = 0;
+            if (layer_state_cmp(state, 1)) {
+                led1b = 255;
+            }
+            if (layer_state_cmp(state, 3)) {
+                led1r = 200;
+            }
+            setrgb(led1r, led1g, led1b, (LED_TYPE *)&led[1]);
+        rgblight_set();
+    #endif //RGBLIGHT_ENABLE
+  return state;
+}

+ 2 - 0
keyboards/kingly_keys/ave/staggered/keymaps/default/rules.mk

@@ -0,0 +1,2 @@
+# Keymap-Specific Functions
+TAP_DANCE_ENABLE  =  yes

+ 23 - 0
keyboards/kingly_keys/ave/staggered/rules.mk

@@ -0,0 +1,23 @@
+# MCU name
+MCU = atmega32u4
+
+# Bootloader selection
+BOOTLOADER = atmel-dfu
+
+# 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 = yes        # Enable keyboard RGB underglow
+BLUETOOTH_ENABLE = no       # Enable Bluetooth
+AUDIO_ENABLE = no           # Audio output
+ENCODER_ENABLE = yes

+ 18 - 0
keyboards/kingly_keys/ave/staggered/staggered.c

@@ -0,0 +1,18 @@
+ /* 
+ Copyright 2020 Garret Gartner
+  
+ 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 "staggered.h"

+ 52 - 0
keyboards/kingly_keys/ave/staggered/staggered.h

@@ -0,0 +1,52 @@
+ /* 
+ Copyright 2020 Garret Gartner
+  
+ 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 XXXX KC_NO
+
+#define LAYOUT_staggered( \
+    k001,    k002,                                                 k011, k012, k013, \
+    k101,    k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, \
+    k201,    k202, k203, k204, k205, k206, k207, k208, k209, k210, k211,       k213, \
+    k301,    k302, k303, k304, k305, k306, k307, k308, k309, k310,       k312, k313, \
+    k401,    k402, k403, k404,       k406,       k408,             k411, k412, k413 \
+) \
+{ \
+    { k001, k002, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, k011, k012, k013 }, \
+    { k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113 }, \
+    { k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, XXXX, k213 }, \
+    { k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, XXXX, k312, k313 }, \
+    { k401, k402, k403, k404, XXXX, k406, XXXX, k408, XXXX, XXXX, k411, k412, k413 } \
+}
+
+#define LAYOUT_staggered_big_boy( \
+    k001,    k002,                                                 k011, k012, k013, \
+    k101,    k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113, \
+    k201,    k202, k203, k204, k205, k206, k207, k208, k209, k210, k211,       k213, \
+    k301,    k302, k303, k304, k305, k306, k307, k308, k309, k310,       k312, k313, \
+    k401,    k402, k403,                k406,                      k411, k412, k413 \
+) \
+{ \
+    { k001, k002, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, XXXX, k011, k012, k013 }, \
+    { k101, k102, k103, k104, k105, k106, k107, k108, k109, k110, k111, k112, k113 }, \
+    { k201, k202, k203, k204, k205, k206, k207, k208, k209, k210, k211, XXXX, k213 }, \
+    { k301, k302, k303, k304, k305, k306, k307, k308, k309, k310, XXXX, k312, k313 }, \
+    { k401, k402, k403, XXXX, XXXX, k406, XXXX, XXXX, XXXX, XXXX, k411, k412, k413 } \
+}