mirror of
https://github.com/qmk/qmk_userspace.git
synced 2025-05-04 14:44:16 -04:00
Code cleanup and Enhancements
- converted as many statements in t4corun.c to ternary operators for consistency - consolidated feature configuration into overloaded encoder - consolidated feature toggle into overloaded keypress - cleaned up keymap after key consolidation
This commit is contained in:
parent
4fd0793447
commit
55f7ad027a
3 changed files with 97 additions and 165 deletions
|
@ -40,7 +40,7 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
|
|||
[_COLEMAK_DH] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_GAME] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
|
||||
[_NAVIGATION] = { ENCODER_CCW_CW(KC_LEFT, KC_RGHT), ENCODER_CCW_CW(REV_RGB, FWD_RGB) },
|
||||
[_NUMBER] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(REV_TAB, FWD_TAB) },
|
||||
[_NUMBER] = { ENCODER_CCW_CW(REV_CFG, FWD_CFG), ENCODER_CCW_CW(REV_TAB, FWD_TAB) },
|
||||
[_SYMBOL] = { ENCODER_CCW_CW(___x___, ___x___), ENCODER_CCW_CW(___x___, ___x___) },
|
||||
[_MOUSE_FUNC] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(ZOOMOUT, ZOOMIN) }
|
||||
//[_CONFIG] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RBSELYR, BASELYR) }
|
||||
|
|
|
@ -32,6 +32,13 @@ layer_state_t layer_state_set_user(layer_state_t state) {
|
|||
return update_tri_layer_state(state, _NAVIGATION, _NUMBER, _SYMBOL);
|
||||
}
|
||||
|
||||
// helper function to adjust default layer
|
||||
void set_default_layer(bool forward) {
|
||||
current_base_layer = forward ?
|
||||
(current_base_layer + 1) % NUM_DEFAULT_LAYERS :
|
||||
(current_base_layer - 1) % NUM_DEFAULT_LAYERS;
|
||||
set_single_persistent_default_layer(current_base_layer);
|
||||
}
|
||||
|
||||
// Customize behavior for existing keycodes or create new ones
|
||||
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
||||
|
@ -57,22 +64,14 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
// makes scroll lock a hold instead of toggle
|
||||
// enables momentary drag scroll on ploopy nano
|
||||
case KC_SCRL:
|
||||
if (record->event.pressed) {
|
||||
tap_code(KC_SCRL);
|
||||
} else {
|
||||
tap_code(KC_SCRL);
|
||||
}
|
||||
record->event.pressed ? tap_code(KC_SCRL) : tap_code(KC_SCRL);
|
||||
return false;
|
||||
|
||||
|
||||
// makes num lock a hold instead of toggle
|
||||
// prevents accidental ploopy nano going into bootloader
|
||||
case KC_NUM:
|
||||
if (record->event.pressed) {
|
||||
tap_code(KC_NUM);
|
||||
} else {
|
||||
tap_code(KC_NUM);
|
||||
}
|
||||
record->event.pressed ? tap_code(KC_NUM) : tap_code(KC_NUM);
|
||||
return false;
|
||||
|
||||
#if defined(WPM_ENABLE)
|
||||
|
@ -89,15 +88,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
|
||||
case BASELYR:
|
||||
if (record->event.pressed) {
|
||||
current_base_layer = (current_base_layer + 1) % NUM_DEFAULT_LAYERS;
|
||||
set_single_persistent_default_layer(current_base_layer);
|
||||
}
|
||||
return false;
|
||||
|
||||
case RBSELYR:
|
||||
if (record->event.pressed) {
|
||||
current_base_layer = (current_base_layer - 1) % NUM_DEFAULT_LAYERS;
|
||||
set_single_persistent_default_layer(current_base_layer);
|
||||
set_default_layer(true);
|
||||
}
|
||||
return false;
|
||||
|
||||
|
@ -121,33 +112,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
}
|
||||
return false;
|
||||
|
||||
case ZOOMIN:
|
||||
case ZOOMOUT:
|
||||
if (record->event.pressed) {
|
||||
if (!hold_forward_active) {
|
||||
hold_forward_active = true;
|
||||
register_code(KC_LCTL);
|
||||
}
|
||||
hold_mod_timer = timer_read();
|
||||
if (keycode == ZOOMIN) {
|
||||
register_code(KC_WH_U);
|
||||
} else {
|
||||
register_code(KC_WH_D);
|
||||
}
|
||||
} else {
|
||||
if (keycode == ZOOMIN) {
|
||||
unregister_code(KC_WH_U);
|
||||
} else {
|
||||
unregister_code(KC_WH_D);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
||||
#if defined(RGB_MATRIX_ENABLE)
|
||||
case FWD_RGB:
|
||||
case REV_RGB:
|
||||
if (record->event.pressed) {
|
||||
switch (current_mods) {
|
||||
#if defined(RGB_MATRIX_ENABLE)
|
||||
case MOD_BIT(KC_LSFT):
|
||||
keycode == FWD_RGB ? rgb_matrix_increase_hue() : rgb_matrix_decrease_hue();
|
||||
break;
|
||||
|
@ -164,39 +133,80 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|||
keycode == FWD_RGB ? rgb_matrix_increase_speed() : rgb_matrix_decrease_speed();
|
||||
break;
|
||||
|
||||
default:
|
||||
case MOD_BIT(KC_LSFT) | MOD_BIT(KC_LCTL):
|
||||
keycode == FWD_RGB ? rgb_matrix_step() : rgb_matrix_step_reverse();
|
||||
break;
|
||||
#endif //RGB_MATRIX_ENABLE
|
||||
default:
|
||||
keycode == FWD_RGB ? set_default_layer(true) : set_default_layer(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
#endif
|
||||
|
||||
|
||||
case FWD_CFG:
|
||||
case REV_CFG:
|
||||
if (record->event.pressed) {
|
||||
switch (current_mods) {
|
||||
#if defined(HAPTIC_ENABLE)
|
||||
case TR_HNXT:
|
||||
if (record->event.pressed) {
|
||||
if( current_mods & MOD_MASK_SHIFT ) {
|
||||
haptic_mode_decrease();
|
||||
} else {
|
||||
haptic_mode_increase();
|
||||
}
|
||||
}
|
||||
return false;
|
||||
#endif
|
||||
|
||||
case MOD_BIT(KC_LSFT):
|
||||
keycode == FWD_CFG ? haptic_mode_increase() : haptic_mode_decrease();
|
||||
break;
|
||||
#endif //HAPTIC_ENABLE
|
||||
#if defined(AUDIO_ENABLE)
|
||||
case TR_CKUP:
|
||||
if (record->event.pressed) {
|
||||
if( current_mods & MOD_MASK_SHIFT ) {
|
||||
clicky_freq_down();
|
||||
} else {
|
||||
clicky_freq_up();
|
||||
case MOD_BIT(KC_LCTL):
|
||||
keycode == FWD_CFG ? clicky_freq_up() : clicky_freq_down();
|
||||
break;
|
||||
#endif //AUDIO_ENABLE
|
||||
default:
|
||||
keycode == FWD_CFG ? set_default_layer(true) : set_default_layer(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
#endif
|
||||
|
||||
case ZOOMIN:
|
||||
case ZOOMOUT:
|
||||
if (record->event.pressed) {
|
||||
if (!hold_forward_active) {
|
||||
hold_forward_active = true;
|
||||
register_code(KC_LCTL);
|
||||
}
|
||||
hold_mod_timer = timer_read();
|
||||
keycode == ZOOMIN ? register_code(KC_WH_U) : register_code(KC_WH_D);
|
||||
} else {
|
||||
keycode == ZOOMIN ? unregister_code(KC_WH_U) : unregister_code(KC_WH_D);
|
||||
}
|
||||
return false;
|
||||
|
||||
case TOG_CFG:
|
||||
if (record->event.pressed) {
|
||||
switch (current_mods) {
|
||||
#if defined(RGB_MATRIX_ENABLE)
|
||||
case MOD_BIT(KC_LSFT):
|
||||
rgb_matrix_toggle();
|
||||
break;
|
||||
#endif //RGB_MATRIX_ENABLE
|
||||
#if defined(HAPTIC_ENABLE)
|
||||
case MOD_BIT(KC_LCTL):
|
||||
haptic_toggle();
|
||||
break;
|
||||
#endif //HAPTIC_ENABLE
|
||||
#if defined(AUDIO_ENABLE)
|
||||
case MOD_BIT(KC_LALT):
|
||||
is_audio_on() ? audio_off(): audio_on();
|
||||
break;
|
||||
|
||||
case MOD_BIT(KC_LGUI):
|
||||
clicky_toggle();
|
||||
break;
|
||||
#endif //AUDIO_ENABLE
|
||||
|
||||
default:
|
||||
set_default_layer(true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//https://docs.qmk.fm/#/mod_tap?id=changing-both-tasp-and-hold
|
||||
//https://getreuer.info/posts/keyboards/triggers/index.html#tap-vs.-long-press
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
#include QMK_KEYBOARD_H
|
||||
#include "features/taphold.h"
|
||||
|
||||
void set_default_layer(bool forward);
|
||||
|
||||
#if defined(WPM_ENABLE)
|
||||
bool isLunaJumping(void);
|
||||
bool isJumpShown(void);
|
||||
|
@ -53,20 +55,21 @@ enum keycodes {
|
|||
|
||||
PN_BOOT, // Press to enter Ploopy Nano Bootloader
|
||||
|
||||
TR_HNXT, // HF_NEXT or HF_PREV when shift is held
|
||||
TR_CKUP, // CK_UP or CK_DOWN when shift is held
|
||||
FWD_TAB, // enables encoder to alt-tab/alt+shift-tab
|
||||
REV_TAB, // alt-tab/alt+shift-tab or ctrl-tab/ctrl+shift tab
|
||||
|
||||
FWD_TAB,
|
||||
REV_TAB,
|
||||
|
||||
FWD_RGB,
|
||||
FWD_RGB, // enables overloaded encoder to adjust RGB mode and settings
|
||||
REV_RGB,
|
||||
|
||||
ZOOMIN,
|
||||
FWD_CFG, // enables overloaded encoder to adjust other features
|
||||
REV_CFG, // e.g. haptic freq, click freq
|
||||
|
||||
TOG_CFG, // enables overloaded key press to toggle features on or off
|
||||
|
||||
ZOOMIN, // enables encoder to mouse wheel zoom
|
||||
ZOOMOUT,
|
||||
|
||||
BASELYR,
|
||||
RBSELYR
|
||||
BASELYR // enables key press to change base layer
|
||||
};
|
||||
|
||||
#define ___x___ KC_NO
|
||||
|
@ -184,11 +187,11 @@ enum keycodes {
|
|||
|
||||
|
||||
#define LAYER_NAVIGATION \
|
||||
KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, ___x___, KC_APP, ___x___, DM_REC1, DM_PLY1, \
|
||||
KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_BSPC, _SCAG_MODS________________________, \
|
||||
KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_CAPS, KC_APP, DM_REC1, DM_PLY1, BASELYR, \
|
||||
___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_BSPC, _SCAG_MODS________________________, \
|
||||
_UCCPR_L___________________________________, KC_DEL, KC_TAB, KC_VOLD, KC_VOLU, KC_MUTE, \
|
||||
___x___, NUM, KC_ENT, _LAYER_TRANS_____________, \
|
||||
SCR_TOP, ___x___
|
||||
SCR_TOP, BASELYR
|
||||
|
||||
|
||||
#define LAYER_NUMBER \
|
||||
|
@ -196,101 +199,20 @@ enum keycodes {
|
|||
_GACS_MODS________________________, KC_TAB, ___x___, KC_4, KC_5, KC_6, KC_DOT, \
|
||||
_UCCPR_L___________________________________, ___x___, KC_1, KC_2, KC_3, KC_MINS, \
|
||||
_LAYER_TRANS_____________, KC_0, NAV, ___x___, \
|
||||
___x___, SC_WIN
|
||||
BASELYR, SC_WIN
|
||||
|
||||
|
||||
#define LAYER_SYMBOL \
|
||||
QK_BOOT, ___x___, KC_AT, KC_DLR, TR_GRV, TR_EQL, KC_HASH, KC_ASTR, ___x___, ___x___, \
|
||||
PN_BOOT, TR_LCBR, KC_RCBR, TR_PIPE, TR_SCLN, KC_AMPR, KC_QUES, TR_LBRC, KC_RBRC, ___x___, \
|
||||
BASELYR, TR_LABK, KC_RABK, TR_BSLS, KC_EXLM, TR_PERC, TR_SLSH, TR_LPRN, KC_RPRN, ___x___, \
|
||||
___x___, ___x___, KC_AT, KC_DLR, TR_GRV, TR_EQL, KC_HASH, KC_ASTR, ___x___, ___x___, \
|
||||
___x___, TR_LCBR, KC_RCBR, TR_PIPE, TR_SCLN, KC_AMPR, KC_QUES, TR_LBRC, KC_RBRC, ___x___, \
|
||||
___x___, TR_LABK, KC_RABK, TR_BSLS, KC_EXLM, TR_PERC, TR_SLSH, TR_LPRN, KC_RPRN, ___x___, \
|
||||
_LAYER_TRANS_____________, _LAYER_TRANS_____________, \
|
||||
___x___, ___x___
|
||||
|
||||
|
||||
#define LAYER_MOUSE_FUNC \
|
||||
MOU_FUN, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, HF_TOGG, KC_F7, KC_F8, KC_F9, KC_F10, \
|
||||
_GACS_MODS________________________, TR_DRGS, AU_TOGG, KC_F4, KC_F5, KC_F6, KC_F11, \
|
||||
_______, RGB_MOD, KC_BTN5, KC_BTN4, TR_SNIP, RGB_TOG, KC_F1, KC_F2, KC_F3, KC_F12, \
|
||||
KC_BTN1, KC_BTN3, KC_BTN2, TR_PDPI, TR_SDPI, ___x___, \
|
||||
MOU_FUN, QK_BOOT, PN_BOOT, TR_PDPI, TR_SDPI, TOG_CFG, KC_F7, KC_F8, KC_F9, KC_F10, \
|
||||
_GACS_MODS________________________, TR_DRGS, FWD_CFG, KC_F4, KC_F5, KC_F6, KC_F11, \
|
||||
_______, ___x___, KC_BTN5, KC_BTN4, TR_SNIP, REV_CFG, KC_F1, KC_F2, KC_F3, KC_F12, \
|
||||
KC_BTN1, KC_BTN3, KC_BTN2, REV_RGB, FWD_RGB, ___x___, \
|
||||
SCR_TOP, ZOOMRST
|
||||
|
||||
/*
|
||||
|
||||
#define LAYER_CONFIG \
|
||||
___x___, HF_RST, TR_HNXT, HF_FDBK, HF_TOGG, BASELYR, PN_BOOT, EE_CLR, QK_BOOT, _______, \
|
||||
RGB_MOD, CK_RST, TR_CKUP, CK_TOGG, AU_TOGG, ___x___, TR_LSFT, ___x___, ___x___, ___x___, \
|
||||
RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_TOG, ___x___, ___x___, ___x___, ___x___, ___x___, \
|
||||
___x___, DM_REC1, DM_PLY1, ___x___, ___x___, ___x___, \
|
||||
___x___, ___x___
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
#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, \
|
||||
MF_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, TR_COMM, TR_DOT, TR_MINS, \
|
||||
_BASE_L4_________________, _BASE_R4_________________, \
|
||||
SCR_TOP, KC_MUTE
|
||||
|
||||
|
||||
#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, \
|
||||
MF_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, TR_COMM, TR_DOT, TR_MINS, \
|
||||
_BASE_L4_________________, _BASE_R4_________________, \
|
||||
SCR_TOP, KC_MUTE
|
||||
|
||||
|
||||
#define LAYER_GAME \
|
||||
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_7, KC_8, KC_9, KC_ESC, \
|
||||
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_4, KC_5, KC_6, KC_GRV, \
|
||||
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LALT, KC_1, KC_2, KC_3, CM_TOGG, \
|
||||
KC_ENT, KC_SPC, KC_LSFT, _BASE_R4_________________, \
|
||||
SCR_TOP, KC_MUTE
|
||||
|
||||
|
||||
#define LAYER_NAVIGATION \
|
||||
KC_ESC, KC_HOME, KC_UP, KC_END, KC_PGUP, ___x___, KC_APP, ___x___, ___x___, CONFIG, \
|
||||
___x___, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_BSPC, _SCAG_MODS________________________, \
|
||||
_UCCPR_L___________________________________, KC_DEL, KC_TAB, KC_VOLD, KC_VOLU, KC_MUTE, \
|
||||
___x___, NUM, KC_ENT, _LAYER_TRANS_____________, \
|
||||
SCR_TOP, ___x___
|
||||
|
||||
|
||||
#define LAYER_NUMBER \
|
||||
KC_ESC, SC_SNIP, SC_FILE, MOU_FUN, KC_ENT, ___x___, KC_7, KC_8, KC_9, KC_COMM, \
|
||||
_GACS_MODS________________________, KC_TAB, KC_BSPC, KC_4, KC_5, KC_6, KC_DOT, \
|
||||
_UCCPR_L___________________________________, KC_DEL, KC_1, KC_2, KC_3, KC_MINS, \
|
||||
_LAYER_TRANS_____________, KC_0, NAV, ___x___, \
|
||||
___x___, SC_WIN
|
||||
|
||||
|
||||
#define LAYER_SYMBOL \
|
||||
KC_ESC, ___x___, KC_AT, KC_DLR, TR_GRV, TR_EQL, KC_HASH, KC_ASTR, ___x___, TR_DQUO, \
|
||||
KC_AMPR, TR_LCBR, KC_RCBR, TR_PIPE, TR_SCLN, KC_BSPC, KC_QUES, TR_LBRC, KC_RBRC, TR_SQUO, \
|
||||
TR_PERC, TR_LABK, KC_RABK, TR_BSLS, KC_EXLM, KC_DEL, TR_SLSH, TR_LPRN, KC_RPRN, TR_MINS, \
|
||||
_LAYER_TRANS_____________, _LAYER_TRANS_____________, \
|
||||
___x___, ___x___
|
||||
|
||||
|
||||
#define LAYER_MOUSE_FUNC \
|
||||
MOU_FUN, KC_MPRV, KC_MNXT, KC_MPLY, ___x___, ___x___, KC_F7, KC_F8, KC_F9, KC_F10, \
|
||||
_GACS_MODS________________________, TR_DRGS, KC_CAPS, KC_F4, KC_F5, KC_F6, KC_F11, \
|
||||
_______, ___x___, KC_BTN5, KC_BTN4, TR_SNIP, ___x___, KC_F1, KC_F2, KC_F3, KC_F12, \
|
||||
KC_BTN1, KC_BTN3, KC_BTN2, TR_PDPI, TR_SDPI, ___x___, \
|
||||
SCR_TOP, ZOOMRST
|
||||
|
||||
|
||||
#define LAYER_CONFIG \
|
||||
___x___, HF_RST, TR_HNXT, HF_FDBK, HF_TOGG, BASELYR, PN_BOOT, EE_CLR, QK_BOOT, _______, \
|
||||
RGB_MOD, CK_RST, TR_CKUP, CK_TOGG, AU_TOGG, ___x___, TR_LSFT, ___x___, ___x___, ___x___, \
|
||||
RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_TOG, ___x___, ___x___, ___x___, ___x___, ___x___, \
|
||||
___x___, DM_REC1, DM_PLY1, ___x___, ___x___, ___x___, \
|
||||
___x___, ___x___
|
||||
|
||||
|
||||
*/
|
Loading…
Add table
Add a link
Reference in a new issue