From 944b82dc064b427a9e67f521e1e344f92b2bdcc2 Mon Sep 17 00:00:00 2001 From: Ryan Date: Tue, 25 Oct 2022 03:30:37 +1100 Subject: [PATCH] Deprecate `CAPS_WORD`/`CAPSWRD` for `CW_TOGG` (#18834) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Dušan --- docs/feature_caps_word.md | 4 +- docs/keycodes.md | 6 +- .../dilemma/keymaps/default/keymap.c | 84 ++++ .../hillside/46/keymaps/default/keymap.json | 88 ++++ .../46/keymaps/default_dot_c/keymap.c | 64 +++ .../hillside/46/keymaps/via/keymap.c | 64 +++ .../hillside/48/keymaps/default/keymap.json | 88 ++++ .../hillside/52/keymaps/default/keymap.json | 88 ++++ .../52/keymaps/default_dot_c/keymap.c | 64 +++ .../hillside/52/keymaps/via/keymap.c | 64 +++ .../split_5x7/keymaps/stef9998/keymap.c | 188 ++++++++ keyboards/planck/keymaps/muppetjones/keymap.c | 403 ++++++++++++++++++ .../kyria/keymaps/muppetjones/keymap.c | 276 ++++++++++++ quantum/process_keycode/process_caps_word.c | 2 +- quantum/quantum_keycodes.h | 6 +- quantum/quantum_keycodes_legacy.h | 81 ++++ tests/caps_word/test_caps_word.cpp | 8 +- users/muppetjones/muppetjones.c | 52 +++ 18 files changed, 1618 insertions(+), 12 deletions(-) create mode 100644 keyboards/bastardkb/dilemma/keymaps/default/keymap.c create mode 100644 keyboards/handwired/hillside/46/keymaps/default/keymap.json create mode 100644 keyboards/handwired/hillside/46/keymaps/default_dot_c/keymap.c create mode 100644 keyboards/handwired/hillside/46/keymaps/via/keymap.c create mode 100644 keyboards/handwired/hillside/48/keymaps/default/keymap.json create mode 100644 keyboards/handwired/hillside/52/keymaps/default/keymap.json create mode 100644 keyboards/handwired/hillside/52/keymaps/default_dot_c/keymap.c create mode 100644 keyboards/handwired/hillside/52/keymaps/via/keymap.c create mode 100644 keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/keymap.c create mode 100644 keyboards/planck/keymaps/muppetjones/keymap.c create mode 100644 keyboards/splitkb/kyria/keymaps/muppetjones/keymap.c create mode 100644 quantum/quantum_keycodes_legacy.h create mode 100644 users/muppetjones/muppetjones.c diff --git a/docs/feature_caps_word.md b/docs/feature_caps_word.md index 0b71119917fc..be190fb8869b 100644 --- a/docs/feature_caps_word.md +++ b/docs/feature_caps_word.md @@ -29,8 +29,8 @@ CAPS_WORD_ENABLE = yes Next, use one the following methods to activate Caps Word: -* **Activate by pressing a key**: Use the `CAPS_WORD` keycode (short - alias `CAPSWRD`) in your keymap. +* **Activate by pressing a key**: Use the `QK_CAPS_WORD_TOGGLE` keycode (short + alias `CW_TOGG`) in your keymap. * **Activate by pressing Left Shift + Right Shift**: Add `#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD` to config.h. You may also need to disable or diff --git a/docs/keycodes.md b/docs/keycodes.md index 28165bde2f0a..d32c82b0a10e 100644 --- a/docs/keycodes.md +++ b/docs/keycodes.md @@ -271,9 +271,9 @@ See also: [Bluetooth](feature_bluetooth.md) See also: [Caps Word](feature_caps_word.md) -|Key |Aliases |Description | -|-----------|---------|------------------------------| -|`CAPS_WORD`|`CAPSWRD`|Toggles Caps Word | +|Key |Aliases |Description | +|---------------------|---------|------------------------------| +|`QK_CAPS_WORD_TOGGLE`|`CW_TOGG`|Toggles Caps Word | ## Dynamic Macros :id=dynamic-macros diff --git a/keyboards/bastardkb/dilemma/keymaps/default/keymap.c b/keyboards/bastardkb/dilemma/keymaps/default/keymap.c new file mode 100644 index 000000000000..0f9aff0a850e --- /dev/null +++ b/keyboards/bastardkb/dilemma/keymaps/default/keymap.c @@ -0,0 +1,84 @@ +/** + * Copyright 2022 Charly Delay (@0xcharly) + * + * 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 charybdis_keymap_layers { + LAYER_BASE = 0, + LAYER_NAV, + LAYER_SYM, + LAYER_NUM, +}; + +#define NAV MO(LAYER_NAV) +#define SYM MO(LAYER_SYM) + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [LAYER_BASE] = LAYOUT_split_3x5_2( + // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮ + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ + NAV, CW_TOGG, KC_SPC, SYM + // ╰──────────────────╯ ╰──────────────────╯ + ), + + [LAYER_NAV] = LAYOUT_split_3x5_2( + // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮ + KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, XXXXXXX, KC_HOME, KC_UP, KC_END, KC_DEL, + // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ + KC_LSFT, KC_LCTL, KC_LALT, KC_RGUI, KC_VOLD, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC, + // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ + QK_BOOT, EE_CLR, KC_MPRV, KC_MNXT, KC_MPLY, XXXXXXX, KC_PGDN, KC_PGUP, XXXXXXX, KC_ENT, + // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ + _______, KC_LSFT, KC_SPC, _______ + // ╰──────────────────╯ ╰──────────────────╯ + ), + + [LAYER_SYM] = LAYOUT_split_3x5_2( + // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮ + KC_ESC, KC_LBRC, KC_LCBR, KC_LPRN, KC_TILD, KC_CIRC, KC_RPRN, KC_RCBR, KC_RBRC, KC_GRV, + // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ + KC_MINS, KC_ASTR, KC_EQL, KC_UNDS, KC_DLR, KC_HASH, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT, + // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ + KC_PLUS, KC_PIPE, KC_AT, KC_SLSH, KC_PERC, _______, KC_BSLS, KC_AMPR, KC_QUES, KC_EXLM, + // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ + _______, KC_LSFT, KC_SPC, _______ + // ╰──────────────────╯ ╰──────────────────╯ + ), + + [LAYER_NUM] = LAYOUT_split_3x5_2( + // ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮ + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ + KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, KC_F11, KC_F12, KC_RGUI, KC_RALT, KC_RCTL, KC_RSFT, + // ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤ + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + // ╰─────────────────────────────────────────────┤ ├─────────────────────────────────────────────╯ + _______, KC_LSFT, KC_SPC, _______ + // ╰──────────────────╯ ╰──────────────────╯ + ), +}; +// clang-format on + +layer_state_t layer_state_set_user(layer_state_t state) { + return update_tri_layer_state(state, LAYER_NAV, LAYER_SYM, LAYER_NUM); +} diff --git a/keyboards/handwired/hillside/46/keymaps/default/keymap.json b/keyboards/handwired/hillside/46/keymaps/default/keymap.json new file mode 100644 index 000000000000..f5171564d18d --- /dev/null +++ b/keyboards/handwired/hillside/46/keymaps/default/keymap.json @@ -0,0 +1,88 @@ +{ "version": 1, + "notes": "", + "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", + "keyboard": "handwired/hillside/46", + "keymap": "default", + "layout": "LAYOUT", + "layers": [ + ["KC_GRV" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T", + "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSPC", + + "KC_TAB" , "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G", + "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN", "KC_ENT", + + "KC_LCTL" , "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_ESC", + "ANY(CW_TOGG)", "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH" , "KC_QUOT", + + "KC_LGUI" , "KC_LALT" , "OSM(MOD_LSFT)", "MO(3)", + "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" + + ], + ["KC_GRV" , "KC_QUOT" , "KC_COMM" , "KC_DOT" , "KC_P" , "KC_Y", + "KC_F" , "KC_G" , "KC_C" , "KC_R" , "KC_L" , "KC_BSPC", + + "KC_TAB" , "KC_A" , "KC_O" , "KC_E" , "KC_U" , "KC_I", + "KC_D" , "KC_H" , "KC_T" , "KC_N" , "KC_S" , "KC_ENT", + + "KC_LCTL" , "KC_SCLN" , "KC_Q" , "KC_J" , "KC_K" , "KC_X" , "KC_ESC", + "ANY(CW_TOGG)", "KC_B" , "KC_M" , "KC_W" , "KC_V" , "KC_Z" , "KC_SLSH", + + "KC_LGUI" , "KC_LALT" , "OSM(MOD_LSFT)", "MO(3)", + "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" + + ], + ["KC_GRV" , "KC_Q" , "KC_W" , "KC_F" , "KC_P" , "KC_B", + "KC_J" , "KC_L" , "KC_U" , "KC_Y" , "KC_SCLN", "KC_BSPC", + + "KC_TAB" , "KC_A" , "KC_R" , "KC_S" , "KC_T" , "KC_G", + "KC_M" , "KC_N" , "KC_E" , "KC_I" , "KC_O" , "KC_ENT", + + "KC_LCTL" , "KC_Z" , "KC_TRNS" , "KC_C" , "KC_D" , "KC_V" , "KC_ESC", + "ANY(CW_TOGG)", "KC_K" , "KC_H" , "KC_COMM", "KC_DOT" , "KC_SLSH" , "KC_QUOT", + + "KC_LGUI" , "KC_LALT" , "OSM(MOD_LSFT)", "MO(3)", + "MO(4)" , "KC_SPC" , "KC_LALT" , "KC_RGUI" + + ], + ["LCTL(KC_C)" , "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5", + "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "KC_TRNS", + + "LCTL(KC_X)" , "KC_LGUI" , "KC_LALT" , "KC_LCTL", "KC_LSFT", "LCTL(KC_V)", + "KC_PGUP" , "KC_LEFT" , "KC_UP" , "KC_DOWN", "KC_RGHT", "KC_PGDN", + + "KC_TRNS" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" , "LCTL(KC_Z)", + "LCTL(KC_Y)" , "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_RCTL", + + "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS", + "MO(5)" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" + + ], + ["KC_INS" , "KC_EXLM" , "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC", + "KC_CIRC" , "KC_AMPR" , "KC_ASTR" , "KC_LPRN", "KC_RPRN", "KC_DEL", + + "KC_NO" , "KC_BSLS" , "KC_MINS" , "KC_EQL" , "KC_LBRC", "KC_RBRC", + "KC_HOME" , "KC_RSFT" , "KC_RCTL" , "KC_LALT", "KC_RGUI", "KC_END", + + "KC_TRNS" , "KC_PIPE" , "KC_UNDS" , "KC_PLUS", "KC_LCBR", "KC_RCBR" , "OSM(MOD_RALT)", + "KC_APP" , "KC_MUTE" , "KC_VOLD" , "KC_VOLU", "KC_MPLY", "KC_NO" , "KC_RCTL", + + "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "MO(5)", + "KC_TRNS" , "KC_TRNS" , "KC_TRNS" , "KC_TRNS" + + ], + ["KC_NO" , "DF(0)" , "DF(1)" , "DF(2)" , "AG_SWAP", "CG_SWAP", + "KC_NO" , "KC_F11" , "KC_F12" , "KC_PSCR", "KC_NO" , "EE_CLR", + + "KC_NO" , "KC_NO" , "KC_BRID" , "KC_BRIU", "AG_NORM", "CG_NORM", + "RGB_MOD" , "RGB_VAI" , "RGB_HUI" , "RGB_SAI", "KC_NO" , "KC_NO", + + "KC_NO" , "KC_LGUI" , "KC_LALT" , "KC_LCTL", "KC_LSFT", "KC_NO" , "KC_NO", + "RGB_TOG" , "RGB_RMOD", "RGB_VAD" , "RGB_HUD", "RGB_SAD", "KC_NO" , "QK_BOOT", + + "KC_NO" , "KC_NO" , "KC_NO" , "KC_TRNS", + "KC_TRNS" , "KC_NO" , "KC_NO" , "KC_NO" + + ] + ], + "author": "@mmccoyd" +} diff --git a/keyboards/handwired/hillside/46/keymaps/default_dot_c/keymap.c b/keyboards/handwired/hillside/46/keymaps/default_dot_c/keymap.c new file mode 100644 index 000000000000..8a1a7cfbe275 --- /dev/null +++ b/keyboards/handwired/hillside/46/keymaps/default_dot_c/keymap.c @@ -0,0 +1,64 @@ +// Copyright 2022 Michael McCoyd (@mmccoyd) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _QWERTY = 0, + _NAV, + _SYM, + _ADJUST, +}; + +#define xxxxxxx KC_NO + +#define LY_NAV MO(_NAV) +#define LY_SYM MO(_SYM) +#define LY_ADJ MO(_ADJUST) +#define ALT_GR OSM(MOD_RALT) +#define OSM_SFT OSM(MOD_LSFT) +#define PLY_PAU KC_MEDIA_PLAY_PAUSE + +#define UNDO LCTL(KC_Z) +#define CUT LCTL(KC_X) +#define COPY LCTL(KC_C) +#define PASTE LCTL(KC_V) +#define REDO LCTL(KC_Y) +// (For OS X, you'll want to change these editing keys to LGUI(KC_Z) etc.) + + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT( + KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, CW_TOGG, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT, + KC_LGUI, KC_LALT, OSM_SFT, LY_NAV , LY_SYM , KC_SPC , KC_LALT, KC_RGUI + ), + [_NAV] = LAYOUT( + COPY , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______, + CUT , KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, PASTE , KC_PGUP, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, KC_PGDN, + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , UNDO , REDO , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_RCTL, + _______, _______, _______, _______, LY_ADJ , _______, _______, _______ + ), + [_SYM] = LAYOUT( + KC_INS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, + xxxxxxx, KC_BSLS, KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_HOME, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, KC_END, + _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, ALT_GR , KC_APP , KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, xxxxxxx, KC_RCTL, + _______, _______, _______, LY_ADJ , _______, _______, _______, _______ + ), + [_ADJUST] = LAYOUT( + xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, AG_SWAP, CG_SWAP, xxxxxxx, KC_F11 , KC_F12 , KC_PSCR, xxxxxxx, EE_CLR, + xxxxxxx, xxxxxxx, KC_BRID, KC_BRIU, AG_NORM, CG_NORM, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, xxxxxxx, xxxxxxx, + xxxxxxx, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, xxxxxxx, xxxxxxx, RGB_TOG, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, xxxxxxx, QK_BOOT, + xxxxxxx, xxxxxxx, xxxxxxx, _______, _______, xxxxxxx, xxxxxxx, xxxxxxx + ), +}; + +// Template: +// [_INDEX] = LAYOUT( +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______ +// ), diff --git a/keyboards/handwired/hillside/46/keymaps/via/keymap.c b/keyboards/handwired/hillside/46/keymaps/via/keymap.c new file mode 100644 index 000000000000..8a1a7cfbe275 --- /dev/null +++ b/keyboards/handwired/hillside/46/keymaps/via/keymap.c @@ -0,0 +1,64 @@ +// Copyright 2022 Michael McCoyd (@mmccoyd) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _QWERTY = 0, + _NAV, + _SYM, + _ADJUST, +}; + +#define xxxxxxx KC_NO + +#define LY_NAV MO(_NAV) +#define LY_SYM MO(_SYM) +#define LY_ADJ MO(_ADJUST) +#define ALT_GR OSM(MOD_RALT) +#define OSM_SFT OSM(MOD_LSFT) +#define PLY_PAU KC_MEDIA_PLAY_PAUSE + +#define UNDO LCTL(KC_Z) +#define CUT LCTL(KC_X) +#define COPY LCTL(KC_C) +#define PASTE LCTL(KC_V) +#define REDO LCTL(KC_Y) +// (For OS X, you'll want to change these editing keys to LGUI(KC_Z) etc.) + + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT( + KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ESC, CW_TOGG, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_QUOT, + KC_LGUI, KC_LALT, OSM_SFT, LY_NAV , LY_SYM , KC_SPC , KC_LALT, KC_RGUI + ), + [_NAV] = LAYOUT( + COPY , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______, + CUT , KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, PASTE , KC_PGUP, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, KC_PGDN, + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , UNDO , REDO , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_RCTL, + _______, _______, _______, _______, LY_ADJ , _______, _______, _______ + ), + [_SYM] = LAYOUT( + KC_INS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, + xxxxxxx, KC_BSLS, KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_HOME, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, KC_END, + _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, ALT_GR , KC_APP , KC_MUTE, KC_VOLD, KC_VOLU, KC_MPLY, xxxxxxx, KC_RCTL, + _______, _______, _______, LY_ADJ , _______, _______, _______, _______ + ), + [_ADJUST] = LAYOUT( + xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, AG_SWAP, CG_SWAP, xxxxxxx, KC_F11 , KC_F12 , KC_PSCR, xxxxxxx, EE_CLR, + xxxxxxx, xxxxxxx, KC_BRID, KC_BRIU, AG_NORM, CG_NORM, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, xxxxxxx, xxxxxxx, + xxxxxxx, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, xxxxxxx, xxxxxxx, RGB_TOG, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, xxxxxxx, QK_BOOT, + xxxxxxx, xxxxxxx, xxxxxxx, _______, _______, xxxxxxx, xxxxxxx, xxxxxxx + ), +}; + +// Template: +// [_INDEX] = LAYOUT( +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______ +// ), diff --git a/keyboards/handwired/hillside/48/keymaps/default/keymap.json b/keyboards/handwired/hillside/48/keymaps/default/keymap.json new file mode 100644 index 000000000000..268fa518398b --- /dev/null +++ b/keyboards/handwired/hillside/48/keymaps/default/keymap.json @@ -0,0 +1,88 @@ +{ "version": 1, + "notes": "", + "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", + "keyboard": "handwired/hillside/48", + "keymap": "default", + "layout": "LAYOUT", + "layers": [ + ["KC_GRV" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T", + "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSPC", + + "KC_TAB" , "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G", + "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN" , "KC_ENT", + + "KC_LSFT" , "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_ESC", + "CW_TOGG" , "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_SLSH" , "KC_RSFT", + + "KC_LCTL" , "KC_LGUI" , "KC_LALT", "MO(3)" , "OSM(MOD_LSFT)", + "MO(4)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_QUOT" + + ], + ["KC_GRV" , "KC_QUOT" , "KC_COMM", "KC_DOT" , "KC_P" , "KC_Y", + "KC_F" , "KC_G" , "KC_C" , "KC_R" , "KC_L" , "KC_BSPC", + + "KC_TAB" , "KC_A" , "KC_O" , "KC_E" , "KC_U" , "KC_I", + "KC_D" , "KC_H" , "KC_T" , "KC_N" , "KC_S" , "KC_ENT", + + "KC_LSFT" , "KC_SCLN" , "KC_Q" , "KC_J" , "KC_K" , "KC_X" , "KC_ESC", + "CW_TOGG" , "KC_B" , "KC_M" , "KC_W" , "KC_V" , "KC_Z" , "KC_RSFT", + + "KC_LCTL" , "KC_LGUI" , "KC_LALT", "MO(3)" , "OSM(MOD_LSFT)", + "MO(4)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_SLSH" + + ], + ["KC_GRV" , "KC_Q" , "KC_W" , "KC_F" , "KC_P" , "KC_B", + "KC_J" , "KC_L" , "KC_U" , "KC_Y" , "KC_SCLN" , "KC_BSPC", + + "KC_TAB" , "KC_A" , "KC_R" , "KC_S" , "KC_T" , "KC_G", + "KC_M" , "KC_N" , "KC_E" , "KC_I" , "KC_O" , "KC_ENT", + + "KC_LSFT" , "KC_Z" , "KC_X" , "KC_C" , "KC_D" , "KC_V" , "KC_ESC", + "CW_TOGG" , "KC_K" , "KC_H" , "KC_COMM", "KC_DOT" , "KC_SLSH" , "KC_RSFT", + + "KC_LCTL" , "KC_LGUI" , "KC_LALT", "MO(3)" , "OSM(MOD_LSFT)", + "MO(4)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_QUOT" + + ], + ["KC_HOME" , "KC_EXLM" , "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC", + "KC_CIRC" , "KC_AMPR" , "KC_ASTR", "KC_LPRN", "KC_RPRN" , "KC_DEL", + + "KC_END" , "KC_LGUI" , "KC_LALT", "KC_LCTL", "KC_LSFT" , "KC_INS", + "KC_LBRC" , "KC_RBRC" , "KC_MINS", "KC_EQL" , "KC_BSLS" , "KC_TRNS", + + "KC_LSFT" , "KC_NO" , "KC_VOLD", "KC_MUTE", "KC_VOLU" , "KC_MPLY" , "OSM(MOD_RALT)", + "KC_APP" , "KC_LCBR" , "KC_RCBR", "KC_UNDS", "KC_PLUS" , "KC_PIPE" , "KC_TRNS", + + "KC_TRNS" , "KC_TRNS" , "KC_TRNS", "KC_TRNS", "OSM(MOD_LSFT)", + "MO(5)" , "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_RCTL" + + ], + ["LCTL(KC_X)", "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5", + "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "KC_BSPC", + + "LCTL(KC_C)", "KC_LEFT" , "KC_DOWN", "KC_UP" , "KC_RGHT" , "LCTL(KC_V)", + "KC_PGUP" , "KC_RSFT" , "KC_RCTL", "KC_LALT", "KC_RGUI" , "KC_PGDN", + + "KC_LSFT" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" , "LCTL(KC_Z)", + "LCTL(KC_Y)", "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_TRNS", + + "KC_TRNS" , "KC_TRNS" , "KC_TRNS", "MO(5)" , "KC_TRNS", + "KC_TRNS" , "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_RCTL" + + ], + ["KC_NO" , "DF(0)" , "DF(1)" , "DF(2)" , "AG_SWAP" , "CG_SWAP", + "KC_NO" , "KC_F11" , "KC_F12" , "KC_PSCR", "KC_NO" , "KC_NO", + + "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "AG_NORM" , "CG_NORM", + "RGB_MOD" , "RGB_VAI" , "RGB_HUI", "RGB_SAI", "KC_NO" , "KC_NO", + + "KC_NO" , "KC_LGUI" , "KC_LALT", "KC_LCTL", "KC_LSFT" , "KC_NO" , "KC_NO", + "RGB_TOG" , "RGB_RMOD", "RGB_VAD", "RGB_HUD", "RGB_SAD" , "KC_NO" , "QK_BOOT", + + "KC_NO" , "KC_NO" , "KC_NO" , "KC_TRNS", "KC_NO", + "KC_TRNS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" + + ] + ], + "author": "@mmccoyd" +} diff --git a/keyboards/handwired/hillside/52/keymaps/default/keymap.json b/keyboards/handwired/hillside/52/keymaps/default/keymap.json new file mode 100644 index 000000000000..a49daf6b2cf2 --- /dev/null +++ b/keyboards/handwired/hillside/52/keymaps/default/keymap.json @@ -0,0 +1,88 @@ +{ "version": 1, + "notes": "", + "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", + "keyboard": "handwired/hillside/52", + "keymap": "default", + "layout": "LAYOUT", + "layers": [ + ["KC_GRV" , "KC_Q" , "KC_W" , "KC_E" , "KC_R" , "KC_T", + "KC_Y" , "KC_U" , "KC_I" , "KC_O" , "KC_P" , "KC_BSPC", + + "KC_TAB" , "KC_A" , "KC_S" , "KC_D" , "KC_F" , "KC_G", + "KC_H" , "KC_J" , "KC_K" , "KC_L" , "KC_SCLN", "KC_ENT", + + "KC_LSFT" , "KC_Z" , "KC_X" , "KC_C" , "KC_V" , "KC_B" , "KC_QUOT", + "KC_SLSH" , "KC_N" , "KC_M" , "KC_COMM", "KC_DOT" , "KC_UP" , "KC_RSFT", + + "KC_MUTE" , "KC_ESC" , "KC_LCTL", "KC_LGUI", "KC_LALT", "OSM(MOD_LSFT)", "MO(3)", + "MO(4)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_LEFT", "KC_DOWN" , "KC_RGHT" + + ], + ["KC_GRV" , "KC_QUOT" , "KC_COMM", "KC_DOT" , "KC_P" , "KC_Y", + "KC_F" , "KC_G" , "KC_C" , "KC_R" , "KC_L" , "KC_BSPC", + + "KC_TAB" , "KC_A" , "KC_O" , "KC_E" , "KC_U" , "KC_I", + "KC_D" , "KC_H" , "KC_T" , "KC_N" , "KC_S" , "KC_ENT", + + "KC_LSFT" , "KC_SCLN" , "KC_Q" , "KC_J" , "KC_K" , "KC_X" , "KC_SLSH", + "KC_Z" , "KC_B" , "KC_M" , "KC_W" , "KC_V" , "KC_UP" , "KC_RSFT", + + "KC_MUTE" , "KC_ESC" , "KC_LCTL", "KC_LGUI", "KC_LALT", "OSM(MOD_LSFT)", "MO(3)", + "MO(4)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_LEFT", "KC_DOWN" , "KC_RGHT" + + ], + ["KC_GRV" , "KC_Q" , "KC_W" , "KC_F" , "KC_P" , "KC_B", + "KC_J" , "KC_L" , "KC_U" , "KC_Y" , "KC_SCLN", "KC_BSPC", + + "KC_TAB" , "KC_A" , "KC_R" , "KC_S" , "KC_T" , "KC_G", + "KC_M" , "KC_N" , "KC_E" , "KC_I" , "KC_O" , "KC_ENT", + + "KC_LSFT" , "KC_Z" , "KC_TRNS", "KC_C" , "KC_D" , "KC_V" , "KC_QUOT", + "KC_SLSH" , "KC_K" , "KC_H" , "KC_COMM", "KC_DOT" , "KC_UP" , "KC_RSFT", + + "KC_MUTE" , "KC_ESC" , "KC_LCTL", "KC_LGUI", "KC_LALT", "OSM(MOD_LSFT)", "MO(3)", + "MO(4)" , "KC_SPC" , "KC_LALT", "KC_RGUI", "KC_LEFT", "KC_DOWN" , "KC_RGHT" + + ], + ["LCTL(KC_C)" , "KC_1" , "KC_2" , "KC_3" , "KC_4" , "KC_5", + "KC_6" , "KC_7" , "KC_8" , "KC_9" , "KC_0" , "KC_TRNS", + + "LCTL(KC_X)" , "KC_LGUI" , "KC_LALT", "KC_LCTL", "KC_LSFT", "LCTL(KC_V)", + "KC_PGUP" , "KC_LEFT" , "KC_UP" , "KC_DOWN", "KC_RGHT", "KC_PGDN", + + "KC_TRNS" , "KC_F1" , "KC_F2" , "KC_F3" , "KC_F4" , "KC_F5" , "LCTL(KC_Z)", + "LCTL(KC_Y)" , "KC_F6" , "KC_F7" , "KC_F8" , "KC_F9" , "KC_F10" , "KC_TRNS", + + "KC_F11" , "KC_F12" , "KC_LCTL", "KC_TRNS", "KC_TRNS", "KC_TRNS" , "KC_TRNS", + "MO(5)" , "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_RCTL", "KC_HOME" , "KC_END" + + ], + ["KC_INS" , "KC_EXLM" , "KC_AT" , "KC_HASH", "KC_DLR" , "KC_PERC", + "KC_CIRC" , "KC_AMPR" , "KC_ASTR", "KC_LPRN", "KC_RPRN", "KC_DEL", + + "ANY(CW_TOGG)", "KC_BSLS" , "KC_MINS", "KC_EQL" , "KC_LBRC", "KC_RBRC", + "KC_VOLU" , "KC_RSFT" , "KC_RCTL", "KC_LALT", "KC_RGUI", "KC_TRNS", + + "KC_TRNS" , "KC_PIPE" , "KC_UNDS", "KC_PLUS", "KC_LCBR", "KC_RCBR" , "KC_MPLY", + "KC_MUTE" , "KC_VOLD" , "KC_0" , "KC_1" , "KC_2" , "KC_NO" , "KC_TRNS", + + "KC_NO" , "KC_NO" , "KC_LCTL", "KC_TRNS", "KC_TRNS", "KC_TRNS" , "MO(5)", + "KC_TRNS" , "KC_TRNS" , "KC_TRNS", "KC_TRNS", "KC_RCTL", "KC_APP" , "OSM(MOD_RALT)" + + ], + ["KC_NO" , "DF(0)" , "DF(1)" , "DF(2)" , "AG_SWAP", "CG_SWAP", + "KC_NO" , "KC_PSCR" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO", + + "KC_NO" , "KC_NO" , "KC_BRIU", "KC_NO" , "AG_NORM", "CG_NORM", + "RGB_MOD" , "RGB_VAI" , "RGB_HUI", "RGB_SAI", "KC_NO" , "KC_NO", + + "QK_BOOT" , "KC_NO" , "KC_BRID", "KC_NO" , "KC_NO" , "KC_NO" , "EE_CLR", + "RGB_TOG" , "RGB_RMOD", "RGB_VAD", "RGB_HUD", "RGB_SAD", "KC_NO" , "KC_NO", + + "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_TRNS", + "KC_TRNS" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" , "KC_NO" + + ] + ], + "author": "@mmccoyd" +} diff --git a/keyboards/handwired/hillside/52/keymaps/default_dot_c/keymap.c b/keyboards/handwired/hillside/52/keymaps/default_dot_c/keymap.c new file mode 100644 index 000000000000..3033f177e779 --- /dev/null +++ b/keyboards/handwired/hillside/52/keymaps/default_dot_c/keymap.c @@ -0,0 +1,64 @@ +// Copyright 2022 Michael McCoyd (@mmccoyd) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _QWERTY = 0, + _NAV, + _SYM, + _ADJUST, +}; + +#define xxxxxxx KC_NO + +#define LY_NAV MO(_NAV) +#define LY_SYM MO(_SYM) +#define LY_ADJ MO(_ADJUST) +#define ALT_GR OSM(MOD_RALT) +#define OSM_SFT OSM(MOD_LSFT) +#define PLY_PAU KC_MEDIA_PLAY_PAUSE + +#define UNDO LCTL(KC_Z) +#define CUT LCTL(KC_X) +#define COPY LCTL(KC_C) +#define PASTE LCTL(KC_V) +#define REDO LCTL(KC_Y) +// (For OS X, you'll want to change these editing keys to LGUI(KC_Z) etc.) + + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT( + KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_QUOT, KC_SLSH, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT, + KC_MUTE, KC_ESC, KC_LCTL, KC_LGUI, KC_LALT, OSM_SFT, LY_NAV, LY_SYM , KC_SPC , KC_LALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_NAV] = LAYOUT( + COPY , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______, + CUT , KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, PASTE , KC_PGUP, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, KC_PGDN, + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , UNDO , REDO , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_TRNS, + KC_F11 , KC_F12 , KC_LCTL, _______, _______, _______, _______, LY_ADJ , _______, _______, _______, KC_RCTL, KC_HOME, KC_END + ), + [_SYM] = LAYOUT( + KC_INS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, + CW_TOGG, KC_BSLS, KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_VOLU, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______, + _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_MPLY, KC_MUTE, KC_VOLD, KC_0 , KC_1 , KC_2 , xxxxxxx, _______, + xxxxxxx, xxxxxxx, _______, _______, _______, _______, LY_ADJ , _______, _______, _______, _______, KC_RCTL, KC_APP, ALT_GR + ), + [_ADJUST] = LAYOUT( + xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, AG_SWAP, CG_SWAP, xxxxxxx, KC_PSCR, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, + xxxxxxx, xxxxxxx, KC_BRIU, xxxxxxx, AG_NORM, CG_NORM, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, xxxxxxx, xxxxxxx, + QK_BOOT, xxxxxxx, KC_BRID, xxxxxxx, xxxxxxx, xxxxxxx, EE_CLR, RGB_TOG, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, xxxxxxx, xxxxxxx, + XXXXXXX, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, _______, _______, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx + ), +}; + +// Template: +// [_INDEX] = LAYOUT( +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +// ), diff --git a/keyboards/handwired/hillside/52/keymaps/via/keymap.c b/keyboards/handwired/hillside/52/keymaps/via/keymap.c new file mode 100644 index 000000000000..3033f177e779 --- /dev/null +++ b/keyboards/handwired/hillside/52/keymaps/via/keymap.c @@ -0,0 +1,64 @@ +// Copyright 2022 Michael McCoyd (@mmccoyd) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +enum layers { + _QWERTY = 0, + _NAV, + _SYM, + _ADJUST, +}; + +#define xxxxxxx KC_NO + +#define LY_NAV MO(_NAV) +#define LY_SYM MO(_SYM) +#define LY_ADJ MO(_ADJUST) +#define ALT_GR OSM(MOD_RALT) +#define OSM_SFT OSM(MOD_LSFT) +#define PLY_PAU KC_MEDIA_PLAY_PAUSE + +#define UNDO LCTL(KC_Z) +#define CUT LCTL(KC_X) +#define COPY LCTL(KC_C) +#define PASTE LCTL(KC_V) +#define REDO LCTL(KC_Y) +// (For OS X, you'll want to change these editing keys to LGUI(KC_Z) etc.) + + +// clang-format off +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [_QWERTY] = LAYOUT( + KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_QUOT, KC_SLSH, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT, + KC_MUTE, KC_ESC, KC_LCTL, KC_LGUI, KC_LALT, OSM_SFT, LY_NAV, LY_SYM , KC_SPC , KC_LALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT + ), + [_NAV] = LAYOUT( + COPY , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______, + CUT , KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, PASTE , KC_PGUP, KC_LEFT, KC_UP , KC_DOWN, KC_RGHT, KC_PGDN, + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , UNDO , REDO , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_TRNS, + KC_F11 , KC_F12 , KC_LCTL, _______, _______, _______, _______, LY_ADJ , _______, _______, _______, KC_RCTL, KC_HOME, KC_END + ), + [_SYM] = LAYOUT( + KC_INS, KC_EXLM, KC_AT , KC_HASH, KC_DLR , KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, + CW_TOGG, KC_BSLS, KC_MINS, KC_EQL , KC_LBRC, KC_RBRC, KC_VOLU, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______, + _______, KC_PIPE, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_MPLY, KC_MUTE, KC_VOLD, KC_0 , KC_1 , KC_2 , xxxxxxx, _______, + xxxxxxx, xxxxxxx, _______, _______, _______, _______, LY_ADJ , _______, _______, _______, _______, KC_RCTL, KC_APP, ALT_GR + ), + [_ADJUST] = LAYOUT( + xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, AG_SWAP, CG_SWAP, xxxxxxx, KC_PSCR, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, + xxxxxxx, xxxxxxx, KC_BRIU, xxxxxxx, AG_NORM, CG_NORM, RGB_MOD, RGB_VAI, RGB_HUI, RGB_SAI, xxxxxxx, xxxxxxx, + QK_BOOT, xxxxxxx, KC_BRID, xxxxxxx, xxxxxxx, xxxxxxx, EE_CLR, RGB_TOG, RGB_RMOD, RGB_VAD, RGB_HUD, RGB_SAD, xxxxxxx, xxxxxxx, + XXXXXXX, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, _______, _______, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx, xxxxxxx + ), +}; + +// Template: +// [_INDEX] = LAYOUT( +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, +// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +// ), diff --git a/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/keymap.c b/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/keymap.c new file mode 100644 index 000000000000..608b5f706847 --- /dev/null +++ b/keyboards/handwired/stef9998/split_5x7/keymaps/stef9998/keymap.c @@ -0,0 +1,188 @@ +/* +Copyright 2022 stef9998 + +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 + +// Each layer gets a name for readability, which is then used in the keymap matrix below. +// The underscores don't mean anything - you can have a layer called STUFF or any other name. +enum custom_layer { + _QWERTY, + _HOMEMOD, + _FN, + _SYM, //symbols & numbers + _SPARE, + _CFG, //config +}; + +enum custom_keycodes { + QWERTY = SAFE_RANGE, + HOMEMOD, + FN, + SYM, + SPARE, + CONFIG, +}; + +// Shortcut to make keymap more readable +#define KC_FN MO(_FN) + +bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case KC_LSPO: + // Do not force the mod-tap key press to be handled as a modifier + // if any other key was pressed while the mod-tap key is held down. + return false; +// case MT(MOD_LSFT,KC_9): +// return false; + case KC_RSPC: + return false; + default: + // Force the mod-tap key press to be handled as a modifier if any + // other key was pressed while the mod-tap key is held down. + return true; + } +} + +//layer_state_t layer_state_set_user(layer_state_t state) { +// return update_tri_layer_state(state, _ESS, _SYM, _SYM_ESS); +//} + +//Modified from default, cause I want CapsLock to still be there even when I swap hands +const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { +{ {0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}}, +{ {0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}}, +{ {0, 2}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}}, // caps won't be switched, because of extend +{ {0, 8}, {1, 8}, {2, 8}, {3, 8}, {4, 8}, {5, 8}, {6, 8}}, +{ {0, 9}, {1, 9}, {2, 9}, {3, 9}, {4, 9}, {5, 9}, {6, 9}}, + +{ {0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}}, +{ {0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}}, +{ {0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}}, +{ {0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}}, +{ {0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}}, +}; + +uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case SH_T(KC_SPC): + return TAPPING_TERM + 300; + default: + return TAPPING_TERM; + } +} + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + +[_QWERTY] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + QK_GESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_NO , KC_NO ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_BSPC , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_LBRC , KC_RBRC ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_BSLS , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_CAPS ,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_EQL , KC_MINS ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_ENT , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LSPO ,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,SH_OS , KC_NO ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSPC , +// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤ + KC_LCTL ,KC_LCPO ,KC_LGUI ,KC_LALT ,SH_T(KC_SPC) ,MO(_SYM), MO(_SYM),KC_SPC ,KC_RALT ,MO(_FN) ,KC_RCPC ,KC_RCTL +// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘ +), + +[_HOMEMOD] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ +_______ ,_______ ,RALT_T(KC_S),LCTL_T(KC_D),LSFT_T(KC_F),LT(_SYM,KC_G),_______ , _______ ,LT(_SYM,KC_H),RSFT_T(KC_J),RCTL_T(KC_K),LALT_T(KC_L),_______ ,_______ , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LSFT ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_RSFT , +// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤ + _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ +// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘ +), + +[_FN] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_DEL , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______ ,KC_EXLM ,KC_AT ,KC_LCBR ,KC_RCBR ,KC_PIPE ,_______ , _______ ,KC_PGUP ,KC_HOME ,KC_UP ,KC_END ,KC_PSCR ,XXXXXXX , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______ ,KC_HASH ,KC_DLR ,KC_LBRC ,KC_RBRC ,KC_GRV ,_______ , _______ ,KC_PGDN ,KC_LEFT ,KC_DOWN ,KC_RIGHT,_______ ,_______ , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______ ,KC_PERC ,KC_CIRC ,KC_LPRN ,KC_RPRN ,KC_TILD ,_______ , _______ ,KC_MSEL ,KC_MPLY ,KC_MPRV ,KC_MNXT ,KC_MPLY ,_______ , +// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤ + _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ +// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘ +), + +[_SYM] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + KC_GRV ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F11 , KC_F12 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_DEL , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______ ,KC_EXLM ,KC_AT ,KC_HASH ,KC_DLR ,KC_PERC ,_______ , _______ ,KC_CIRC ,KC_AMPR ,KC_ASTR ,KC_LPRN ,KC_RPRN ,XXXXXXX , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + CW_TOGG ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,_______ , _______ ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_QUOT , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______ ,KC_MSEL ,KC_MPLY ,XXXXXXX ,KC_EQL ,KC_PLUS ,_______ , _______ ,KC_UNDS ,KC_MINS , KC_MPRV, KC_MNXT,KC_MPLY ,_______ , +// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤ + QK_BOOT ,_______ ,_______ ,_______ ,_______ ,TG(_CFG), TG(_CFG),_______ ,_______ ,_______ ,_______ ,QK_BOOT +// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘ +), + +[_CFG] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + TG(_CFG),_______ ,TG(_HOMEMOD),_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,KC_1 , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , +// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤ + _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ +// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘ +), + +[_SPARE] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + XXXXXXX ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,XXXXXXX , XXXXXXX ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,XXXXXXX , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX ,QK_BOOT ,RGB_M_P ,RGB_TOG ,RGB_MOD ,RGB_HUD ,RGB_HUI , RGB_SAD ,RGB_SAI ,RGB_VAD ,RGB_VAI ,XXXXXXX ,XXXXXXX ,XXXXXXX , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ , _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , +// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤ + XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX , XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX +// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘ +) +}; + +/* +[_] = LAYOUT( +// ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┬────────┐ + _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , +// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ , +// ├────────┼────────┼────────┴─┬──────┴───┬────┴────────┼────────┤ ├────────┼────────┴────┬───┴──────┬─┴────────┼────────┼────────┤ + _______ ,_______ ,_______ ,_______ ,_______ ,_______ , _______ ,_______ ,_______ ,_______ ,_______ ,_______ +// └────────┴────────┴──────────┴──────────┴─────────────┴────────┘ └────────┴─────────────┴──────────┴──────────┴────────┴────────┘ +), + */ \ No newline at end of file diff --git a/keyboards/planck/keymaps/muppetjones/keymap.c b/keyboards/planck/keymaps/muppetjones/keymap.c new file mode 100644 index 000000000000..dddfbccc94da --- /dev/null +++ b/keyboards/planck/keymaps/muppetjones/keymap.c @@ -0,0 +1,403 @@ +/* Copyright 2020 Stephen Bush + * + * 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 . + */ + +/* + * qmk compile -kb planck/rev6 -km muppetjones + */ + +#include QMK_KEYBOARD_H +#include "muse.h" +#include "muppetjones.h" + +#define LAYOUT_planck_wrapper(...) LAYOUT_planck_grid(__VA_ARGS__) + +/* Extend layers from muppetjones.h + _CLMK_DH = 0, + _QWERTY + _MOUSE, + _LOWER, + _RAISE, + _NAV, + _ADJUST, + */ +enum planck_layers { + _PLOVER = _ADJUST + 1, +}; + +enum planck_keycodes { + PLOVER = SAFE_RANGE, + BACKLIT, + EXT_PLV, +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + +/* Colemak DH II + * ,-----------------------------------------------------------------------------------. + * | Q | W | F | P | B | Del | Bksp | J | L | U | Y | ; | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | A | R | S | T | G | | " | M | N | E | I | O | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Z | X | C | D | V SFT| Enter| Tab | K | H | , | . | / | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt |HY_ESC|Lower | Space |Raise |HY_ESC| Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_CLMK_DH] = LAYOUT_planck_wrapper( + __COLEMAK_MOD_DH_L1________________________, KC_DEL, KC_BSPC, __COLEMAK_MOD_DH_R1_W_QUOT_________________, + __COLEMAK_MOD_DH_L2_W_GACS_________________, CW_TOGG, KC_QUOT, __COLEMAK_MOD_DH_R2_W_SCAG_________________, + __COLEMAK_MOD_DH_L3_W_SFTV_________________, KC_ENT, KC_TAB, __COLEMAK_MOD_DH_R3________________________, + TD_LAYR, XXXXXXX, XXXXXXX, HY_ESC, LOW_ENT, KC_BSPC, KC_BSPC, RAI_SPC, HY_ESC, KC_BSPC, XXXXXXX, XXXXXXX +), + +/* Qwerty + * ,-----------------------------------------------------------------------------------. + * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Esc | A | S | D | F | G | H | J | K | L | ; | " | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | + * `-----------------------------------------------------------------------------------' + */ +[_QWERTY] = LAYOUT_planck_wrapper( + __QWERTY_L1________________________________, _______, _______, __QWERTY_R1________________________________, + __QWERTY_L2________________________________, _______, _______, __QWERTY_R2________________________________, + __QWERTY_L3________________________________, _______, _______, __QWERTY_R3________________________________, + __BLANK____________________________________, _______, _______, __BLANK____________________________________ +), + +/* MOUSE + * No encoders. Just an empty layer. + */ +[_MOUSE] = LAYOUT_planck_wrapper( + __BLANK____________________________________, _______, _______, __BLANK____________________________________, + __BLANK____________________________________, _______, _______, __BLANK____________________________________, + __BLANK____________________________________, _______, _______, __BLANK____________________________________, + __BLANK____________________________________, _______, _______, __BLANK____________________________________ +), + +// /* Colemak DH +// * ,-----------------------------------------------------------------------------------. +// * | Tab | Q | W | F | P | B | J | L | U | Y | ; | Bksp | +// * |------+------+------+------+------+------+------+------+------+------+------+------| +// * | Esc | A | R | S | T | G | M | N | E | I | O | " | +// * |------+------+------+------+------+------+------+------+------+------+------+------| +// * | Shift| Z | X | C | D | V | K | H | , | . | / |Enter | +// * |------+------+------+------+------+------+------+------+------+------+------+------| +// * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right | +// * `-----------------------------------------------------------------------------------' +// */ +// [_CLMK_DH] = LAYOUT_planck_grid( +// KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, +// HY_ESC, HOME_A, HOME_R, HOME_S, HOME_T, KC_G, KC_M, HOME_N, HOME_E, HOME_I, HOME_O, KC_QUOT, +// KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_SFTENT, +// KC_LCTL, NUMPD, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX +// ), +/* Lower (numpad, symbols) + * ,-----------------------------------------------------------------------------------. + * | | | ( | ) | ~ | | | | 7 & | 8 * | 9 ( | \ | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | { | } | ` | | | - _ | 4 $ | 5 % | 6 ^ | * | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | [ | ] | | | | = + | 1 ! | 2 @ | 3 # | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | Space | | 0 | . | | | + * `-----------------------------------------------------------------------------------' + * 21.02.22: Removed F keys. + * 21.03.28: Completely revamped to contain 10-key numpad and symbols. + */ +[_LOWER] = LAYOUT_planck_wrapper( + __SYMBOLS_L1_______________________________, _______, _______, __NUMPAD_R1________________________________, + __SYMBOLS_L2_______________________________, _______, _______, __NUMPAD_R2________________________________, + __SYMBOLS_L3_______________________________, _______, _______, __NUMPAD_R3________________________________, + _______, _______, _______, _______, _______, _______, _______, __NUMPAD_R4________________________________ +), + +/* Raise +* ,-----------------------------------------------------------------------------------. +* | ` | | | | | | | Pg Up| HOME | | END | | +* |------+------+------+------+------+------+------+------+------+------+------+------| +* | GUI | ALT | CTL | SFT | | | | Pg Dn| LEFT | DOWN | UP |RIGHT | +* |------+------+------+------+------+------+------+------+------+------+------+------| +* | | | | | | | | | | | | | +* |------+------+------+------+------+------+------+------+------+------+------+------| +* | | | | | | | | Next | Vol- | Vol+ | Play | +* `-----------------------------------------------------------------------------------' +* 21.02.22: Removed F keys and replaced with useful programming keys. +*/ +[_RAISE] = LAYOUT_planck_wrapper( + XXXXXXX, XXXXXXX, KC_LPRN, KC_RPRN, XXXXXXX, _______, _______, __NAV_R1___________________________________, + KC_LGUI, KC_LALT, HR_LBRC, HR_RBRC, KC_MINS, _______, _______, __NAV_R2___________________________________, + XXXXXXX, XXXXXXX, KC_LCBR, KC_RCBR, KC_EQL, _______, _______, __NAV_R3___________________________________, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +), + +/* Nav + * Available in raise. + */ +[_NAV] = LAYOUT_planck_wrapper( + __BLANK____________________________________, _______, _______, __BLANK____________________________________, + __BLANK____________________________________, _______, _______, __BLANK____________________________________, + __BLANK____________________________________, _______, _______, __BLANK____________________________________, + __BLANK____________________________________, _______, _______, __BLANK____________________________________ +), + +/* Plover layer (http://opensteno.org) + * ,-----------------------------------------------------------------------------------. + * | # | # | # | # | # | # | # | # | # | # | # | # | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | S | T | P | H | * | * | F | P | L | T | D | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | S | K | W | R | * | * | R | B | G | S | Z | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | Exit | | | A | O | | E | U | | | | + * `-----------------------------------------------------------------------------------' + */ + +[_PLOVER] = LAYOUT_planck_grid( + KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1, KC_1 , + XXXXXXX, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, + XXXXXXX, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + EXT_PLV, XXXXXXX, XXXXXXX, KC_C, KC_V, XXXXXXX, XXXXXXX, KC_N, KC_M, XXXXXXX, XXXXXXX, XXXXXXX +), + +/* Adjust (Lower + Raise) + * v------------------------RGB CONTROL--------------------v + * ,-----------------------------------------------------------------------------------. + * | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | |Brite |MUSmod|Aud on|Audoff|AGnorm|AGswap|Qwerty|Colemk|CLMKII|Plover| | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | |Voice-|Voice+|Mus on|Musoff|MIDIon|MIDIof|ClmkDH| | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' + */ +[_ADJUST] = LAYOUT_planck_wrapper( + __ADJUST_L1________________________________, MUV_IN, PLOVER, __MEDIA_R1_________________________________, + __ADJUST_L2________________________________, MUV_DE, CLMK_DH, __MEDIA_R2_________________________________, + __ADJUST_L3________________________________, MU_MOD, QWERTY, __MEDIA_R3_________________________________, + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX +) + +/* + * ,-----------------------------------------------------------------------------------. + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | + * `-----------------------------------------------------------------------------------' +[_ADJUST] = LAYOUT_planck_grid( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ +) + + */ + // clang-format on +}; + +#ifdef AUDIO_ENABLE +float plover_song[][2] = SONG(PLOVER_SOUND); +float plover_gb_song[][2] = SONG(PLOVER_GOODBYE_SOUND); +#endif + +#define LIGHT_GOLDEN 30, 255, 100 +#define LIGHT_MAGENTA 213, 255, 100 +#define LIGHT_AZURE 148, 255, 100 + +// Define light layers +// -- e.g., light up LEDS 3-6 with RED when the numpd layer is active +const rgblight_segment_t PROGMEM rgb_clmk_dh[] = RGBLIGHT_LAYER_SEGMENTS({0, 9, HSV_RED}); +const rgblight_segment_t PROGMEM rgb_lower[] = RGBLIGHT_LAYER_SEGMENTS({0, 9, LIGHT_GOLDEN}); +const rgblight_segment_t PROGMEM rgb_raise[] = RGBLIGHT_LAYER_SEGMENTS({0, 9, LIGHT_MAGENTA}); +const rgblight_segment_t PROGMEM rgb_numpd[] = RGBLIGHT_LAYER_SEGMENTS({0, 9, LIGHT_AZURE}); + +const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(rgb_clmk_dh, rgb_lower, rgb_raise, rgb_numpd); + +void keyboard_post_init_user(void) { + rgblight_layers = rgb_layers; // Enable the LED layers +} + +layer_state_t layer_state_set_user(layer_state_t state) { + rgblight_set_layer_state(1, layer_state_cmp(state, _LOWER)); + rgblight_set_layer_state(2, layer_state_cmp(state, _RAISE)); + return state; +} + +bool process_record_keymap(uint16_t keycode, keyrecord_t* record) { + switch (keycode) { + case BACKLIT: + if (record->event.pressed) { + register_code(KC_RSFT); +#ifdef BACKLIGHT_ENABLE + backlight_step(); +#endif +#ifdef KEYBOARD_planck_rev5 + writePinLow(E6); +#endif + } else { + unregister_code(KC_RSFT); +#ifdef KEYBOARD_planck_rev5 + writePinHigh(E6); +#endif + } + return false; + break; + case PLOVER: + if (record->event.pressed) { +#ifdef AUDIO_ENABLE + stop_all_notes(); + PLAY_SONG(plover_song); +#endif + layer_off(_RAISE); + layer_off(_LOWER); + layer_off(_ADJUST); + layer_on(_PLOVER); + if (!eeconfig_is_enabled()) { + eeconfig_init(); + } + keymap_config.raw = eeconfig_read_keymap(); + keymap_config.nkro = 1; + eeconfig_update_keymap(keymap_config.raw); + } + return false; + break; + case EXT_PLV: + if (record->event.pressed) { +#ifdef AUDIO_ENABLE + PLAY_SONG(plover_gb_song); +#endif + layer_off(_PLOVER); + } + return false; + break; + } + + return true; +} + +bool muse_mode = false; +uint8_t last_muse_note = 0; +uint16_t muse_counter = 0; +uint8_t muse_offset = 70; +uint16_t muse_tempo = 50; + +bool encoder_update(bool clockwise) { + if (muse_mode) { + if (IS_LAYER_ON(_RAISE)) { + if (clockwise) { + muse_offset++; + } else { + muse_offset--; + } + } else { + if (clockwise) { + muse_tempo += 1; + } else { + muse_tempo -= 1; + } + } + } else { + if (clockwise) { +#ifdef MOUSEKEY_ENABLE + tap_code(KC_MS_WH_DOWN); +#else + tap_code(KC_PGDN); +#endif + } else { +#ifdef MOUSEKEY_ENABLE + tap_code(KC_MS_WH_UP); +#else + tap_code(KC_PGUP); +#endif + } + } + return true; +} + +void dip_switch_update_user(uint8_t index, bool active) { + switch (index) { + case 0: { +#ifdef AUDIO_ENABLE + static bool play_sound = false; +#endif + if (active) { +#ifdef AUDIO_ENABLE + if (play_sound) { + PLAY_SONG(plover_song); + } +#endif + layer_on(_ADJUST); + } else { +#ifdef AUDIO_ENABLE + if (play_sound) { + PLAY_SONG(plover_gb_song); + } +#endif + layer_off(_ADJUST); + } +#ifdef AUDIO_ENABLE + play_sound = true; +#endif + break; + } + case 1: + if (active) { + muse_mode = true; + } else { + muse_mode = false; + } + } +} + +void matrix_scan_user(void) { +#ifdef AUDIO_ENABLE + if (muse_mode) { + if (muse_counter == 0) { + uint8_t muse_note = muse_offset + SCALE[muse_clock_pulse()]; + if (muse_note != last_muse_note) { + stop_note(compute_freq_for_midi_note(last_muse_note)); + play_note(compute_freq_for_midi_note(muse_note), 0xF); + last_muse_note = muse_note; + } + } + muse_counter = (muse_counter + 1) % muse_tempo; + } else { + if (muse_counter) { + stop_all_notes(); + muse_counter = 0; + } + } +#endif +} + +bool music_mask_user(uint16_t keycode) { + switch (keycode) { + case RAISE: + case LOWER: + return false; + default: + return true; + } +} diff --git a/keyboards/splitkb/kyria/keymaps/muppetjones/keymap.c b/keyboards/splitkb/kyria/keymaps/muppetjones/keymap.c new file mode 100644 index 000000000000..2ad43428b976 --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/muppetjones/keymap.c @@ -0,0 +1,276 @@ +/* Copyright 2020 Stephen J. Bush + * + * 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 "muppetjones.h" +#include "rgblight.h" + +#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) + +/* Layers from muppetjones.h + _CLMK_DH = 0, + _MOUSE, + _LOWER, + _RAISE, + _NAV, + _ADJUST, + */ + +/* + * Custom Keys + */ + +#ifdef ENCODER_ENABLE +bool encoder_update_standard(uint8_t index, bool clockwise); +#endif + +/* + * LAYERS + */ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off +/* + * Base Layer: Colemak DH + * + * ,-------------------------------------------. ,-------------------------------------------. + * |CAPSWORD| Q | W | F | P | B | | J | L | U | Y | ; : | | \ | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * |ESC/HYPR| A | R | S | T | G | | M | N | E | I | O | ' " | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | LShift | Z | X | C | D | V |LShift|Leader| | Del | Tab | K | H | , < | . > | / ? | Sft/Ent| + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | MUTE | Del | Enter| Space| Enter| | Bspc | Space| Hyper| Tab | AltGr| + * | | | Alt | Lower| Raise| | | Nav | Esc | Raise| | + * `----------------------------------' `----------------------------------' + */ +[_CLMK_DH] = LAYOUT_wrapper( + CW_TOGG, __COLEMAK_MOD_DH_L1________________________, __COLEMAK_MOD_DH_R1_W_QUOT_________________, KC_BSLS, + HY_ESC, __COLEMAK_MOD_DH_L2_W_GACS_________________, __COLEMAK_MOD_DH_R2_W_SCAG_________________, KC_QUOT, + TD_LAYR, __COLEMAK_MOD_DH_L3________________________, KC_LSFT, QK_LEAD, KC_DEL, KC_TAB, __COLEMAK_MOD_DH_R3________________________, KC_SFTENT, + KC_MUTE, KC_DEL, HY_ESC, LOW_BSP, RAI_ENT, KC_BSPC, NAV_SPC, HY_ESC, RAI_TAB, KC_RALT +), +[_QWERTY] = LAYOUT_wrapper( + _______, __QWERTY_L1________________________________, __QWERTY_R1________________________________, _______, + _______, __QWERTY_L2________________________________, __QWERTY_R2________________________________, _______, + _______, __QWERTY_L3________________________________, _______, _______, _______, _______, __QWERTY_R3________________________________, _______, + __BLANK____________________________________, __BLANK____________________________________ +), +[_MOUSE] = LAYOUT_wrapper( + _______, __BLANK____________________________________, __BLANK____________________________________, _______, + _______, __BLANK____________________________________, __BLANK____________________________________, _______, + _______, __BLANK____________________________________, _______, _______, _______, _______, __BLANK____________________________________, _______, + KC_BTN1, _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN2 +), +/* + * Lower Layer: Numpad and some symbols + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | ~ | ` | ( | ) | xxxx | | / ? | 7 & | 8 * | 9 ( | - _ | | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | LGUI | LALT |LCTL [|LSFT ]| _ - | | * | 4 $ | 5 % | 6 ^ | , < | + | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | xxxx | xxxx | { | } | LSFT | | | | | | 0 ) | 1 ! | 2 @ | 3 # | = + | | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | Lower| | | | | Nav | 0 | . | | + * `----------------------------------' `----------------------------------' + */ + [_LOWER] = LAYOUT_wrapper( + _______, __SYMBOLS_L1_______________________________, __NUMPAD_R1________________________________, _______, + _______, __SYMBOLS_L2_______________________________, __NUMPAD_R2________________________________, KC_COMM, + _______, __SYMBOLS_L3_______________________________, _______, _______, _______, _______, __NUMPAD_R3________________________________, KC_DOT, + __BLANK____________________________________, _______, KC_SPC, KC_0, KC_DOT, _______ + ), +/* + * Raise Layer: Symbols + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | ! | @ | { | } | | | | | & | € | | | \ | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | # | $ | ( | ) | ` | | _ | - | / | * | % | ' " | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | % | ^ | [ | ] | ~ | | | | | | + | = | , | . | / ? | - _ | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | Lower| | | | | Nav | Raise| | | + * `----------------------------------' `----------------------------------' + */ + // [_RAISE] = LAYOUT( + // _______, KC_EXLM, KC_AT, KC_LPRN, KC_RPRN, KC_PIPE, _______, KC_AMPR, _______, _______, _______, KC_BSLS, + // _______, KC_HASH, KC_DLR, KC_LBRC, KC_RBRC, KC_GRV, KC_UNDS, KC_MINS, KC_SLSH, KC_ASTR, KC_PERC, KC_QUOT, + // _______, KC_PERC, KC_CIRC, KC_LCBR, KC_RCBR, KC_TILD, _______, _______, _______, _______, KC_PLUS, KC_EQL, KC_COMM, KC_DOT, KC_SLSH, KC_MINS, + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // ), + [_RAISE] = LAYOUT_wrapper( + _______, XXXXXXX, XXXXXXX, KC_GRV, KC_GRV, KC_BSLS, __SYMBOLS_R1_______________________________, _______, + _______, XXXXXXX, XXXXXXX, KC_UNDS, KC_MINS, KC_TILD, __SYMBOLS_R2_______________________________, _______, + _______, XXXXXXX, XXXXXXX, KC_PLUS, KC_EQL, KC_GRV, _______, _______, _______, _______, __SYMBOLS_R3_______________________________, _______, + __BLANK____________________________________, __BLANK____________________________________ + ), +/* + * Navigation Layer (w/ symbols on left) + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | | | | | | | PgUp | Home | Up | End | | ScrlLk | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | GUI | ALT | CTL | SFT | | | PgDn | Left | Down | Up | Right| CapsLk | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | | | | | | | | | | | | | | | | | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | Lower| | | | | Nav | Raise| | | + * `----------------------------------' `----------------------------------' + */ + [_NAV] = LAYOUT_wrapper( + _______, __VIM_L1___________________________________, __NAV_R1___________________________________, KC_SCRL, + _______, __BLANK_W_GACS_____________________________, __NAV_R2___________________________________, KC_CAPS, + _______, __BLANK____________________________________, _______, _______, _______, _______, __NAV_R3___________________________________, _______, + __BLANK____________________________________, __BLANK____________________________________ + ), + /* + * Adjust Layer: Function keys, RGB + * + * ,-------------------------------------------. ,-------------------------------------------. + * | Boot | Boot |Debug | | | | | | F1 | F2 | F3 | F4 | | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | TOG | SAI | HUI | VAI | MOD | | | F5 | F6 | F7 | F8 | | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | | SAD | HUD | VAD | RMOD | | | | | | | F9 | F10 | F11 | F12 | | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_ADJUST] = LAYOUT_wrapper( + QK_BOOT, __ADJUST_L1________________________________, __MEDIA_R1_________________________________, _______, + _______, __ADJUST_L2________________________________, __MEDIA_R2_________________________________, _______, + _______, __ADJUST_L3________________________________, _______, _______, _______, _______, __MEDIA_R3_________________________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) + // /* + // * Layer template + // * + // * ,-------------------------------------------. ,-------------------------------------------. + // * | | | | | | | | | | | | | | + // * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + // * | | | | | | | | | | | | | | + // * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + // * | | | | | | | | | | | | | | | | | | + // * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + // * | | | | | | | | | | | | + // * | | | | | | | | | | | | + // * `----------------------------------' `----------------------------------' + // */ + // [_LAYERINDEX] = LAYOUT( + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // ), + // clang-format on +}; + +/* + * + */ + +void keyboard_post_init_user(void) { + // Call the keymap level matrix init. + +#ifdef RGBLIGHT_ENABLE + set_rgb_home(); +#endif +} + +layer_state_t layer_state_set_user(layer_state_t state) { +#ifdef RGBLIGHT_ENABLE + set_rgb_by_layer(state); +#endif + return state; +} + +bool process_record_keymap(uint16_t keycode, keyrecord_t* record) { + // Regular user keycode case statement + switch (keycode) { + default: + return true; + } + return true; +} + +#ifdef ENCODER_ENABLE +bool encoder_update_user(uint8_t index, bool clockwise) { +# ifdef POINTING_DEVICE_ENABLE + if (IS_LAYER_ON(_MOUSE)) + return encoder_update_mouse(index, clockwise); + else +# endif + return encoder_update_standard(index, clockwise); +} + +bool encoder_update_standard(uint8_t index, bool clockwise) { + if (index == 0) { + // Volume control + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { + // Page up/Page down +# ifdef MOUSEKEY_ENABLE + if (clockwise) { + tap_code(KC_WH_D); + } else { + tap_code(KC_WH_U); + } +# else + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } +# endif + } + return true; +} +#endif + +#ifdef RGBLIGHT_ENABLE +void set_layer_hsv(layer_state_t state, HSV* layer_color) { + uint16_t h = layer_color->h, s = layer_color->s, v = layer_color->v; + switch (get_highest_layer(state)) { + case _RAISE: + h += 3 * RGBLIGHT_HUE_STEP; + break; + case _LOWER: + h += -3 * RGBLIGHT_HUE_STEP; + break; + case _NAV: + h += 2 * RGBLIGHT_HUE_STEP; + break; + case _MOUSE: + h += -8 * RGBLIGHT_HUE_STEP; + break; + default: + break; + } + layer_color->h = h % 255; + layer_color->s = s; + layer_color->v = v % 255; + return; +} +#endif diff --git a/quantum/process_keycode/process_caps_word.c b/quantum/process_keycode/process_caps_word.c index 1b9583196d93..7a83f7bf49a7 100644 --- a/quantum/process_keycode/process_caps_word.c +++ b/quantum/process_keycode/process_caps_word.c @@ -15,7 +15,7 @@ #include "process_caps_word.h" bool process_caps_word(uint16_t keycode, keyrecord_t* record) { - if (keycode == CAPSWRD) { // Pressing CAPSWRD toggles Caps Word. + if (keycode == QK_CAPS_WORD_TOGGLE) { if (record->event.pressed) { caps_word_toggle(); } diff --git a/quantum/quantum_keycodes.h b/quantum/quantum_keycodes.h index fb579fa3b66e..d84cc8b00b42 100644 --- a/quantum/quantum_keycodes.h +++ b/quantum/quantum_keycodes.h @@ -597,7 +597,7 @@ enum quantum_keycodes { MACRO_30, MACRO_31, - CAPS_WORD, + QK_CAPS_WORD_TOGGLE, // Start of custom keycode range for keyboards and keymaps - always leave at the end SAFE_RANGE @@ -890,6 +890,9 @@ enum quantum_keycodes { #define UC_M_BS UNICODE_MODE_BSD #define UC_M_WC UNICODE_MODE_WINC +// Caps Word +#define CW_TOGG QK_CAPS_WORD_TOGGLE + // Swap Hands #define SH_T(kc) (QK_SWAP_HANDS | (kc)) #define SH_TG (QK_SWAP_HANDS | OP_SH_TOGGLE) @@ -963,4 +966,3 @@ enum quantum_keycodes { #define PB_32 PROGRAMMABLE_BUTTON_32 #define PROGRAMMABLE_BUTTON_MIN PROGRAMMABLE_BUTTON_1 #define PROGRAMMABLE_BUTTON_MAX PROGRAMMABLE_BUTTON_32 -#define CAPSWRD CAPS_WORD diff --git a/quantum/quantum_keycodes_legacy.h b/quantum/quantum_keycodes_legacy.h new file mode 100644 index 000000000000..40aa0f49a18a --- /dev/null +++ b/quantum/quantum_keycodes_legacy.h @@ -0,0 +1,81 @@ +#pragma once + +// clang-format off + +// Deprecated Quantum keycodes +#define KC_LEAD QK_LEADER +#define KC_LOCK QK_LOCK + +#define VLK_TOG QK_VELOCIKEY_TOGGLE +#define CAPSWRD QK_CAPS_WORD_TOGGLE +#define CAPS_WORD QK_CAPS_WORD_TOGGLE + +#define PROGRAMMABLE_BUTTON_1 QK_PROGRAMMABLE_BUTTON_1 +#define PROGRAMMABLE_BUTTON_2 QK_PROGRAMMABLE_BUTTON_2 +#define PROGRAMMABLE_BUTTON_3 QK_PROGRAMMABLE_BUTTON_3 +#define PROGRAMMABLE_BUTTON_4 QK_PROGRAMMABLE_BUTTON_4 +#define PROGRAMMABLE_BUTTON_5 QK_PROGRAMMABLE_BUTTON_5 +#define PROGRAMMABLE_BUTTON_6 QK_PROGRAMMABLE_BUTTON_6 +#define PROGRAMMABLE_BUTTON_7 QK_PROGRAMMABLE_BUTTON_7 +#define PROGRAMMABLE_BUTTON_8 QK_PROGRAMMABLE_BUTTON_8 +#define PROGRAMMABLE_BUTTON_9 QK_PROGRAMMABLE_BUTTON_9 +#define PROGRAMMABLE_BUTTON_10 QK_PROGRAMMABLE_BUTTON_10 +#define PROGRAMMABLE_BUTTON_11 QK_PROGRAMMABLE_BUTTON_11 +#define PROGRAMMABLE_BUTTON_12 QK_PROGRAMMABLE_BUTTON_12 +#define PROGRAMMABLE_BUTTON_13 QK_PROGRAMMABLE_BUTTON_13 +#define PROGRAMMABLE_BUTTON_14 QK_PROGRAMMABLE_BUTTON_14 +#define PROGRAMMABLE_BUTTON_15 QK_PROGRAMMABLE_BUTTON_15 +#define PROGRAMMABLE_BUTTON_16 QK_PROGRAMMABLE_BUTTON_16 +#define PROGRAMMABLE_BUTTON_17 QK_PROGRAMMABLE_BUTTON_17 +#define PROGRAMMABLE_BUTTON_18 QK_PROGRAMMABLE_BUTTON_18 +#define PROGRAMMABLE_BUTTON_19 QK_PROGRAMMABLE_BUTTON_19 +#define PROGRAMMABLE_BUTTON_20 QK_PROGRAMMABLE_BUTTON_20 +#define PROGRAMMABLE_BUTTON_21 QK_PROGRAMMABLE_BUTTON_21 +#define PROGRAMMABLE_BUTTON_22 QK_PROGRAMMABLE_BUTTON_22 +#define PROGRAMMABLE_BUTTON_23 QK_PROGRAMMABLE_BUTTON_23 +#define PROGRAMMABLE_BUTTON_24 QK_PROGRAMMABLE_BUTTON_24 +#define PROGRAMMABLE_BUTTON_25 QK_PROGRAMMABLE_BUTTON_25 +#define PROGRAMMABLE_BUTTON_26 QK_PROGRAMMABLE_BUTTON_26 +#define PROGRAMMABLE_BUTTON_27 QK_PROGRAMMABLE_BUTTON_27 +#define PROGRAMMABLE_BUTTON_28 QK_PROGRAMMABLE_BUTTON_28 +#define PROGRAMMABLE_BUTTON_29 QK_PROGRAMMABLE_BUTTON_29 +#define PROGRAMMABLE_BUTTON_30 QK_PROGRAMMABLE_BUTTON_30 +#define PROGRAMMABLE_BUTTON_31 QK_PROGRAMMABLE_BUTTON_31 +#define PROGRAMMABLE_BUTTON_32 QK_PROGRAMMABLE_BUTTON_32 + +#define JS_BUTTON0 QK_JOYSTICK_BUTTON_0 +#define JS_BUTTON1 QK_JOYSTICK_BUTTON_1 +#define JS_BUTTON2 QK_JOYSTICK_BUTTON_2 +#define JS_BUTTON3 QK_JOYSTICK_BUTTON_3 +#define JS_BUTTON4 QK_JOYSTICK_BUTTON_4 +#define JS_BUTTON5 QK_JOYSTICK_BUTTON_5 +#define JS_BUTTON6 QK_JOYSTICK_BUTTON_6 +#define JS_BUTTON7 QK_JOYSTICK_BUTTON_7 +#define JS_BUTTON8 QK_JOYSTICK_BUTTON_8 +#define JS_BUTTON9 QK_JOYSTICK_BUTTON_9 +#define JS_BUTTON10 QK_JOYSTICK_BUTTON_10 +#define JS_BUTTON11 QK_JOYSTICK_BUTTON_11 +#define JS_BUTTON12 QK_JOYSTICK_BUTTON_12 +#define JS_BUTTON13 QK_JOYSTICK_BUTTON_13 +#define JS_BUTTON14 QK_JOYSTICK_BUTTON_14 +#define JS_BUTTON15 QK_JOYSTICK_BUTTON_15 +#define JS_BUTTON16 QK_JOYSTICK_BUTTON_16 +#define JS_BUTTON17 QK_JOYSTICK_BUTTON_17 +#define JS_BUTTON18 QK_JOYSTICK_BUTTON_18 +#define JS_BUTTON19 QK_JOYSTICK_BUTTON_19 +#define JS_BUTTON20 QK_JOYSTICK_BUTTON_20 +#define JS_BUTTON21 QK_JOYSTICK_BUTTON_21 +#define JS_BUTTON22 QK_JOYSTICK_BUTTON_22 +#define JS_BUTTON23 QK_JOYSTICK_BUTTON_23 +#define JS_BUTTON24 QK_JOYSTICK_BUTTON_24 +#define JS_BUTTON25 QK_JOYSTICK_BUTTON_25 +#define JS_BUTTON26 QK_JOYSTICK_BUTTON_26 +#define JS_BUTTON27 QK_JOYSTICK_BUTTON_27 +#define JS_BUTTON28 QK_JOYSTICK_BUTTON_28 +#define JS_BUTTON29 QK_JOYSTICK_BUTTON_29 +#define JS_BUTTON30 QK_JOYSTICK_BUTTON_30 +#define JS_BUTTON31 QK_JOYSTICK_BUTTON_31 + +#define TERM_ON _Static_assert(false, "The Terminal feature has been removed from QMK. Please remove use of TERM_ON/TERM_OFF from your keymap.") +#define TERM_OFF _Static_assert(false, "The Terminal feature has been removed from QMK.. Please remove use of TERM_ON/TERM_OFF from your keymap.") +// #define RESET _Static_assert(false, "The RESET keycode has been removed from QMK.. Please remove use from your keymap.") diff --git a/tests/caps_word/test_caps_word.cpp b/tests/caps_word/test_caps_word.cpp index 3fa847917020..9a68cd7d51bd 100644 --- a/tests/caps_word/test_caps_word.cpp +++ b/tests/caps_word/test_caps_word.cpp @@ -134,19 +134,19 @@ TEST_F(CapsWord, DefaultCapsWordPressUserFun) { } } -// Tests that `CAPSWRD` key toggles Caps Word. +// Tests that `QK_CAPS_WORD_TOGGLE` key toggles Caps Word. TEST_F(CapsWord, CapswrdKey) { TestDriver driver; - KeymapKey key_capswrd(0, 0, 0, CAPSWRD); + KeymapKey key_capswrd(0, 0, 0, QK_CAPS_WORD_TOGGLE); set_keymap({key_capswrd}); // No keyboard reports should be sent. EXPECT_CALL(driver, send_keyboard_mock(_)).Times(0); - TapKey(key_capswrd); // Tap the CAPSWRD key. + TapKey(key_capswrd); // Tap the QK_CAPS_WORD_TOGGLE key. EXPECT_EQ(is_caps_word_on(), true); - TapKey(key_capswrd); // Tap the CAPSWRD key again. + TapKey(key_capswrd); // Tap the QK_CAPS_WORD_TOGGLE key again. EXPECT_EQ(is_caps_word_on(), false); testing::Mock::VerifyAndClearExpectations(&driver); diff --git a/users/muppetjones/muppetjones.c b/users/muppetjones/muppetjones.c new file mode 100644 index 000000000000..c4cb02124a4e --- /dev/null +++ b/users/muppetjones/muppetjones.c @@ -0,0 +1,52 @@ +/* Copyright 2020 Stephen J. Bush @muppetjones + * + * 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 "muppetjones.h" +#include "tapmods.h" +#include "features/casemodes.h" + +/* Placeholder function + * If defined in a keymap.c, this will be ignored. + */ +__attribute__((weak)) bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { return true; } + +/* Handle keypresses + */ +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + if (!process_case_modes(keycode, record)) { + return false; + } + // Regular user keycode case statement + switch (keycode) { + case CLMK_DH: + if (record->event.pressed) { + set_single_persistent_default_layer(_CLMK_DH); + } + return false; + break; + case QWERTY: + if (record->event.pressed) { + // print("mode just switched to qwerty and this is a huge string\n"); + set_single_persistent_default_layer(_QWERTY); + } + return false; + break; + default: + break; + } + return process_record_keymap(keycode, record); +}