Keymap tweaks

- Brought back Mouse Z for temporary mouse usage
- Combined Mouse and Function Keys into one Layer
- Cleaned up unused code (e.g. combos, key overrides)
- Updated all keyboards with new layer
- Updated documentation
- I think this will be it for now. Making a list somewhere else
for future enhancements
This commit is contained in:
Victor 2024-06-25 21:44:06 -05:00
parent 2f6929eae1
commit 82832d4fc7
Failed to generate hash of commit
17 changed files with 127 additions and 172 deletions

View file

@ -130,6 +130,8 @@
* https://docs.qmk.fm/features/rgb_matrix
*/
#if defined(RGB_MATRIX_ENABLE)
# undef RGB_MATRIX_DEFAULT_VAL
# define RGB_MATRIX_SLEEP
# define RGB_MATRIX_TIMEOUT 60000 //1 min

View file

@ -2,47 +2,35 @@
bool get_combo_must_tap(uint16_t index, combo_t *combo) {
switch (index) {
// case MOUSE_BUTTON3:
// case MOUSE_BUTTON4:
// case MOUSE_BUTTON5:
// case MOUSE_DRGTOG:
case KEY_ENT:
case KEY_TAB:
return true;
default:
return false;
}
}
bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) {
bool combo_should_trigger(uint16_t combo_index, combo_t *combo, uint16_t keycode, keyrecord_t *record) {
// disable all combos on config layer
if ( get_highest_layer(layer_state | default_layer_state) == _CONFIG ) return false;
switch (combo_index) {
// case MOUSE_BUTTON1:
// case MOUSE_BUTTON2:
// case MOUSE_BUTTON3:
// case MOUSE_BUTTON4:
// case MOUSE_BUTTON5:
case MOUSE_BUTTON1:
if ( get_highest_layer(layer_state | default_layer_state) > FIRST_DEFAULT_LAYER ) {
return false;
}
case MOUSE_DRGTOG:
if (( get_highest_layer(layer_state | default_layer_state) != FIRST_DEFAULT_LAYER )
&& ( get_highest_layer(layer_state | default_layer_state) != _MOUSE )) {
&& ( get_highest_layer(layer_state | default_layer_state) != _MOUSE_FUNC )) {
return false;
}
}
default:
return true;
}
}

View file

