mirror of
https://github.com/qmk/qmk_userspace.git
synced 2026-07-28 20:26:55 -04:00
I think I've actually got it this time
This commit is contained in:
parent
2951e7ac87
commit
961b6e3762
6 changed files with 84 additions and 185 deletions
|
|
@ -21,14 +21,15 @@ enum CustomKeycodes {
|
||||||
#define ZOOM_IN C(KC_EQL)
|
#define ZOOM_IN C(KC_EQL)
|
||||||
#define ZOOM_OUT C(KC_MINS)
|
#define ZOOM_OUT C(KC_MINS)
|
||||||
|
|
||||||
|
#define SFT_BSPC SFT_T(KC_BSPC)
|
||||||
|
|
||||||
// layers
|
// layers
|
||||||
#define SYM_ENT LT(_SYM, KC_ENT)
|
#define SYM_ENT LT(_SYM, KC_ENT)
|
||||||
#define NAV_SPC LT(_NAV, KC_SPC)
|
#define NAV_TAB LT(_NAV, KC_TAB)
|
||||||
|
#define NUM_SPC LT(_NUM, KC_SPC)
|
||||||
#define FN_LAUNCH LT(_FUNC, LAUNCH)
|
#define FN_LAUNCH LT(_FUNC, LAUNCH)
|
||||||
#define FN_ESC LT(_FUNC, KC_ESC)
|
#define FN_ESC LT(_FUNC, KC_ESC)
|
||||||
// #define NUM MO(_NUM)
|
#define ARROW MO(_SH_ARROW)
|
||||||
// #define LAUNCH_NUM LT(_SH_NUM, LAUNCH)
|
|
||||||
#define COMP_ARROW LT(_SH_ARROW, COMPOSE)
|
|
||||||
|
|
||||||
// trigger mods
|
// trigger mods
|
||||||
#define OBLITERATE_TRIGGER_MODS MOD_MASK_GUI
|
#define OBLITERATE_TRIGGER_MODS MOD_MASK_GUI
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,9 @@
|
||||||
|
|
||||||
// tap-hold
|
// tap-hold
|
||||||
#define QUICK_TAP_TERM_PER_KEY
|
#define QUICK_TAP_TERM_PER_KEY
|
||||||
#define HOLD_ON_OTHER_KEY_PRESS
|
// #define HOLD_ON_OTHER_KEY_PRESS
|
||||||
// #define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
||||||
// #define PERMISSIVE_HOLD_PER_KEY
|
#define PERMISSIVE_HOLD_PER_KEY
|
||||||
|
|
||||||
// combos
|
// combos
|
||||||
// #define COMBO_PROCESS_KEY_RELEASE
|
// #define COMBO_PROCESS_KEY_RELEASE
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@
|
||||||
#include "./layers/layers.h"
|
#include "./layers/layers.h"
|
||||||
#include "./tap_dance/tap_dance.h"
|
#include "./tap_dance/tap_dance.h"
|
||||||
#include "./utils/utils.h"
|
#include "./utils/utils.h"
|
||||||
#include <stdbool.h>
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
// clang-format off
|
// clang-format off
|
||||||
|
|
@ -13,13 +12,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
||||||
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,
|
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
|
KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NO,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
|
KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_NO,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
CW_TOGG, KC_Z, KC_X, KC_C, KC_V, KC_B, TD_CLS, GAME, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_DEL,
|
KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, TD_CLS, GAME, KC_N, KC_M, KC_COMM, KC_DOT, KC_SCLN, KC_NO,
|
||||||
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
||||||
FN_LAUNCH, NAV_SPC, KC_SPC, OS_LSFT, SYM_ENT, COMP_ARROW
|
FN_LAUNCH, NAV_TAB, NUM_SPC, SFT_BSPC, SYM_ENT, ARROW
|
||||||
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
@ -37,34 +36,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
||||||
),
|
),
|
||||||
|
|
||||||
[_SYM] = LAYOUT(
|
|
||||||
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
|
||||||
KC_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_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
|
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
|
||||||
KC_TRNS, KC_BSLS, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_PLUS, OS_RSFT, OS_RCTL, OS_RALT, OS_RGUI, KC_DQUO,
|
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
|
||||||
KC_CAPS, KC_PIPE, KC_LCBR, KC_RCBR, KC_UNDS, KC_GRV, KC_TRNS, QK_BOOT, KC_TILD, KC_COLN, KC_LABK, KC_RABK, KC_QUES, KC_TRNS,
|
|
||||||
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
|
||||||
FN_LAUNCH, NAV_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
|
||||||
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
|
||||||
),
|
|
||||||
|
|
||||||
[_NAV] = LAYOUT(
|
|
||||||
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
|
||||||
KC_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_NO, KC_NO, TAB_LEFT, TAB_RIGHT, KC_NO, KC_NO, KC_HOME, KC_UP, KC_END, PH_P, KC_TRNS,
|
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
|
||||||
KC_TRNS, OS_LGUI, OS_LALT, OS_LCTL, OS_LSFT, KC_NO, CW_TOGG, KC_LEFT, KC_DOWN, KC_RGHT, KC_SCLN, KC_TRNS,
|
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
|
||||||
KC_CAPS, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), KC_NO, KC_TRNS, QK_BOOT, KC_CAPS, KC_F2, KC_COMM, KC_DOT, KC_SLSH, KC_TRNS,
|
|
||||||
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
|
||||||
FN_LAUNCH, NAV_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
|
||||||
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
|
||||||
),
|
|
||||||
|
|
||||||
[_NUM] = LAYOUT(
|
[_NUM] = LAYOUT(
|
||||||
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
||||||
KC_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,
|
||||||
|
|
@ -73,37 +44,51 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
|
KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, QK_BOOT, KC_NO, KC_COLN, KC_COMM, KC_DOT, KC_SCLN, KC_TRNS,
|
KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DOT, QK_BOOT, KC_NO, KC_COLN, KC_COMM, KC_DOT, KC_SCLN, KC_TRNS,
|
||||||
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
||||||
FN_LAUNCH, NAV_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
FN_LAUNCH, NAV_TAB, NUM_SPC, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
||||||
),
|
),
|
||||||
|
|
||||||
// [_SH_NUM] = LAYOUT( // single-handed numbers
|
[_SYM] = LAYOUT(
|
||||||
// //┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
||||||
// KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
// //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
// KC_TRNS, KC_SLSH, KC_DOT, KC_COMM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
KC_TRNS, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TRNS,
|
||||||
// //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
// KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
KC_TRNS, KC_BSLS, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_PLUS, OS_RSFT, OS_RCTL, OS_RALT, OS_RGUI, KC_TRNS,
|
||||||
// //├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
// KC_TRNS, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
KC_CAPS, KC_PIPE, KC_LCBR, KC_RCBR, KC_UNDS, KC_GRV, TD_CLS, QK_BOOT, KC_TILD, KC_QUES, KC_LABK, KC_RABK, KC_SLSH, KC_TRNS,
|
||||||
// //└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
||||||
// KC_TRNS, NAV_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
FN_LAUNCH, NAV_TAB, NUM_SPC, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
// // └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
||||||
// ),
|
),
|
||||||
|
|
||||||
|
[_NAV] = LAYOUT(
|
||||||
|
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
||||||
|
KC_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_ESC, KC_NO, TAB_LEFT, TAB_RIGHT, KC_NO, KC_NO, KC_HOME, KC_UP, KC_END, KC_DEL, KC_TRNS,
|
||||||
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
|
KC_TRNS, OS_LGUI, OS_LALT, OS_LCTL, OS_LSFT, CW_TOGG, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_SLSH, KC_TRNS,
|
||||||
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
|
KC_TRNS, C(KC_Z), C(KC_X), C(KC_C), C(KC_V), C(KC_Y), TD_CLS, QK_BOOT, COMPOSE, KC_F2, KC_COMM, KC_DOT, KC_SCLN, KC_TRNS,
|
||||||
|
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
||||||
|
FN_LAUNCH, NAV_TAB, NUM_SPC, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
|
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
||||||
|
),
|
||||||
|
|
||||||
[_FUNC] = LAYOUT( // functions
|
[_FUNC] = LAYOUT( // functions
|
||||||
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
//┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐ ┌───────────┬───────────┬───────────┬───────────┬───────────┬───────────┐
|
||||||
KC_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_NO, KC_NO, ZOOM_OUT, ZOOM_IN, KC_F11, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_NO,
|
KC_TRNS, KC_NO, KC_NO, ZOOM_OUT, ZOOM_IN, KC_F11, KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_TRNS,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_TRNS, KC_MPLY, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, KC_NO, KC_F5, KC_F6, KC_F7, KC_F8, KC_NO,
|
KC_TRNS, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, KC_NO, KC_F5, KC_F6, KC_F7, KC_F8, KC_TRNS,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_TRNS, KC_BRID, KC_BRIU, KC_WBAK, KC_WFWD, KC_MUTE, KC_TRNS, QK_BOOT, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO,
|
KC_TRNS, KC_BRID, KC_BRIU, KC_WBAK, KC_WFWD, KC_MUTE, TD_CLS, QK_BOOT, KC_NO, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
|
||||||
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
||||||
FN_LAUNCH, NAV_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
FN_LAUNCH, NAV_TAB, NUM_SPC, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
@ -115,9 +100,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤ ├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_TRNS,
|
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_LEFT, KC_DOWN, KC_RGHT, KC_NO, KC_TRNS,
|
||||||
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
//├───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┐ ┌───────────┼───────────┼───────────┼───────────┼───────────┼───────────┼───────────┤
|
||||||
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, TD_CLS, QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
|
||||||
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
//└───────────┴───────────┴───────────┴─────┬─────┴─────┬─────┴─────┬─────┴────┬──────┘ └─────┬─────┴─────┬─────┴─────┬─────┴─────┬─────┴───────────┴───────────┴───────────┘
|
||||||
FN_LAUNCH, NAV_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
|
FN_LAUNCH, NAV_TAB, NUM_SPC, KC_TRNS, KC_TRNS, KC_TRNS
|
||||||
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
// └───────────┴───────────┴──────────┘ └───────────┴───────────┴───────────┘
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
@ -133,38 +118,11 @@ tap_dance_action_t tap_dance_actions[] = {
|
||||||
const uint16_t PROGMEM win_swap_combo[] = {TAB_LEFT, TAB_RIGHT, COMBO_END};
|
const uint16_t PROGMEM win_swap_combo[] = {TAB_LEFT, TAB_RIGHT, COMBO_END};
|
||||||
|
|
||||||
combo_t key_combos[] = {
|
combo_t key_combos[] = {
|
||||||
// [NumCombo] = COMBO(num_layer_combo, NUM),
|
|
||||||
[WinSwapCombo] = COMBO(win_swap_combo, WIN_SWAP),
|
[WinSwapCombo] = COMBO(win_swap_combo, WIN_SWAP),
|
||||||
};
|
};
|
||||||
|
|
||||||
bool process_record_user(uint16_t keycode, keyrecord_t* record) {
|
bool process_record_user(uint16_t keycode, keyrecord_t* record) {
|
||||||
// static bool NAV_is_on = false;
|
|
||||||
|
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
// allow the SYM and NAV layers to override each other
|
|
||||||
// case SYM_ENT:
|
|
||||||
// if (!record->tap.count) {
|
|
||||||
// // if NAV is on, turn it off when SYM is turned on, then restore it when SYM
|
|
||||||
// // is turned off
|
|
||||||
// // if we're NUM-latched, don't interfere with the states
|
|
||||||
// if (NAV_is_on) {
|
|
||||||
// record->event.pressed && !NUM_latched ? layer_off(_NAV) : layer_on(_NAV);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// break;
|
|
||||||
|
|
||||||
// case NAV_SPC: // allow oneshot mods to be canceled by pressing this key
|
|
||||||
// if (record->tap.count) {
|
|
||||||
// if (record->event.pressed) {
|
|
||||||
// clear_oneshot_mods();
|
|
||||||
// }
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// // else {
|
|
||||||
// // NAV_is_on = record->event.pressed; // track NAV's state for SYM
|
|
||||||
// // }
|
|
||||||
// break;
|
|
||||||
|
|
||||||
case WIN_SWAP: // easy Alt-Tab
|
case WIN_SWAP: // easy Alt-Tab
|
||||||
if (record->event.pressed) {
|
if (record->event.pressed) {
|
||||||
register_mods(MOD_LALT);
|
register_mods(MOD_LALT);
|
||||||
|
|
@ -182,21 +140,40 @@ bool process_record_user(uint16_t keycode, keyrecord_t* record) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SFT_BSPC: // obliterate line backwards
|
||||||
|
if (record->tap.count && record->event.pressed) {
|
||||||
|
uint8_t mods = get_mods();
|
||||||
|
if ((mods | get_oneshot_mods()) & OBLITERATE_TRIGGER_MODS) {
|
||||||
|
tap_code(DUMMY_MOD_NEUTRALIZER_KEYCODE);
|
||||||
|
unregister_mods(OBLITERATE_TRIGGER_MODS);
|
||||||
|
clear_oneshot_mods();
|
||||||
|
tap_code16(S(KC_HOME));
|
||||||
|
register_code(KC_BSPC);
|
||||||
|
set_mods(mods);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case NUM_SPC: // menu shortcut
|
||||||
|
if (record->tap.count && record->event.pressed) {
|
||||||
|
uint8_t mods = get_mods();
|
||||||
|
if ((mods | get_oneshot_mods()) & MOD_MASK_CTRL) {
|
||||||
|
del_mods(MOD_MASK_CTRL);
|
||||||
|
clear_oneshot_mods();
|
||||||
|
tap_code16(MENU);
|
||||||
|
set_mods(mods);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
const key_override_t Q_TO_KILL = ko_make_with_layers(MOD_MASK_GUI, KC_Q, A(KC_F4), 1 << _BASE);
|
const key_override_t Q_TO_KILL = ko_make_with_layers(MOD_MASK_GUI, KC_Q, A(KC_F4), 1 << _BASE);
|
||||||
|
|
||||||
const key_override_t SPACE_TO_MENU = ko_make_basic(MOD_MASK_CTRL, KC_SPACE, MENU);
|
|
||||||
|
|
||||||
const key_override_t BSPC_TO_OBLITERATE = {
|
|
||||||
.trigger = KC_BSPC,
|
|
||||||
.trigger_mods = OBLITERATE_TRIGGER_MODS,
|
|
||||||
.layers = 0xFF,
|
|
||||||
.custom_action = obliterate_line_backwards,
|
|
||||||
.suppressed_mods = OBLITERATE_TRIGGER_MODS,
|
|
||||||
};
|
|
||||||
const key_override_t DEL_TO_OBLITERATE = {
|
const key_override_t DEL_TO_OBLITERATE = {
|
||||||
.trigger = KC_DEL,
|
.trigger = KC_DEL,
|
||||||
.trigger_mods = OBLITERATE_TRIGGER_MODS,
|
.trigger_mods = OBLITERATE_TRIGGER_MODS,
|
||||||
|
|
@ -214,37 +191,6 @@ const key_override_t END_TO_META_END = ko_make_basic(MOD_MASK_GUI, KC_END, C(KC_
|
||||||
const key_override_t UP_NO_CTRL = ko_make_basic(MOD_MASK_CTRL, KC_UP, KC_UP);
|
const key_override_t UP_NO_CTRL = ko_make_basic(MOD_MASK_CTRL, KC_UP, KC_UP);
|
||||||
const key_override_t DOWN_NO_CTRL = ko_make_basic(MOD_MASK_CTRL, KC_DOWN, KC_DOWN);
|
const key_override_t DOWN_NO_CTRL = ko_make_basic(MOD_MASK_CTRL, KC_DOWN, KC_DOWN);
|
||||||
|
|
||||||
// SYM layer
|
|
||||||
// A S F R Z X C V B M P U Y I
|
|
||||||
const key_override_t BSLS_TO_A = ko_make_with_layers(MOD_MASK_CTRL, KC_BSLS, C(KC_A), 1 << _SYM);
|
|
||||||
const key_override_t LBRC_TO_S = ko_make_with_layers(MOD_MASK_CTRL, KC_LBRC, C(KC_S), 1 << _SYM);
|
|
||||||
const key_override_t MINS_TO_F = ko_make_with_layers(MOD_MASK_CTRL, KC_MINS, C(KC_F), 1 << _SYM);
|
|
||||||
const key_override_t DLR_TO_R = ko_make_with_layers(MOD_MASK_CTRL, KC_DLR, C(KC_R), 1 << _SYM);
|
|
||||||
const key_override_t PIPE_TO_Z = ko_make_with_layers(MOD_MASK_CTRL, KC_PIPE, C(KC_Z), 1 << _SYM);
|
|
||||||
const key_override_t LCBR_TO_X = ko_make_with_layers(MOD_MASK_CTRL, KC_LCBR, C(KC_X), 1 << _SYM);
|
|
||||||
const key_override_t RCBR_TO_C = ko_make_with_layers(MOD_MASK_CTRL, KC_RCBR, C(KC_C), 1 << _SYM);
|
|
||||||
const key_override_t UNDS_TO_V = ko_make_with_layers(MOD_MASK_CTRL, KC_UNDS, C(KC_V), 1 << _SYM);
|
|
||||||
const key_override_t GRV_TO_B = ko_make_with_layers(MOD_MASK_CTRL, KC_GRV, C(KC_B), 1 << _SYM);
|
|
||||||
const key_override_t COLN_TO_M = ko_make_with_layers(MOD_MASK_CTRL, KC_COLN, C(KC_M), 1 << _SYM);
|
|
||||||
const key_override_t RPRN_TO_P = ko_make_with_layers(MOD_MASK_CTRL, KC_RPRN, C(KC_P), 1 << _SYM);
|
|
||||||
const key_override_t AMPR_TO_U = ko_make_with_layers(MOD_MASK_CTRL, KC_AMPR, C(KC_U), 1 << _SYM);
|
|
||||||
const key_override_t ASTR_TO_I = ko_make_with_layers(MOD_MASK_CTRL, KC_ASTR, C(KC_I), 1 << _SYM);
|
|
||||||
const key_override_t CIRC_TO_Y = ko_make_with_layers(MOD_MASK_CTRL, KC_CIRC, C(KC_Y), 1 << _SYM);
|
|
||||||
|
|
||||||
// NAV layer
|
|
||||||
// R Z X C V B M P Y
|
|
||||||
const key_override_t TAB_RIGHT_TO_R =
|
|
||||||
ko_make_with_layers(MOD_MASK_CTRL, TAB_RIGHT, C(KC_R), 1 << _NAV);
|
|
||||||
const key_override_t MUTE_TO_Z = ko_make_with_layers(MOD_MASK_CTRL, KC_MUTE, C(KC_Z), 1 << _NAV);
|
|
||||||
const key_override_t MPRV_TO_X = ko_make_with_layers(MOD_MASK_CTRL, KC_MPRV, C(KC_X), 1 << _NAV);
|
|
||||||
const key_override_t VOLD_TO_C = ko_make_with_layers(MOD_MASK_CTRL, KC_VOLD, C(KC_C), 1 << _NAV);
|
|
||||||
const key_override_t VOLU_TO_V = ko_make_with_layers(MOD_MASK_CTRL, KC_VOLU, C(KC_V), 1 << _NAV);
|
|
||||||
const key_override_t MNXT_TO_B = ko_make_with_layers(MOD_MASK_CTRL, KC_MNXT, C(KC_B), 1 << _NAV);
|
|
||||||
const key_override_t F2_TO_M = ko_make_with_layers(MOD_MASK_CTRL, KC_F2, C(KC_M), 1 << _NAV);
|
|
||||||
const key_override_t PLACEHOLDER_TO_P =
|
|
||||||
ko_make_with_layers(MOD_MASK_CTRL, PH_P, C(KC_P), 1 << _NAV);
|
|
||||||
const key_override_t WFWD_TO_Y = ko_make_with_layers(MOD_MASK_CTRL, KC_WFWD, C(KC_Y), 1 << _NAV);
|
|
||||||
|
|
||||||
// noshifts
|
// noshifts
|
||||||
const key_override_t ONE_NOSHIFT = ko_make_basic(MOD_MASK_SHIFT, KC_1, KC_1);
|
const key_override_t ONE_NOSHIFT = ko_make_basic(MOD_MASK_SHIFT, KC_1, KC_1);
|
||||||
const key_override_t TWO_NOSHIFT = ko_make_basic(MOD_MASK_SHIFT, KC_2, KC_2);
|
const key_override_t TWO_NOSHIFT = ko_make_basic(MOD_MASK_SHIFT, KC_2, KC_2);
|
||||||
|
|
@ -268,10 +214,7 @@ const key_override_t GRV_NOSHIFT = ko_make_basic(MOD_MASK_SHIFT, KC_GRV, KC_GRV)
|
||||||
// this globally defines all key overrides to be used
|
// this globally defines all key overrides to be used
|
||||||
const key_override_t* key_overrides[] = {
|
const key_override_t* key_overrides[] = {
|
||||||
&Q_TO_KILL,
|
&Q_TO_KILL,
|
||||||
|
|
||||||
&SPACE_TO_MENU,
|
|
||||||
// blocking formatting with this line
|
// blocking formatting with this line
|
||||||
&BSPC_TO_OBLITERATE,
|
|
||||||
&DEL_TO_OBLITERATE,
|
&DEL_TO_OBLITERATE,
|
||||||
|
|
||||||
&HOME_NOCTRL,
|
&HOME_NOCTRL,
|
||||||
|
|
@ -282,33 +225,6 @@ const key_override_t* key_overrides[] = {
|
||||||
&UP_NO_CTRL,
|
&UP_NO_CTRL,
|
||||||
&DOWN_NO_CTRL,
|
&DOWN_NO_CTRL,
|
||||||
|
|
||||||
// SYM layer Ctrl overrides
|
|
||||||
&BSLS_TO_A,
|
|
||||||
&LBRC_TO_S,
|
|
||||||
&MINS_TO_F,
|
|
||||||
&DLR_TO_R,
|
|
||||||
&PIPE_TO_Z,
|
|
||||||
&LCBR_TO_X,
|
|
||||||
&RCBR_TO_C,
|
|
||||||
&UNDS_TO_V,
|
|
||||||
&GRV_TO_B,
|
|
||||||
&COLN_TO_M,
|
|
||||||
&RPRN_TO_P,
|
|
||||||
&R_TO_U,
|
|
||||||
&ASTR_TO_I,
|
|
||||||
&CIRC_TO_Y,
|
|
||||||
|
|
||||||
// NAV layer Ctrl overrides
|
|
||||||
&TAB_RIGHT_TO_R,
|
|
||||||
&MUTE_TO_Z,
|
|
||||||
&MPRV_TO_X,
|
|
||||||
&VOLD_TO_C,
|
|
||||||
&VOLU_TO_V,
|
|
||||||
&MNXT_TO_B,
|
|
||||||
&F2_TO_M,
|
|
||||||
&PLACEHOLDER_TO_P,
|
|
||||||
&WFWD_TO_Y,
|
|
||||||
|
|
||||||
// noshifts
|
// noshifts
|
||||||
&ONE_NOSHIFT,
|
&ONE_NOSHIFT,
|
||||||
&TWO_NOSHIFT,
|
&TWO_NOSHIFT,
|
||||||
|
|
|
||||||
|
|
@ -4,28 +4,8 @@ bool NUM_latched = false;
|
||||||
bool NAV_pressed_first = false;
|
bool NAV_pressed_first = false;
|
||||||
|
|
||||||
layer_state_t layer_state_set_user(layer_state_t state) {
|
layer_state_t layer_state_set_user(layer_state_t state) {
|
||||||
// NUM latching
|
// allow the SYM and NUM layers to override each other
|
||||||
if (NUM_latched) {
|
|
||||||
if (IS_LAYER_ON_STATE(state, _SYM) && IS_LAYER_ON_STATE(state, _NAV)) {
|
|
||||||
state |= 1 << _NUM; // turn on NUM
|
|
||||||
} else {
|
|
||||||
// if both NAV and SYM are off, de-latch NUM
|
|
||||||
if (!IS_LAYER_ON_STATE(state, _SYM) && !IS_LAYER_ON_STATE(state, _NAV)) {
|
|
||||||
NUM_latched = false;
|
|
||||||
NAV_pressed_first = false; // reset to the original state
|
|
||||||
}
|
|
||||||
// since both layers aren't held, turn off NUM
|
|
||||||
state &= ~(1 << _NUM);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (NAV_pressed_first && IS_LAYER_ON_STATE(state, _SYM)) {
|
|
||||||
// both layers are on in the correct order, so turn on NUM and latch it
|
|
||||||
NUM_latched = true;
|
|
||||||
state |= 1 << _NUM;
|
|
||||||
} else {
|
|
||||||
NAV_pressed_first = IS_LAYER_ON_STATE(state, _NAV) && !IS_LAYER_ON_STATE(state, _SYM);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,9 @@
|
||||||
enum {
|
enum {
|
||||||
_BASE,
|
_BASE,
|
||||||
_GAME,
|
_GAME,
|
||||||
|
_NUM,
|
||||||
_SYM,
|
_SYM,
|
||||||
_NAV,
|
_NAV,
|
||||||
_NUM,
|
|
||||||
_FUNC,
|
_FUNC,
|
||||||
// _SH_NUM,
|
// _SH_NUM,
|
||||||
_SH_ARROW,
|
_SH_ARROW,
|
||||||
|
|
|
||||||
|
|
@ -5,28 +5,30 @@
|
||||||
|
|
||||||
uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t* record) {
|
uint16_t get_quick_tap_term(uint16_t keycode, keyrecord_t* record) {
|
||||||
switch (keycode) {
|
switch (keycode) {
|
||||||
case SYM_ENT: // no repeat tapping for this key
|
case NAV_TAB:
|
||||||
case NAV_SPC:
|
case NUM_SPC:
|
||||||
|
case SFT_BSPC:
|
||||||
|
case SYM_ENT:
|
||||||
return 0;
|
return 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return QUICK_TAP_TERM;
|
return QUICK_TAP_TERM;
|
||||||
}
|
}
|
||||||
|
|
||||||
// bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t* record) {
|
bool get_hold_on_other_key_press(uint16_t keycode, keyrecord_t* record) {
|
||||||
// switch (keycode) {
|
switch (keycode) {
|
||||||
// case NUM_SPC:
|
case NUM_SPC:
|
||||||
// return false;
|
return false;
|
||||||
// break;
|
break;
|
||||||
// }
|
}
|
||||||
// return true;
|
return true;
|
||||||
// }
|
}
|
||||||
|
|
||||||
// bool get_permissive_hold(uint16_t keycode, keyrecord_t *record) {
|
bool get_permissive_hold(uint16_t keycode, keyrecord_t* record) {
|
||||||
// switch (keycode) {
|
switch (keycode) {
|
||||||
// case NUM_SPC:
|
case NUM_SPC:
|
||||||
// return true;
|
return true;
|
||||||
// break;
|
break;
|
||||||
// }
|
}
|
||||||
// return false;
|
return false;
|
||||||
// }
|
}
|
||||||
Loading…
Reference in a new issue