From 4a3e0ef9abe98f09dfce0a6b9c16f55505ca5c3a Mon Sep 17 00:00:00 2001 From: Minke Zhang Date: Sat, 2 Jul 2022 05:39:31 -0700 Subject: [PATCH 1/3] Add personal YMDK Split64 keymap (#16980) Co-authored-by: Drashna Jaelre --- .../ymdk/sp64/keymaps/minkezhang/config.h | 5 + .../ymdk/sp64/keymaps/minkezhang/keymap.c | 149 ++++++++++++++++++ .../ymdk/sp64/keymaps/minkezhang/readme.md | 7 + .../ymdk/sp64/keymaps/minkezhang/rules.mk | 1 + 4 files changed, 162 insertions(+) create mode 100644 keyboards/ymdk/sp64/keymaps/minkezhang/config.h create mode 100644 keyboards/ymdk/sp64/keymaps/minkezhang/keymap.c create mode 100644 keyboards/ymdk/sp64/keymaps/minkezhang/readme.md create mode 100644 keyboards/ymdk/sp64/keymaps/minkezhang/rules.mk diff --git a/keyboards/ymdk/sp64/keymaps/minkezhang/config.h b/keyboards/ymdk/sp64/keymaps/minkezhang/config.h new file mode 100644 index 00000000000..5bfa79eb210 --- /dev/null +++ b/keyboards/ymdk/sp64/keymaps/minkezhang/config.h @@ -0,0 +1,5 @@ +// Copyright 2022 Minke Zhang (@minkezhang) +// SPDX-License-Identifier: GPL-3.0-only +#pragma once + +#define RGBLIGHT_LAYERS diff --git a/keyboards/ymdk/sp64/keymaps/minkezhang/keymap.c b/keyboards/ymdk/sp64/keymaps/minkezhang/keymap.c new file mode 100644 index 00000000000..7481696fd6d --- /dev/null +++ b/keyboards/ymdk/sp64/keymaps/minkezhang/keymap.c @@ -0,0 +1,149 @@ +// Copyright 2022 Minke Zhang (@minkezhang) +// SPDX-License-Identifier: GPL-3.0-only +#include QMK_KEYBOARD_H + +/* Layer transitions diagram + * + * BASE <-> _FN [MO] + * BASE <-> _NUM [TG] + * _NUM <-> _MIRROR [MO] + * + * Direct transitions between layers not listed here are considered bugs. + */ +enum layer_names { + BASE, // default layer + _FN, // function layer + _NUM, // numpad + _MIRROR, // mirrorboard layer +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* Keymap 0: Basic layer + * + * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐ + * │ Esc │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ = │ BkSp │ + * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤ + * │ Tab │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ + * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤ + * │ Caps │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ Enter │ + * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤ + * │ LShift │ Z │ X │ C │ V │ B │ │ N │ M │ < │ > │ ? │Shft │ Up │ Del │ + * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤ + * │ Ctrl │ Win │ Alt │ Fn │ Sp │ │ │ Alt │ Fn │ Lft │ Dwn │ Rgt │ + * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘ + */ +[BASE] = LAYOUT( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINUS, KC_EQUAL, KC_BSPC, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRACKET, KC_RBRACKET, KC_BSLS, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCOLON, KC_QUOTE, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL, + KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPACE, KC_SPACE, KC_RALT, TG(_NUM), KC_LEFT, KC_DOWN, KC_RIGHT + ), + +/* Function + * + * Cannot access the _NUM layer directly. + * + * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐ + * │ ` │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ │ + * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤ + * │ │ │ │ Up │ │ │ │ │ │ │ │ │ │ │ │ + * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤ + * │ Enter │ │ Lft │ Dwn │ Rgt │ │ │ │ │ │ │ │ │ │ + * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤ + * │ │ │ │ │ │ │ │ │ NO │ │ │ │ + * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘ + */ +[_FN] = LAYOUT( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, + _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + KC_ENT, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______ + ), + +/* Numpad + * + * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐ + * │ ` │ │ │ │ │ │ │ │ Num │ / │ * │ - │ | │ | + * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤ + * │ │ │ │ │ │ │ │ │ 7 │ 8 │ 9 │ + │ │ │ │ + * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤ + * │ │ │ │ │ │ │ │ │ 4 │ 5 │ 6 │ │ │ │ + * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤ + * │ │ │ │ │ │ │ │ │ 1 │ 2 │ 3 │ Ent │ │ │ │ + * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤ + * │ │ │ │ Fn │ │ │ 0 │ . │ Fn │ │ │ │ + * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘ + */ +[_NUM] = LAYOUT( + KC_GRV, _______, _______, _______, _______, _______, _______, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, + _______, _______, _______, MO(_MIRROR), _______, KC_P0, KC_PDOT, TG(_NUM), _______, _______, _______ + ), + +/* Mirrorboard + * + * Useful in some niche situations per XKCD. Cannot pass directly to BASE layer + * without releasing the _MIRROR toggle key. + * + * ┌-----┬-----┬-----┬-----┬-----┬-----┬-----┐ ┌-----┬-----┬-----┬-----┬-----┬-----┬----------┐ + * │ Bk │ = │ - │ 0 │ 9 │ 8 │ 7 │ │ │ │ │ │ | │ | + * ├-----┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┘ ┌--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬--┴--┬-------┤ + * │ \ │ P │ O │ I │ U │ Y │ │ │ │ │ │ │ │ │ │ + * ├--------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴-------┤ + * │ Enter │ ; │ L │ K │ J │ H │ │ │ │ │ │ │ │ │ + * ├---------┴┬----┴┬----┴┬----┴┬----┴┬----┴┐ └┬----┴┬----┴┬----┴┬----┴┬----┴┬----┴┬-----┬-----┤ + * │ │ ? │ > │ < │ M │ N │ │ │ │ │ │ │ │ │ │ + * ├------┬---┴-┬---┴--┬--┴-----┴----┬┴----┬┘ ┌┴-----┴-----┴--┬--┴----┬┴-----┼-----┼-----┼-----┤ + * │ │ │ │ │ │ │ │ │ NO │ │ │ │ + * └------┴-----┴------┴-------------┴-----┘ └---------------┴-------┴------┴-----┴-----┴-----┘ + */ +[_MIRROR] = LAYOUT( + KC_BSPC, KC_EQUAL, KC_MINUS, KC_0, KC_9, KC_8, KC_7, _______, _______, _______, _______, _______, _______, _______, + KC_BSLS, KC_P, KC_O, KC_I, KC_U, KC_Y, _______, _______, _______, _______, _______, _______, _______, _______, + KC_ENT, KC_SCOLON, KC_L, KC_K, KC_J, KC_H, _______, _______, _______, _______, _______, _______, _______, + _______, KC_SLSH, KC_DOT, KC_COMM, KC_M, KC_N, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_NO, _______, _______, _______ + ), +}; + +#if defined(RGBLIGHT_ENABLE) && defined(RGBLIGHT_LAYERS) +const rgblight_segment_t PROGMEM BASE_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 12, HSV_OFF}); +const rgblight_segment_t PROGMEM _FN_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 12, HSV_RED}); +const rgblight_segment_t PROGMEM _NUM_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 12, HSV_YELLOW}); +const rgblight_segment_t PROGMEM _MIRROR_layer[] = RGBLIGHT_LAYER_SEGMENTS({0, 12, HSV_ORANGE}); + +const rgblight_segment_t* const PROGMEM user_rgb_layers[] = RGBLIGHT_LAYERS_LIST( + BASE_layer, + _FN_layer, + _NUM_layer, + _MIRROR_layer +); + +void keyboard_post_init_user(void) { + rgblight_layers = user_rgb_layers; +} +layer_state_t default_layer_state_set_user(layer_state_t state) { + rgblight_set_layer_state(0, layer_state_cmp(state, BASE)); + + return state; +} + +layer_state_t layer_state_set_user(layer_state_t state) { + +/* Add some indication for current function layer. + * + * N.B.: rgblight_set_layer_state calls rgblight_mode_noeeprom. + */ + rgblight_set_layer_state(1, layer_state_cmp(state, _FN)); + rgblight_set_layer_state(2, layer_state_cmp(state, _NUM)); + rgblight_set_layer_state(3, layer_state_cmp(state, _MIRROR)); + + return state; +} +#endif diff --git a/keyboards/ymdk/sp64/keymaps/minkezhang/readme.md b/keyboards/ymdk/sp64/keymaps/minkezhang/readme.md new file mode 100644 index 00000000000..50d4eb87883 --- /dev/null +++ b/keyboards/ymdk/sp64/keymaps/minkezhang/readme.md @@ -0,0 +1,7 @@ +# YMDK Split 64 +Personal Keymap for [minkezhang](https://github.com/minkezhang) + +## Compile +```bash +qmk compile -kb ymdk/sp64 -km minkezhang +``` diff --git a/keyboards/ymdk/sp64/keymaps/minkezhang/rules.mk b/keyboards/ymdk/sp64/keymaps/minkezhang/rules.mk new file mode 100644 index 00000000000..1e3cebb1451 --- /dev/null +++ b/keyboards/ymdk/sp64/keymaps/minkezhang/rules.mk @@ -0,0 +1 @@ +RGBLIGHT_ENABLE = yes From 07f6fba6ded1cf7a06df4aeef263fdcd9583ee59 Mon Sep 17 00:00:00 2001 From: jpe230 Date: Sat, 2 Jul 2022 07:40:24 -0500 Subject: [PATCH 2/3] Add Jpe230 Preonic Keymap (#17331) --- keyboards/preonic/keymaps/jpe230/config.h | 28 ++++++ keyboards/preonic/keymaps/jpe230/jpe230.h | 35 +++++++ keyboards/preonic/keymaps/jpe230/keymap.c | 116 ++++++++++++++++++++++ keyboards/preonic/keymaps/jpe230/rules.mk | 9 ++ 4 files changed, 188 insertions(+) create mode 100644 keyboards/preonic/keymaps/jpe230/config.h create mode 100644 keyboards/preonic/keymaps/jpe230/jpe230.h create mode 100644 keyboards/preonic/keymaps/jpe230/keymap.c create mode 100644 keyboards/preonic/keymaps/jpe230/rules.mk diff --git a/keyboards/preonic/keymaps/jpe230/config.h b/keyboards/preonic/keymaps/jpe230/config.h new file mode 100644 index 00000000000..70cb9d826b2 --- /dev/null +++ b/keyboards/preonic/keymaps/jpe230/config.h @@ -0,0 +1,28 @@ +/* +Copyright 2022 Jose Pablo Ramirez + +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 + +#ifdef AUDIO_ENABLE +#define STARTUP_SONG SONG(ODE_TO_JOY) +#endif + +#define MUSIC_MASK (keycode != KC_NO) + +#define ENABLE_COMPILE_KEYCODE +#define AUDIO_ENABLE_TONE_MULTIPLEXING +#define AUDIO_TONE_MULTIPLEXING_RATE_DEFAULT 10 \ No newline at end of file diff --git a/keyboards/preonic/keymaps/jpe230/jpe230.h b/keyboards/preonic/keymaps/jpe230/jpe230.h new file mode 100644 index 00000000000..e6b4ed14015 --- /dev/null +++ b/keyboards/preonic/keymaps/jpe230/jpe230.h @@ -0,0 +1,35 @@ +/* +Copyright 2022 Jose Pablo Ramirez + +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 . +*/ + +#ifdef VIA_ENABLE + #define USER_START USER00 +#else + #define USER_START SAFE_RANGE +#endif + +enum jpe230_keycodes { + KC_LSRS = USER_START, + KC_LERS, + KC_LSRE +}; + +#define LEFT_BAR 0, 9, 5 +#define RIGHT_BAR 0, 9, 1 + +float song_lsrs[][2] = SONG(QWERTY_SOUND); +float song_lers[][2] = SONG(COLEMAK_SOUND); +float song_lsre[][2] = SONG(DVORAK_SOUND); \ No newline at end of file diff --git a/keyboards/preonic/keymaps/jpe230/keymap.c b/keyboards/preonic/keymaps/jpe230/keymap.c new file mode 100644 index 00000000000..43aa42aaf1c --- /dev/null +++ b/keyboards/preonic/keymaps/jpe230/keymap.c @@ -0,0 +1,116 @@ +/* +Copyright 2022 Jose Pablo Ramirez + +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 +#include "jpe230.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_preonic_grid( + //,-----------------------------------------------------------------------------------------------------------. + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + 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_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ESC, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + KC_LBRC, KC_RBRC, KC_LGUI, MO(1), _______, KC_SPC, _______, KC_ENT, MO(2), KC_RALT, KC_MINS, KC_EQL + //`-----------------------------------------------------------------------------------------------------------' + ), + + [1] = LAYOUT_preonic_grid( + //,-----------------------------------------------------------------------------------------------------------. + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_BSPC, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + KC_ESC, _______, _______, _______, _______, _______, _______, _______, _______, _______, CK_UP, AU_TOG, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + KC_CAPS, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, CK_DOWN, _______, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + KC_LSFT, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN,KC_RIGHT, _______, CK_RST, _______, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + _______, _______, _______, _______, _______, _______, _______, _______, MO(3), _______, _______, _______ + //`-----------------------------------------------------------------------------------------------------------' + ), + + [2] = LAYOUT_preonic_grid( + //,-----------------------------------------------------------------------------------------------------------. + KC_GRV, KC_F11, KC_F12, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_BSPC, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + KC_CAPS, _______, KC_MS_U, _______, _______, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + KC_LSFT, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + _______, _______, _______, MO(3), _______, KC_BTN1, _______, _______, _______, _______, _______, _______ + //`-----------------------------------------------------------------------------------------------------------' + ), + + [3] = LAYOUT_preonic_grid( + //,-----------------------------------------------------------------------------------------------------------. + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + KC_MUTE, KC_WBAK, KC_WFWD, KC_F7, KC_F8, KC_F9, _______, KC_7, KC_8, KC_9, _______, QK_BOOT, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + KC_VOLU, _______, KC_MNXT, KC_F6, KC_F5, KC_F6, _______, KC_6, KC_5, KC_4, _______, QK_MAKE, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + KC_VOLD, KC_MPRV, KC_MNXT, KC_F1, KC_F2, KC_F3, KC_LSRS, KC_1, KC_2, KC_3, _______, DB_TOGG, + //|--------+--------+--------+--------+--------+--------|--------+--------+--------+--------+--------+--------| + MU_TOG, MU_MOD, _______, _______, _______, KC_LSRE, _______, KC_LERS, _______, _______, _______, EE_CLR + //`-----------------------------------------------------------------------------------------------------------' + ) +}; + +/* +Logic to shift between the bars: + KC_LSRE => Left Bar - Space... Right Bar - Enter + KC_LERS => Left Bar - Enter... Right Bar - Space + KC_LSRS => Left Bar - Space... Right Bar - Space + + Hack into dynamic_keymap_set_keycode and change the value of the keymap. + (Just like VIA does, but instead it is done inside the keyboard so no need + to open the app) + + Possible alternatives: + - Create 3 layers but only change the KC_ENTER and KC_SPACE position between them + - Create a custom keycode and use process_record_user to alter the behaviour +*/ +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (record->event.pressed) { + switch (keycode) { + case KC_LSRS: + dynamic_keymap_set_keycode(LEFT_BAR, KC_SPC); + dynamic_keymap_set_keycode(RIGHT_BAR, KC_SPC); + PLAY_SONG(song_lsrs); + return false; + case KC_LERS: + dynamic_keymap_set_keycode(LEFT_BAR, KC_ENT); + dynamic_keymap_set_keycode(RIGHT_BAR, KC_SPC); + PLAY_SONG(song_lers); + return false; + case KC_LSRE: + dynamic_keymap_set_keycode(LEFT_BAR, KC_SPC); + dynamic_keymap_set_keycode(RIGHT_BAR, KC_ENT); + PLAY_SONG(song_lsre); + return false; + default: + return true; // Process all other keycodes normally + } + } + return true; +} diff --git a/keyboards/preonic/keymaps/jpe230/rules.mk b/keyboards/preonic/keymaps/jpe230/rules.mk new file mode 100644 index 00000000000..d57d1e33f2d --- /dev/null +++ b/keyboards/preonic/keymaps/jpe230/rules.mk @@ -0,0 +1,9 @@ +# Disable unused features inherited from the kb rules.mk +RGBLIGHT_ENABLE = no +ENCODER_ENABLE = no +DIP_SWITCH_ENABLE = no +CONSOLE_ENABLE = no +COMMAND_ENABLE = no + +# Enable VIA +VIA_ENABLE = yes \ No newline at end of file From 3059d7883c4d129054d40a22f31efa45373154e3 Mon Sep 17 00:00:00 2001 From: spooknik <40317809+spooknik@users.noreply.github.com> Date: Sat, 2 Jul 2022 14:41:32 +0200 Subject: [PATCH 3/3] Swift65 Hotswap Support (#16987) Co-authored-by: Drashna Jaelre Co-authored-by: Steven Phillips --- keyboards/alfredslab/swift65/hotswap/config.h | 66 +++++++++++++++ .../alfredslab/swift65/hotswap/hotswap.c | 19 +++++ .../alfredslab/swift65/hotswap/hotswap.h | 35 ++++++++ .../alfredslab/swift65/hotswap/info.json | 81 +++++++++++++++++++ .../swift65/hotswap/keymaps/default/keymap.c | 37 +++++++++ .../swift65/hotswap/keymaps/via/keymap.c | 53 ++++++++++++ .../swift65/hotswap/keymaps/via/rules.mk | 1 + .../alfredslab/swift65/hotswap/readme.md | 19 +++++ keyboards/alfredslab/swift65/hotswap/rules.mk | 19 +++++ 9 files changed, 330 insertions(+) create mode 100644 keyboards/alfredslab/swift65/hotswap/config.h create mode 100644 keyboards/alfredslab/swift65/hotswap/hotswap.c create mode 100644 keyboards/alfredslab/swift65/hotswap/hotswap.h create mode 100644 keyboards/alfredslab/swift65/hotswap/info.json create mode 100644 keyboards/alfredslab/swift65/hotswap/keymaps/default/keymap.c create mode 100644 keyboards/alfredslab/swift65/hotswap/keymaps/via/keymap.c create mode 100644 keyboards/alfredslab/swift65/hotswap/keymaps/via/rules.mk create mode 100644 keyboards/alfredslab/swift65/hotswap/readme.md create mode 100644 keyboards/alfredslab/swift65/hotswap/rules.mk diff --git a/keyboards/alfredslab/swift65/hotswap/config.h b/keyboards/alfredslab/swift65/hotswap/config.h new file mode 100644 index 00000000000..acf4f521b82 --- /dev/null +++ b/keyboards/alfredslab/swift65/hotswap/config.h @@ -0,0 +1,66 @@ +/* Copyright 2021 Steven Phillips (Spooknik) + * + * 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 0xBBEB +#define PRODUCT_ID 0xD4C4 +#define DEVICE_VER 0x0001 +#define MANUFACTURER AlfredsLab +#define PRODUCT Swift65 + +/* key matrix size */ +#define MATRIX_ROWS 5 +#define MATRIX_COLS 15 + +/* + * Keyboard Matrix Assignments + * + * Change this to how you wired your keyboard + * COLS: AVR pins used for columns, left to right + * ROWS: AVR pins used for rows, top to bottom + * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode) + * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode) + * + */ +#define MATRIX_ROW_PINS { B1, B2, B3, D6, D4 } +#define MATRIX_COL_PINS { F7, F6, F5, F4, F1, F0, C7, C6, B6, B5, B4, D7, D5, D3, D1 } + +#define DIODE_DIRECTION COL2ROW + +#define RGB_DI_PIN D2 +#ifdef RGB_DI_PIN + #define RGBLED_NUM 22 + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 + #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ + #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ +/*== all animations enable ==*/ +#define RGBLIGHT_EFFECT_BREATHING +#define RGBLIGHT_EFFECT_RAINBOW_MOOD +#define RGBLIGHT_EFFECT_RAINBOW_SWIRL +#define RGBLIGHT_EFFECT_SNAKE +#define RGBLIGHT_EFFECT_KNIGHT +#define RGBLIGHT_EFFECT_CHRISTMAS +#define RGBLIGHT_EFFECT_STATIC_GRADIENT +#define RGBLIGHT_EFFECT_RGB_TEST +#define RGBLIGHT_EFFECT_ALTERNATING +#define RGBLIGHT_EFFECT_TWINKLE +#endif diff --git a/keyboards/alfredslab/swift65/hotswap/hotswap.c b/keyboards/alfredslab/swift65/hotswap/hotswap.c new file mode 100644 index 00000000000..83546fff4ef --- /dev/null +++ b/keyboards/alfredslab/swift65/hotswap/hotswap.c @@ -0,0 +1,19 @@ +/* Copyright 2021 Steven Phillips (spooknik) + * + * 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 "hotswap.h" + diff --git a/keyboards/alfredslab/swift65/hotswap/hotswap.h b/keyboards/alfredslab/swift65/hotswap/hotswap.h new file mode 100644 index 00000000000..ab9c3d82509 --- /dev/null +++ b/keyboards/alfredslab/swift65/hotswap/hotswap.h @@ -0,0 +1,35 @@ +/* Copyright 2022 Steven Phillips (spooknik) + * + * 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 XXX KC_NO + +#define LAYOUT_7u_space( \ + K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, \ + K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, \ + K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2D, K2E, \ + K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ + K40, K41, K42, K46, K4B, K4C, K4D, K4E \ +) { \ + { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E }, \ + { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E }, \ + { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, XXX, K2D, K2E }, \ + { XXX, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, XXX }, \ + { K40, K41, K42, XXX, XXX, XXX, K46, XXX, XXX, XXX, XXX, K4B, K4C, K4D, K4E }, \ +} diff --git a/keyboards/alfredslab/swift65/hotswap/info.json b/keyboards/alfredslab/swift65/hotswap/info.json new file mode 100644 index 00000000000..37bc480d4bf --- /dev/null +++ b/keyboards/alfredslab/swift65/hotswap/info.json @@ -0,0 +1,81 @@ +{ + "keyboard_name": "hotswap", + "url": "https://swiftcables.net/", + "maintainer": "Spooknik", + "layout_aliases": { + "LAYOUT": "LAYOUT_7u_space", + "LAYOUT_all": "LAYOUT_7u_space" + }, + "layouts": { + "LAYOUT_7u_space": { + "layout": [ + { "label": "K00 (B1,F7)", "x": 0, "y": 0 }, + { "label": "K01 (B1,F6)", "x": 1, "y": 0 }, + { "label": "K02 (B1,F5)", "x": 2, "y": 0 }, + { "label": "K03 (B1,F4)", "x": 3, "y": 0 }, + { "label": "K04 (B1,F1)", "x": 4, "y": 0 }, + { "label": "K05 (B1,F0)", "x": 5, "y": 0 }, + { "label": "K06 (B1,C7)", "x": 6, "y": 0 }, + { "label": "K07 (B1,C6)", "x": 7, "y": 0 }, + { "label": "K08 (B1,B6)", "x": 8, "y": 0 }, + { "label": "K09 (B1,B5)", "x": 9, "y": 0 }, + { "label": "K0A (B1,B4)", "x": 10, "y": 0 }, + { "label": "K0B (B1,D7)", "x": 11, "y": 0 }, + { "label": "K0C (B1,D5)", "x": 12, "y": 0 }, + { "label": "K0D (B1,D3)", "x": 13, "y": 0, "w": 2 }, + { "label": "K0E (B1,D1)", "x": 15.25, "y": 0 }, + { "label": "K10 (B2,F7)", "x": 0, "y": 1, "w": 1.5 }, + { "label": "K11 (B2,F6)", "x": 1.5, "y": 1 }, + { "label": "K12 (B2,F5)", "x": 2.5, "y": 1 }, + { "label": "K13 (B2,F4)", "x": 3.5, "y": 1 }, + { "label": "K14 (B2,F1)", "x": 4.5, "y": 1 }, + { "label": "K15 (B2,F0)", "x": 5.5, "y": 1 }, + { "label": "K16 (B2,C7)", "x": 6.5, "y": 1 }, + { "label": "K17 (B2,C6)", "x": 7.5, "y": 1 }, + { "label": "K18 (B2,B6)", "x": 8.5, "y": 1 }, + { "label": "K19 (B2,B5)", "x": 9.5, "y": 1 }, + { "label": "K1A (B2,B4)", "x": 10.5, "y": 1 }, + { "label": "K1B (B2,D7)", "x": 11.5, "y": 1 }, + { "label": "K1C (B2,D5)", "x": 12.5, "y": 1 }, + { "label": "K1D (B2,D3)", "x": 13.5, "y": 1, "w": 1.5 }, + { "label": "K1E (B2,D1)", "x": 15.25, "y": 1 }, + { "label": "K20 (B3,F7)", "x": 0, "y": 2, "w": 1.75 }, + { "label": "K21 (B3,F6)", "x": 1.75, "y": 2 }, + { "label": "K22 (B3,F5)", "x": 2.75, "y": 2 }, + { "label": "K23 (B3,F4)", "x": 3.75, "y": 2 }, + { "label": "K24 (B3,F1)", "x": 4.75, "y": 2 }, + { "label": "K25 (B3,F0)", "x": 5.75, "y": 2 }, + { "label": "K26 (B3,C7)", "x": 6.75, "y": 2 }, + { "label": "K27 (B3,C6)", "x": 7.75, "y": 2 }, + { "label": "K28 (B3,B6)", "x": 8.75, "y": 2 }, + { "label": "K29 (B3,B5)", "x": 9.75, "y": 2 }, + { "label": "K2A (B3,B4)", "x": 10.75, "y": 2 }, + { "label": "K2B (B3,D7)", "x": 11.75, "y": 2 }, + { "label": "K2D (B3,D3)", "x": 12.75, "y": 2, "w": 2.25 }, + { "label": "K2E (B3,D1)", "x": 15.25, "y": 2 }, + { "label": "K31 (D6,F6)", "x": 0, "y": 3, "w": 2.25 }, + { "label": "K32 (D6,F5)", "x": 2.25, "y": 3 }, + { "label": "K33 (D6,F4)", "x": 3.25, "y": 3 }, + { "label": "K34 (D6,F1)", "x": 4.25, "y": 3 }, + { "label": "K35 (D6,F0)", "x": 5.25, "y": 3 }, + { "label": "K36 (D6,C7)", "x": 6.25, "y": 3 }, + { "label": "K37 (D6,C6)", "x": 7.25, "y": 3 }, + { "label": "K38 (D6,B6)", "x": 8.25, "y": 3 }, + { "label": "K39 (D6,B5)", "x": 9.25, "y": 3 }, + { "label": "K3A (D6,B4)", "x": 10.25, "y": 3 }, + { "label": "K3B (D6,D7)", "x": 11.25, "y": 3 }, + { "label": "K3C (D6,D5)", "x": 12.25, "y": 3, "w": 1.75 }, + { "label": "K3D (D6,D3)", "x": 14, "y": 3 }, + { "label": "K40 (D4,F7)", "x": 0, "y": 4, "w": 1.25 }, + { "label": "K41 (D4,F6)", "x": 1.25, "y": 4, "w": 1.25 }, + { "label": "K42 (D4,F5)", "x": 2.5, "y": 4, "w": 1.25 }, + { "label": "K46 (D4,C7)", "x": 3.75, "y": 4, "w": 7.25 }, + { "label": "K4B (D4,D7)", "x": 11, "y": 4, "w": 1.5 }, + { "label": "K4C (D4,D5)", "x": 13, "y": 4 }, + { "label": "K4D (D4,D3)", "x": 14, "y": 4 }, + { "label": "K4E (D4,D1)", "x": 15, "y": 4 } + ] + } + } +} + diff --git a/keyboards/alfredslab/swift65/hotswap/keymaps/default/keymap.c b/keyboards/alfredslab/swift65/hotswap/keymaps/default/keymap.c new file mode 100644 index 00000000000..f2a8ce83857 --- /dev/null +++ b/keyboards/alfredslab/swift65/hotswap/keymaps/default/keymap.c @@ -0,0 +1,37 @@ +/* Copyright 2022 Steven Phillips (spooknik) + * + * 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 + + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_7u_space( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_7u_space( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, + _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), + +}; \ No newline at end of file diff --git a/keyboards/alfredslab/swift65/hotswap/keymaps/via/keymap.c b/keyboards/alfredslab/swift65/hotswap/keymaps/via/keymap.c new file mode 100644 index 00000000000..06159dc7214 --- /dev/null +++ b/keyboards/alfredslab/swift65/hotswap/keymaps/via/keymap.c @@ -0,0 +1,53 @@ +/* Copyright 2021 Steven Phillips (spooknik) + * + * 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 + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [0] = LAYOUT_7u_space( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_LEFT, KC_DOWN, KC_RGHT + ), + + [1] = LAYOUT_7u_space( + KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, + _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END + ), + + + [2] = LAYOUT_7u_space( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + + [3] = LAYOUT_7u_space( + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS + ), + +}; diff --git a/keyboards/alfredslab/swift65/hotswap/keymaps/via/rules.mk b/keyboards/alfredslab/swift65/hotswap/keymaps/via/rules.mk new file mode 100644 index 00000000000..036bd6d1c3e --- /dev/null +++ b/keyboards/alfredslab/swift65/hotswap/keymaps/via/rules.mk @@ -0,0 +1 @@ +VIA_ENABLE = yes \ No newline at end of file diff --git a/keyboards/alfredslab/swift65/hotswap/readme.md b/keyboards/alfredslab/swift65/hotswap/readme.md new file mode 100644 index 00000000000..b5acc2a9c90 --- /dev/null +++ b/keyboards/alfredslab/swift65/hotswap/readme.md @@ -0,0 +1,19 @@ +# Swift65 + +A 65% Keyboard from Swiftcables + +* Keyboard Maintainer: [Steven Phillips (spooknik)](https://github.com/keyboardcollective) +* Hardware Supported: Swift65 Hotswap +* Hardware Availability: Soom from Swiftcables + +To enter bootloader for flashing firmware, press layer change key (MO(1)) and Right Shift simultaneously. + +Make example for this keyboard (after setting up your build environment): + + make alfredslab/swift65/hotswap:default + +Flashing example for this keyboard: + + make alfredslab/swift65/hotswap:default:flash + +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/alfredslab/swift65/hotswap/rules.mk b/keyboards/alfredslab/swift65/hotswap/rules.mk new file mode 100644 index 00000000000..a6a5692999d --- /dev/null +++ b/keyboards/alfredslab/swift65/hotswap/rules.mk @@ -0,0 +1,19 @@ +# MCU name +MCU = atmega32u4 + +# Bootloader selection +BOOTLOADER = atmel-dfu + + +# Build Options +# change yes to no to disable +# +BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite +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 +NKRO_ENABLE = yes # Enable N-Key Rollover +BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +AUDIO_ENABLE = no # Audio output \ No newline at end of file