From 53f11668a3399ff1bdf82902a7717832831219bf Mon Sep 17 00:00:00 2001 From: Garret G <45295190+The-Royal@users.noreply.github.com> Date: Mon, 9 Nov 2020 23:03:12 -0600 Subject: [PATCH] [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 .c / .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 --- keyboards/kingly_keys/ave/config.h | 50 ++++ keyboards/kingly_keys/ave/ortho/info.json | 183 +++++++++++++ .../ave/ortho/keymaps/default/config.h | 32 +++ .../ave/ortho/keymaps/default/keymap.c | 239 +++++++++++++++++ .../ave/ortho/keymaps/default/rules.mk | 2 + keyboards/kingly_keys/ave/ortho/ortho.c | 18 ++ keyboards/kingly_keys/ave/ortho/ortho.h | 67 +++++ keyboards/kingly_keys/ave/ortho/rules.mk | 23 ++ keyboards/kingly_keys/ave/readme.md | 21 ++ keyboards/kingly_keys/ave/staggered/info.json | 117 +++++++++ .../ave/staggered/keymaps/default/config.h | 32 +++ .../ave/staggered/keymaps/default/keymap.c | 241 ++++++++++++++++++ .../ave/staggered/keymaps/default/rules.mk | 2 + keyboards/kingly_keys/ave/staggered/rules.mk | 23 ++ .../kingly_keys/ave/staggered/staggered.c | 18 ++ .../kingly_keys/ave/staggered/staggered.h | 52 ++++ 16 files changed, 1120 insertions(+) create mode 100644 keyboards/kingly_keys/ave/config.h create mode 100644 keyboards/kingly_keys/ave/ortho/info.json create mode 100644 keyboards/kingly_keys/ave/ortho/keymaps/default/config.h create mode 100644 keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c create mode 100644 keyboards/kingly_keys/ave/ortho/keymaps/default/rules.mk create mode 100644 keyboards/kingly_keys/ave/ortho/ortho.c create mode 100644 keyboards/kingly_keys/ave/ortho/ortho.h create mode 100644 keyboards/kingly_keys/ave/ortho/rules.mk create mode 100644 keyboards/kingly_keys/ave/readme.md create mode 100644 keyboards/kingly_keys/ave/staggered/info.json create mode 100644 keyboards/kingly_keys/ave/staggered/keymaps/default/config.h create mode 100644 keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c create mode 100644 keyboards/kingly_keys/ave/staggered/keymaps/default/rules.mk create mode 100644 keyboards/kingly_keys/ave/staggered/rules.mk create mode 100644 keyboards/kingly_keys/ave/staggered/staggered.c create mode 100644 keyboards/kingly_keys/ave/staggered/staggered.h diff --git a/keyboards/kingly_keys/ave/config.h b/keyboards/kingly_keys/ave/config.h new file mode 100644 index 00000000000..06fda4c26d6 --- /dev/null +++ b/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 . + */ + +#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 diff --git a/keyboards/kingly_keys/ave/ortho/info.json b/keyboards/kingly_keys/ave/ortho/info.json new file mode 100644 index 00000000000..9853fcd775e --- /dev/null +++ b/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} + ] + } + } +} diff --git a/keyboards/kingly_keys/ave/ortho/keymaps/default/config.h b/keyboards/kingly_keys/ave/ortho/keymaps/default/config.h new file mode 100644 index 00000000000..6fba9d2b9c2 --- /dev/null +++ b/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 . + */ + +#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 diff --git a/keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c b/keyboards/kingly_keys/ave/ortho/keymaps/default/keymap.c new file mode 100644 index 00000000000..4e195d43bbc --- /dev/null +++ b/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 . + */ + +#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>: +// * +// * ┌────┐ ┌────┐ ┌────┬────┬────┐ +// * │ │ │ │ │ │ │ │ +// * └────┘ └────┘ └────┴────┴────┘ +// * ┌────┐ ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐ +// * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +// * ├────┤ ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +// * ├────┤ ├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +// * ├────┤ ├────┼────┼────┼────┼────┼────┴────┼────┼────┼────┼────┼────┤ +// * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +// * └────┘ └────┴────┴────┴────┴────┴─────────┴────┴────┴────┴────┴────┘ +// */ +// [] = 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; +} diff --git a/keyboards/kingly_keys/ave/ortho/keymaps/default/rules.mk b/keyboards/kingly_keys/ave/ortho/keymaps/default/rules.mk new file mode 100644 index 00000000000..a6be46d742e --- /dev/null +++ b/keyboards/kingly_keys/ave/ortho/keymaps/default/rules.mk @@ -0,0 +1,2 @@ +# Keymap-Specific Functions +TAP_DANCE_ENABLE = yes diff --git a/keyboards/kingly_keys/ave/ortho/ortho.c b/keyboards/kingly_keys/ave/ortho/ortho.c new file mode 100644 index 00000000000..4fb95e76849 --- /dev/null +++ b/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 . + */ + +#include "ortho.h" diff --git a/keyboards/kingly_keys/ave/ortho/ortho.h b/keyboards/kingly_keys/ave/ortho/ortho.h new file mode 100644 index 00000000000..12cdede5366 --- /dev/null +++ b/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 . + */ + +#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 } \ +} diff --git a/keyboards/kingly_keys/ave/ortho/rules.mk b/keyboards/kingly_keys/ave/ortho/rules.mk new file mode 100644 index 00000000000..611eb0ce1a6 --- /dev/null +++ b/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 diff --git a/keyboards/kingly_keys/ave/readme.md b/keyboards/kingly_keys/ave/readme.md new file mode 100644 index 00000000000..080edf49662 --- /dev/null +++ b/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). diff --git a/keyboards/kingly_keys/ave/staggered/info.json b/keyboards/kingly_keys/ave/staggered/info.json new file mode 100644 index 00000000000..9a64cdeb360 --- /dev/null +++ b/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} + ] + } + } +} diff --git a/keyboards/kingly_keys/ave/staggered/keymaps/default/config.h b/keyboards/kingly_keys/ave/staggered/keymaps/default/config.h new file mode 100644 index 00000000000..6fba9d2b9c2 --- /dev/null +++ b/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 . + */ + +#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 diff --git a/keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c b/keyboards/kingly_keys/ave/staggered/keymaps/default/keymap.c new file mode 100644 index 00000000000..16f469b53ab --- /dev/null +++ b/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 . + */ + +#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; +} diff --git a/keyboards/kingly_keys/ave/staggered/keymaps/default/rules.mk b/keyboards/kingly_keys/ave/staggered/keymaps/default/rules.mk new file mode 100644 index 00000000000..a6be46d742e --- /dev/null +++ b/keyboards/kingly_keys/ave/staggered/keymaps/default/rules.mk @@ -0,0 +1,2 @@ +# Keymap-Specific Functions +TAP_DANCE_ENABLE = yes diff --git a/keyboards/kingly_keys/ave/staggered/rules.mk b/keyboards/kingly_keys/ave/staggered/rules.mk new file mode 100644 index 00000000000..611eb0ce1a6 --- /dev/null +++ b/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 diff --git a/keyboards/kingly_keys/ave/staggered/staggered.c b/keyboards/kingly_keys/ave/staggered/staggered.c new file mode 100644 index 00000000000..4aa0d45ea36 --- /dev/null +++ b/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 . + */ + +#include "staggered.h" diff --git a/keyboards/kingly_keys/ave/staggered/staggered.h b/keyboards/kingly_keys/ave/staggered/staggered.h new file mode 100644 index 00000000000..674122bc0ca --- /dev/null +++ b/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 . + */ + +#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 } \ +}