@ -2,25 +2,16 @@
#include "t4corun.h"
//const uint16_t PROGMEM mou_btn1_combo[] = { KC_D, KC_F, COMBO_END };
//const uint16_t PROGMEM mou_btn2_combo[] = { KC_S, KC_D, COMBO_END };
//const uint16_t PROGMEM mou_btn3_combo[] = { KC_F, KC_G, COMBO_END };
//const uint16_t PROGMEM mou_btn4_combo[] = { KC_F, KC_R, COMBO_END };
//const uint16_t PROGMEM mou_btn5_combo[] = { KC_T, KC_G, COMBO_END };
const uint16_t PROGMEM mou_btn1_combo[] = { KC_C, KC_V, COMBO_END };
const uint16_t PROGMEM mou_drg_combo[] = { KC_X, KC_V, COMBO_END };
const uint16_t PROGMEM key_ent_combo[] = { KC_C, KC_V, COMBO_END };
const uint16_t PROGMEM key_ent_combo[] = { KC_D, KC_F, COMBO_END };
const uint16_t PROGMEM key_bspc_combo[] = { KC_M, TR_COMM, COMBO_END };
const uint16_t PROGMEM key_tab_combo[] = { KC_J, KC_K, COMBO_END };
enum combos {
// MOUSE_BUTTON1,
// MOUSE_BUTTON2,
// MOUSE_BUTTON3,
// MOUSE_BUTTON4,
// MOUSE_BUTTON5,
MOUSE_BUTTON1,
MOUSE_DRGTOG,
KEY_ENT,
KEY_BSPC,
@ -28,17 +19,11 @@ enum combos {
COMBO_LENGTH
};
//their documentation is so confusing because you don't use COMBO_LEN defining the actions
uint16_t COMBO_LEN = COMBO_LENGTH;
combo_t key_combos[COMBO_LENGTH] = {
// [MOUSE_BUTTON1] = COMBO(mou_btn1_combo, KC_BTN1),
// [MOUSE_BUTTON2] = COMBO(mou_btn2_combo, KC_BTN2),
// [MOUSE_BUTTON3] = COMBO(mou_btn3_combo, KC_BTN3),
// [MOUSE_BUTTON4] = COMBO(mou_btn4_combo, KC_BTN4),
// [MOUSE_BUTTON5] = COMBO(mou_btn5_combo, KC_BTN5),
[MOUSE_BUTTON1] = COMBO(mou_btn1_combo, KC_BTN1),
[MOUSE_DRGTOG] = COMBO(mou_drg_combo, TR_DRGS),
[KEY_ENT] = COMBO(key_ent_combo, KC_ENT),
[KEY_BSPC] = COMBO(key_bspc_combo, KC_BSPC),

View file

@ -14,21 +14,6 @@ Intentionally did not convert all the override/autoshit tap holds to this format
const key_override_t delete_override = ko_make_basic(MOD_MASK_SHIFT, KC_BSPC, KC_DEL);
const key_override_t media_next_override = ko_make_with_layers(MOD_MASK_SHIFT, KC_MNXT, KC_MPRV, 1<<_NAVIGATION);
const key_override_t f1_override = ko_make_with_layers(MOD_MASK_CSA, KC_1, KC_F1, 1<<_NUMBER);
const key_override_t f2_override = ko_make_with_layers(MOD_MASK_CSA, KC_2, KC_F2, 1<<_NUMBER);
const key_override_t f3_override = ko_make_with_layers(MOD_MASK_CSA, KC_3, KC_F3, 1<<_NUMBER);
const key_override_t f4_override = ko_make_with_layers(MOD_MASK_CSA, KC_4, KC_F4, 1<<_NUMBER);
const key_override_t f5_override = ko_make_with_layers(MOD_MASK_CSA, KC_5, KC_F5, 1<<_NUMBER);
const key_override_t f6_override = ko_make_with_layers(MOD_MASK_CSA, KC_6, KC_F6, 1<<_NUMBER);
const key_override_t f7_override = ko_make_with_layers(MOD_MASK_CSA, KC_7, KC_F7, 1<<_NUMBER);
const key_override_t f8_override = ko_make_with_layers(MOD_MASK_CSA, KC_8, KC_F8, 1<<_NUMBER);
const key_override_t f9_override = ko_make_with_layers(MOD_MASK_CSA, KC_9, KC_F9, 1<<_NUMBER);
const key_override_t f10_override = ko_make_with_layers(MOD_MASK_CSA, KC_COMM, KC_F10, 1<<_NUMBER);
const key_override_t f11_override = ko_make_with_layers(MOD_MASK_CSA, KC_DOT, KC_F11, 1<<_NUMBER);
const key_override_t f12_override = ko_make_with_layers(MOD_MASK_CSA, KC_MINS, KC_F12, 1<<_NUMBER);
#if defined(HAPTIC_ENABLE)
const key_override_t hfnext_override = ko_make_with_layers(MOD_MASK_SHIFT, TR_HNXT, HF_PREV, 1<<_CONFIG);
const key_override_t hfconu_override = ko_make_with_layers(MOD_MASK_SHIFT, TR_HCNU, HF_COND, 1<<_CONFIG);
@ -41,19 +26,6 @@ const key_override_t ckup_override = ko_make_with_layers(MOD_MASK_SHIFT, C
const key_override_t **key_overrides = (const key_override_t *[]) {
&delete_override,
&media_next_override,
&f1_override,
&f2_override,
&f3_override,
&f4_override,
&f5_override,
&f6_override,
&f7_override,
&f8_override,
&f9_override,
&f10_override,
&f11_override,
&f12_override,
#if defined(HAPTIC_ENABLE)
&hfnext_override,

View file

@ -42,7 +42,7 @@ void render_layer_state(uint8_t col, uint8_t line, bool moveCursor) {
case _SYMBOL:
oled_write_P(PSTR(OLED_RENDER_LAYER_4), false);
break;
case _MOUSE:
case _MOUSE_FUNC:
oled_write_P(PSTR(OLED_RENDER_LAYER_5), false);
break;
case _CONFIG:
@ -65,7 +65,7 @@ void render_layer_state_list(uint8_t col, uint8_t line, bool moveCursor) {
oled_write_P(PSTR(OLED_RENDER_LAYER_2), get_highest_layer(layer_state) == _NAVIGATION);
oled_write_P(PSTR(OLED_RENDER_LAYER_3), get_highest_layer(layer_state) == _NUMBER);
oled_write_P(PSTR(OLED_RENDER_LAYER_4), get_highest_layer(layer_state) == _SYMBOL);
oled_write_P(PSTR(OLED_RENDER_LAYER_5), get_highest_layer(layer_state) == _MOUSE);
oled_write_P(PSTR(OLED_RENDER_LAYER_5), get_highest_layer(layer_state) == _MOUSE_FUNC);
oled_write_P(PSTR(OLED_RENDER_LAYER_6), get_highest_layer(layer_state) == _CONFIG);
}

View file

@ -11,7 +11,7 @@
# define OLED_RENDER_LAYER_2 "Navigation"
# define OLED_RENDER_LAYER_3 "Number "
# define OLED_RENDER_LAYER_4 "Symbol "
# define OLED_RENDER_LAYER_5 "Mouse "
# define OLED_RENDER_LAYER_5 "Mouse+Func"
# define OLED_RENDER_LAYER_6 "Config "
#else
//128x32 are ? x 5 char wide
@ -23,7 +23,7 @@
# define OLED_RENDER_LAYER_2 " Nav "
# define OLED_RENDER_LAYER_3 " Num "
# define OLED_RENDER_LAYER_4 " Sym "
# define OLED_RENDER_LAYER_5 " Mou "
# define OLED_RENDER_LAYER_5 " MFn "
# define OLED_RENDER_LAYER_6 " Cfg "
#endif

View file

@ -15,7 +15,7 @@ enum layers {
_NAVIGATION,
_NUMBER,
_SYMBOL,
_MOUSE,
_MOUSE_FUNC,
_CONFIG
};
@ -56,24 +56,24 @@ enum keycodes {
#define ___x___ KC_NO
// layer changes
#define NAV MO(_NAVIGATION)
#define NUM MO(_NUMBER)
#define MOUSE TG(_MOUSE)
#define CONFIG MO(_CONFIG)
#define NAV MO(_NAVIGATION)
#define NUM MO(_NUMBER)
#define MF_Z LT(_MOUSE_FUNC, KC_Z)
#define CONFIG MO(_CONFIG)
// Windows Shortcuts
#define SC_COPY LCTL(KC_C)
#define SC_CUT LCTL(KC_X)
#define SC_UNDO LCTL(KC_Z)
#define SC_PAST LCTL(KC_V)
#define SC_REDO LCTL(KC_Y)
#define SC_SNIP LGUI(LSFT(KC_S))
#define SC_FILE LGUI(KC_E)
#define SC_COPY LCTL(KC_C)
#define SC_CUT LCTL(KC_X)
#define SC_UNDO LCTL(KC_Z)
#define SC_PAST LCTL(KC_V)
#define SC_REDO LCTL(KC_Y)
#define SC_SNIP LGUI(LSFT(KC_S))
#define SC_FILE LGUI(KC_E)
// Zoom for encoders
#define ZOOMIN LCTL(KC_WH_U)
#define ZOOMOUT LCTL(KC_WH_D)
#define ZOOMRST LCTL(KC_0)
#define ZOOMIN LCTL(KC_WH_U)
#define ZOOMOUT LCTL(KC_WH_D)
#define ZOOMRST LCTL(KC_0)
/*
- Any keycodes with prefix TR has behavior dependent on if the feature is enabled.
@ -90,29 +90,29 @@ enum keycodes {
// tap hoLd. These will be intercepted and overridden. The LT will be ignored
// Brackets: open and close brackets and put the cursor inside
#define TR_LCBR LT(FIRST_DEFAULT_LAYER, TH_LCBR)
#define TR_LABK LT(FIRST_DEFAULT_LAYER, TH_LABK)
#define TR_LBRC LT(FIRST_DEFAULT_LAYER, TH_LBRC)
#define TR_LPRN LT(FIRST_DEFAULT_LAYER, TH_LPRN)
#define TR_DQUO LT(FIRST_DEFAULT_LAYER, TH_DQUO)
#define TR_SQUO LT(FIRST_DEFAULT_LAYER, TH_SQUO)
#define TR_LCBR LT(FIRST_DEFAULT_LAYER, TH_LCBR)
#define TR_LABK LT(FIRST_DEFAULT_LAYER, TH_LABK)
#define TR_LBRC LT(FIRST_DEFAULT_LAYER, TH_LBRC)
#define TR_LPRN LT(FIRST_DEFAULT_LAYER, TH_LPRN)
#define TR_DQUO LT(FIRST_DEFAULT_LAYER, TH_DQUO)
#define TR_SQUO LT(FIRST_DEFAULT_LAYER, TH_SQUO)
// double tap
#define TR_BSLS LT(FIRST_DEFAULT_LAYER, TH_BSLS)
#define TR_SLSH LT(FIRST_DEFAULT_LAYER, TH_SLSH)
#define TR_PIPE LT(FIRST_DEFAULT_LAYER, TH_PIPE)
#define TR_BSLS LT(FIRST_DEFAULT_LAYER, TH_BSLS)
#define TR_SLSH LT(FIRST_DEFAULT_LAYER, TH_SLSH)
#define TR_PIPE LT(FIRST_DEFAULT_LAYER, TH_PIPE)
// Custom override without holding shift
#define TR_COMM LT(FIRST_DEFAULT_LAYER, TH_COMM)
#define TR_DOT LT(FIRST_DEFAULT_LAYER, TH_DOT)
#define TR_PERC LT(FIRST_DEFAULT_LAYER, TH_PERC)
#define TR_COMM LT(FIRST_DEFAULT_LAYER, TH_COMM)
#define TR_DOT LT(FIRST_DEFAULT_LAYER, TH_DOT)
#define TR_PERC LT(FIRST_DEFAULT_LAYER, TH_PERC)
// auto shift
#define TR_EQL LT(FIRST_DEFAULT_LAYER, TH_EQL)
#define TR_MINS LT(FIRST_DEFAULT_LAYER, TH_MINS)
#define TR_GRV LT(FIRST_DEFAULT_LAYER, TH_GRV)
#define TR_SCLN LT(FIRST_DEFAULT_LAYER, TH_SCLN)
#define TR_QUOT LT(FIRST_DEFAULT_LAYER, TH_QUOT)
#define TR_EQL LT(FIRST_DEFAULT_LAYER, TH_EQL)
#define TR_MINS LT(FIRST_DEFAULT_LAYER, TH_MINS)
#define TR_GRV LT(FIRST_DEFAULT_LAYER, TH_GRV)
#define TR_SCLN LT(FIRST_DEFAULT_LAYER, TH_SCLN)
#define TR_QUOT LT(FIRST_DEFAULT_LAYER, TH_QUOT)
#if defined(KEYBOARD_bastardkb_charybdis_3x5)
@ -201,14 +201,14 @@ enum keycodes {
#define LAYER_QWERTY \
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, TR_QUOT, \
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TR_COMM, TR_DOT, TR_MINS, \
MF_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TR_COMM, TR_DOT, TR_MINS, \
_BASE_L4_________________, _BASE_R4_________________
#define LAYER_COLEMAK_DH \
KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, TR_QUOT, \
KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, \
KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, TR_COMM, TR_DOT, TR_MINS, \
MF_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, TR_COMM, TR_DOT, TR_MINS, \
_BASE_L4_________________, _BASE_R4_________________
@ -220,14 +220,14 @@ enum keycodes {
#define LAYER_NAVIGATION \
KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, ___x___, ___x___, SC_FILE, SC_SNIP, CONFIG, \
KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ___x___, _SCAG_MODS________________________, \
_UCCPR_L___________________________________, ___x___, KC_APP, ___x___, ___x___, ___x___, \
KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, ___x___, ___x___, ___x___, KC_CAPS, CONFIG, \
___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, ___x___, _SCAG_MODS________________________, \
_UCCPR_L___________________________________, ___x___, KC_APP, KC_VOLD, KC_VOLU, KC_MUTE, \
ZOOMRST, NUM, KC_ENT, _LAYER_TRANS_____________
#define LAYER_NUMBER \
KC_ESC, ___x___, ___x___, MOUSE, TR_GRV, ___x___, KC_7, KC_8, KC_9, KC_COMM, \
KC_ESC, SC_SNIP, SC_FILE, ___x___, TR_GRV, ___x___, KC_7, KC_8, KC_9, KC_COMM, \
_GACS_MODS________________________, TR_SCLN, KC_0, KC_4, KC_5, KC_6, KC_DOT, \
_UCCPR_L___________________________________, ___x___, KC_1, KC_2, KC_3, KC_MINS, \
_LAYER_TRANS_____________, _BASE_R4_________________
@ -240,15 +240,15 @@ enum keycodes {
_LAYER_TRANS_____________, _LAYER_TRANS_____________
#define LAYER_MOUSE \
___x___, KC_BTN5, KC_BTN4, KC_BTN3, TR_PDPI, ___x___, ___x___, ___x___, ___x___, ___x___, \
_GACS_MODS________________________, TR_DRGS, ___x___, ___x___, ___x___, ___x___, ___x___, \
_UCCPR_L___________________________________, ___x___, ___x___, TR_SNIP, TR_SDPI, ___x___, \
___x___, KC_BTN1, KC_BTN2, ___x___, MOUSE, ___x___
#define LAYER_MOUSE_FUNC \
___x___, KC_MPRV, KC_MNXT, KC_MPLY, ___x___, ___x___, KC_F7, KC_F8, KC_F9, KC_F10, \
_GACS_MODS________________________, TR_DRGS, ___x___, KC_F4, KC_F5, KC_F6, KC_F11, \
_______, KC_BTN5, KC_BTN4, KC_BTN3, TR_SNIP, ___x___, KC_F1, KC_F2, KC_F3, KC_F12, \
___x___, KC_BTN1, KC_BTN2, TR_PDPI, TR_SDPI, ___x___
#define LAYER_CONFIG \
TR_HRST, TR_HCNU, TR_HNXT, TR_HFBK, TR_HTOG, ___x___, PN_BOOT, EE_CLR, QK_BOOT, _______, \
TR_CRST, TR_CKUP, TR_CTOG, ___x___, TR_ATOG, ___x___, TR_LSFT, ___x___, ___x___, TR_RMOD, \
KC_MUTE, KC_VOLD, KC_VOLU, KC_MNXT, KC_MPLY, TR_RTOG, TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, \
BASELYR, TR_DMR1, TR_DMP1, ___x___, ___x___, TR_RTOG
TR_CRST, TR_CKUP, TR_CTOG, ___x___, TR_ATOG, ___x___, TR_LSFT, ___x___, ___x___, BASELYR, \
___x___, ___x___, ___x___, ___x___, TR_RTOG, TR_RMOD, TR_RHUI, TR_RSAI, TR_RVAI, TR_RSPI, \
BASELYR, TR_DMR1, TR_DMP1, TR_DMP2, TR_DMR2, TR_RTOG