Added double tap to layer 4 on left shift key.

This commit is contained in:
jsears 2023-12-22 19:10:19 -05:00
commit 1276c4db89
4 changed files with 42 additions and 14 deletions

View file

@ -40,7 +40,7 @@
#define HOLD_ON_OTHER_KEY_PRESS #define HOLD_ON_OTHER_KEY_PRESS
// markstos: prevent keydown and keyup from firing on different layers // markstos: prevent keydown and keyup from firing on different layers
#define PREVENT_STUCK_MODIFERS #define PREVENT_STUCK_MODIFER
// When enabled, typing a mod-tap plus second within term will register as the mod-combo // When enabled, typing a mod-tap plus second within term will register as the mod-combo
// Ref: https://beta.docs.qmk.fm/using-qmk/software-features/tap_hold#permissive-hold // Ref: https://beta.docs.qmk.fm/using-qmk/software-features/tap_hold#permissive-hold

View file

@ -7,7 +7,8 @@ enum custom_keycodes {
DEFAULT = SAFE_RANGE, DEFAULT = SAFE_RANGE,
LOWER, LOWER,
RAISE, RAISE,
FUNC FUNC,
SYSTEM
}; };
enum combos { enum combos {
@ -41,6 +42,7 @@ combo_t key_combos[COMBO_COUNT] = {
#define LOW_TAB LT(_LOWER, KC_TAB) #define LOW_TAB LT(_LOWER, KC_TAB)
#define RSE_BSP LT(_RAISE, KC_BSPC) #define RSE_BSP LT(_RAISE, KC_BSPC)
#define OSM_SFT OSM(MOD_LSFT) #define OSM_SFT OSM(MOD_LSFT)
#define SYS_SFT LT(OSL(_SYSTEM), OSM_SFT)
// For _RAISE layer // For _RAISE layer
@ -57,7 +59,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
OSM(MOD_LALT), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H ,KC_J ,KC_K ,KC_L ,KC_QUOT ,OSM_AGR,\ OSM(MOD_LALT), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H ,KC_J ,KC_K ,KC_L ,KC_QUOT ,OSM_AGR,\
//|---- ----+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| //|---- ----+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
OSM(MOD_LSFT), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,OSL_FUN,\ SYS_SFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,OSL_FUN,\
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
OSM_LCTL, GUI_ENT, LOW_TAB, RSE_BSP ,KC_SPC ,OSM_SFT \ OSM_LCTL, GUI_ENT, LOW_TAB, RSE_BSP ,KC_SPC ,OSM_SFT \
//`--------------------------' `--------------------------' //`--------------------------' `--------------------------'
@ -118,6 +120,8 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
return TAPPING_TERM_THUMB; return TAPPING_TERM_THUMB;
case LT(_LOWER, KC_TAB): case LT(_LOWER, KC_TAB):
return TAPPING_TERM_THUMB; return TAPPING_TERM_THUMB;
case LT(_SYSTEM, OSM(MOD_LSFT)):
return TAPPING_TERM_THUMB;
default: default:
return TAPPING_TERM; return TAPPING_TERM;
} }

View file

@ -1,6 +1,8 @@
SERIAL_DRIVER = vendor SERIAL_DRIVER = vendor
AUDIO_DRIVER = pwm_hardware AUDIO_DRIVER = pwm_hardware
POINTING_DEVICE_DRIVER = analog_joystick POINTING_DEVICE_DRIVER = analog_joystick
OLED_ENABLE = yes
# markstos: enable media keys # markstos: enable media keys
EXTRAKEY_ENABLE = yes EXTRAKEY_ENABLE = yes

View file

@ -11,23 +11,45 @@ oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
} }
bool oled_task_kb(void) { bool oled_task_kb(void) {
if (!oled_task_user()) { // if (!oled_task_user()) {
return false; // return false;
} // }
if (is_keyboard_master()) { if (is_keyboard_master()) {
// switch (get_highest_layer(layer_state)) {
// case 0:
// oled_write_raw(layer_zero, sizeof(layer_zero));
// break;
// case 1:
// oled_write_raw(layer_one, sizeof(layer_one));
// break;
// case 2:
// oled_write_raw(layer_two, sizeof(layer_two));
// break;
// case 3:
// oled_write_raw(layer_three, sizeof(layer_three));
// break;
// }
switch (get_highest_layer(layer_state)) { switch (get_highest_layer(layer_state)) {
case 0: case 0:
oled_write_raw(layer_zero, sizeof(layer_zero)); oled_write_P(PSTR("Default\n"), false);
break; break;
case 1: case 1:
oled_write_raw(layer_one, sizeof(layer_one)); oled_write_P(PSTR("NUMS & SYMS\n"), false);
break; break;
case 2: case 2:
oled_write_raw(layer_two, sizeof(layer_two)); oled_write_P(PSTR("NAV\n"), false);
break; break;
case 3: case 3:
oled_write_raw(layer_three, sizeof(layer_three)); oled_write_P(PSTR("FKEYS\n"), false);
break; break;
case 4:
oled_write_P(PSTR("SYS\n"), false);
break;
default:
// Or use the write_ln shortcut over adding '\n' to the end of your string
oled_write_ln_P(PSTR("Undefined"), false);
} }
} else { } else {
oled_write_raw(logo, sizeof(logo)); oled_write_raw(logo, sizeof(logo));