diff options
| author | Sébastien Dailly <sebastien@dailly.me> | 2026-07-24 11:07:47 +0200 |
|---|---|---|
| committer | Sébastien Dailly <sebastien@dailly.me> | 2026-07-24 11:07:47 +0200 |
| commit | 340ddb0390f4b835e6723616a6a9956b206a7433 (patch) | |
| tree | 966a3cc90592871fbca6dfe5f55ca123d6ef49bc | |
| parent | 891b994e5909232ca4c387992a2095e54dd0bfef (diff) | |
QMK: Two differents layers for the left and right layer keys
14 files changed, 153 insertions, 92 deletions
diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/config.h b/qmk/keyboards/sofle_choc/keymaps/custom/config.h index 6b9c31c..6f4ea1c 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/config.h +++ b/qmk/keyboards/sofle_choc/keymaps/custom/config.h @@ -57,6 +57,7 @@ #define TAPPING_TERM 200 #define TAPPING_TERM_PER_KEY +#define DEBOUNCE 10 #define COMBO_MUST_PRESS_IN_ORDER diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.c b/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.c index 4fba73c..a3099e4 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.c +++ b/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.c @@ -1,12 +1,11 @@ #include QMK_KEYBOARD_H -#include "keymap_bepo.h" #include "keycodes.h" uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case KEY_E: + case KEY_F: return 230; - case KEY_W: + case KEY_LOK: case TD_ENTER: return 2 * TAPPING_TERM; default: @@ -36,28 +35,29 @@ bool keycodes_process_record(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case KC_ESC: case AL_ENT: - if (layer_state_is(LAYER_SYMBOLS) && !record->event.pressed) { + if (!record->event.pressed && \ + (layer_state_is(LAYER_KEYPAD) || layer_state_is(LAYER_ARROW) )) { // Remove the layer the key is released. layer_clear(); } return true; // If a key where released just before, consider we are typing some text // and not starting a new sequence - case KEY_E: + case KEY_F: if (record->event.pressed && timer_elapsed32(key_timer) < TAPPING_TERM) { if (is_caps_word_on()) { add_oneshot_mods(MOD_MASK_SHIFT); } - register_code(BP_E); + register_code(KC_F); return false; } return true; - case KEY_T: + case KEY_J: if (record->event.pressed && timer_elapsed32(key_timer) < TAPPING_TERM) { if (is_caps_word_on()) { add_oneshot_mods(MOD_MASK_SHIFT); } - register_code(BP_T); + register_code(KC_J); return false; } return true; @@ -65,21 +65,21 @@ bool keycodes_process_record(uint16_t keycode, keyrecord_t *record) { // Override the key APP when hold into AltGR + Layer 1 when hold case KEY_APP: if (!record->tap.count && record->event.pressed) { - layer_on(1); + layer_on(LAYER_ARROW); register_code(KC_RIGHT_ALT); return false; } else if (!record->tap.count && !record->event.pressed) { unregister_code(KC_RIGHT_ALT); - layer_off(1); + layer_off(LAYER_ARROW); return false; } case KC_LGUI: if (record->event.pressed) { - layer_on(1); + layer_on(LAYER_ARROW); } else { - layer_off(1); + layer_off(LAYER_ARROW); } return true; diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.h b/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.h index 4142ed5..730e89d 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.h +++ b/qmk/keyboards/sofle_choc/keymaps/custom/keycodes.h @@ -1,31 +1,33 @@ #pragma once #include QMK_KEYBOARD_H #include "action.h" +#include "keymap_bepo.h" enum { // Transform the key W into SHIFT or CAPSLOCK - TD_W_CAPSLOCK, + TD_CAPSLOCK, // Transform the key E into È TD_EE, TD_PRC, - TD_LAYER_SYMB, + TD_LAYER_KEYPAD, + TD_LAYER_ARROW, TD_ENTER, }; enum { LAYER_BASE, - LAYER_SYMBOLS, + LAYER_KEYPAD, // Layer used mainly on the left side of the keyboard + LAYER_ARROW, // Layer used on the right side of the keyboard LAYER_DIACRITIC, }; -#define MENU LGUI(BP_I) #define KEY_APP LT(0, KC_APP) -#define KEY_W TD(TD_W_CAPSLOCK) +#define KEY_LOK TD(TD_CAPSLOCK) #define KEY_PRC TD(TD_PRC) #define AL_ENT MT(MOD_RALT, KC_ENT) #define AL_SPC MT(MOD_LALT, KC_SPC) -#define KEY_E MT(MOD_LCTL, BP_E) -#define KEY_T MT(MOD_RCTL, BP_T) +#define KEY_F MT(MOD_LCTL, KC_F) +#define KEY_J MT(MOD_RCTL, KC_J) #define KEY_INS MT(MOD_RGUI, KC_INS) #define TD_ENTR TD(TD_ENTER) diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c b/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c index 6b0c714..7edbf13 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c +++ b/qmk/keyboards/sofle_choc/keymaps/custom/keymap.c @@ -23,6 +23,7 @@ #include "quad_tapdance.h" #include "enter_dance.h" #include "shift_dance.h" +#include "layer_dance.h" #include "overrides.h" #include QMK_KEYBOARD_H @@ -30,18 +31,23 @@ // The functions for ACTION_TAP_DANCE_FN_ADVANCED or defined in "quand_dance" tap_dance_action_t tap_dance_actions[] = { [TD_PRC] = ACTION_TAP_DANCE_DOUBLE(BP_EQL, BP_PERC), - [TD_W_CAPSLOCK] = ACTION_TAP_DANCE_FN_ADVANCED_WITH_RELEASE(NULL, right_shift_released, right_shift_finished, right_shift_reset), - [TD_LAYER_SYMB] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, ql_finished, ql_reset), + [TD_CAPSLOCK] = ACTION_TAP_DANCE_FN_ADVANCED_WITH_RELEASE(NULL, right_shift_released, right_shift_finished, right_shift_reset), + [TD_LAYER_KEYPAD] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, keypad_finished, keypad_reset), + [TD_LAYER_ARROW] = ACTION_TAP_DANCE_FN_ADVANCED(NULL, arrow_finished, arrow_reset), [TD_EE] = ACTION_TAP_DANCE_DOUBLE(BP_COMM, BP_EGRV), [TD_ENTER] = ACTION_TAP_DANCE_FN_ADVANCED_WITH_RELEASE(NULL, enter_released, enter_finished, enter_reset), }; -#define LY_SYMB TD(TD_LAYER_SYMB) +#define LY_KEYPAD TD(TD_LAYER_KEYPAD) +#define LY_ARROW TD(TD_LAYER_ARROW) // Activate the layer just for a single key #define LY_DIACRITIC OSL(LAYER_DIACRITIC) +#define RGB_UP QK_RGB_MATRIX_VALUE_UP +#define RGB_DOWN QK_RGB_MATRIX_VALUE_DOWN + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* @@ -62,22 +68,30 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [LAYER_BASE] = LAYOUT( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KEY_PRC, - BP_DLR, BP_B, BP_EACU, BP_P, BP_O, BP_EGRV, BP_DCIR, BP_V, BP_D, KC_O, BP_J, BP_Z, - KC_TAB, BP_A, BP_U, BP_I, KEY_E, BP_COMM, BP_C, KEY_T, BP_S, BP_R, BP_N, BP_M, - KC_LSFT, BP_AGRV,BP_Y, BP_X, BP_DOT, KC_B, KC_MUTE, KC_MPLY,BP_QUOT, BP_Q, BP_G, BP_H, BP_F, KEY_W, - KC_LCTL, KC_DELETE,KC_LGUI,LY_SYMB, AL_SPC, TD_ENTR,LY_SYMB, KEY_APP, KEY_INS, LY_DIACRITIC + KC_GRV, KC_Q, KC_W, KC_E, KC_R, KC_T, BP_DCIR, BP_V, BP_D, KC_O, BP_J, BP_Z, + KC_TAB, KC_A, KC_S, KC_D, KEY_F, KC_G, BP_C, KEY_J, BP_S, BP_R, BP_N, BP_M, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_MUTE, KC_MPLY,BP_QUOT, BP_Q, BP_G, BP_H, BP_F, KEY_LOK, + KC_LCTL, KC_DELETE,KC_LGUI,LY_ARROW, AL_SPC, TD_ENTR,LY_KEYPAD, KEY_APP, KEY_INS, LY_DIACRITIC ), // This layer is used to access to the numeric keypad, functions keys, and also provide some keys used with KC_LGUI -[LAYER_SYMBOLS] = LAYOUT( +[LAYER_KEYPAD] = LAYOUT( KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, - KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_BSPC, KC_HOME, KC_UP, KC_END, KC_TRNS, KC_TRNS, S(BP_EQL), - KC_TRNS, QK_RGB_MATRIX_VALUE_UP, KC_P4, KC_P5, KEY_6, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_TRNS, KC_PGUP, - KC_LSFT, QK_RGB_MATRIX_VALUE_DOWN, KC_P1, KC_P2, KC_P3, KC_TRNS, KC_MUTE, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KEY_PGDN, + KC_TRNS, KC_TRNS, KC_P7, KC_P8, KC_P9, KC_BSPC, KC_TRNS, KC_TRNS, KC_PAST, KC_TRNS, KC_TRNS, S(BP_EQL), + KC_TRNS, KC_TRNS, KC_P4, KC_P5, KEY_6, KC_TRNS, KC_TRNS, KC_PPLS, KC_PMNS, KC_PSLS, KC_TRNS, KC_TRNS, + KC_LSFT, KC_TRNS, KC_P1, KC_P2, KC_P3, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0, KC_PDOT, KC_TRNS, KC_TRNS, AL_SPC, AL_ENT, KC_TRNS, KC_TRNS, KC_RGUI, KC_TRNS ), +[LAYER_ARROW] = LAYOUT( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_TRNS, S(BP_EQL), + KC_TRNS, RGB_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT,KC_TRNS, KC_PGUP, + KC_LSFT, RGB_DOWN,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KEY_PGDN, + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, AL_SPC, AL_ENT, KC_TRNS, KC_TRNS, KC_RGUI, KC_TRNS +), + [LAYER_DIACRITIC] = LAYOUT( KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BP_PERC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, @@ -90,7 +104,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { #if defined(ENCODER_MAP_ENABLE) const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [LAYER_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(QK_MOUSE_WHEEL_UP, QK_MOUSE_WHEEL_DOWN) }, - [LAYER_SYMBOLS] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [LAYER_KEYPAD] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, + [LAYER_ARROW] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, [LAYER_DIACRITIC] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }, }; #endif diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/layer_dance.c b/qmk/keyboards/sofle_choc/keymaps/custom/layer_dance.c new file mode 100644 index 0000000..d35d31b --- /dev/null +++ b/qmk/keyboards/sofle_choc/keymaps/custom/layer_dance.c @@ -0,0 +1,77 @@ +#include QMK_KEYBOARD_H +#include "quad_tapdance.h" +#include "layer_dance.h" + +// +// Definition for the layer key +// +// The only one usage is to activate the layer over the keyboard, but there is +// two way of doing it: +// +// The first mode, when hold, is to activate the layer as long as the key is +// pressed. +// The second one is to switch in the layer mode when tapped, in this mode, +// you can go back into the normal layer by a single press on the key. +// +static td_tap_t keypad_tap_state = { + .state = TD_NONE +}; + +// Functions that control what our tap dance key does +void keypad_finished(tap_dance_state_t *state, void *user_data) { + keypad_tap_state.state = cur_dance(state); + switch (keypad_tap_state.state) { + // Remove the layer with a single tap, this way I always have a key to + // remove the the layer, without knowing the previous state I had. + // + // Here, we control both the keypad or the arrow layers + case TD_SINGLE_TAP: + if (layer_state_is(LAYER_KEYPAD) || layer_state_is(LAYER_ARROW) ) { + layer_clear(); + } else { + layer_on(LAYER_KEYPAD); + } + break; + case TD_SINGLE_HOLD: layer_on(LAYER_KEYPAD); break; + default: break; + } +} + +void keypad_reset(tap_dance_state_t *state, void *user_data) { + // If the key was held down and now is released then switch off the layer + if (keypad_tap_state.state == TD_SINGLE_HOLD) { + layer_clear(); + } + keypad_tap_state.state = TD_NONE; +} + +// Do the same for the arrow layer. +static td_tap_t arrow_tap_state = { + .state = TD_NONE +}; + +// Functions that control what our tap dance key does +void arrow_finished(tap_dance_state_t *state, void *user_data) { + arrow_tap_state.state = cur_dance(state); + switch (arrow_tap_state.state) { + // Remove the layer with a single tap, this way I always have a key to + // remove the the layer, without knowing the previous state I had. + case TD_SINGLE_TAP: + if (layer_state_is(LAYER_KEYPAD) || layer_state_is(LAYER_ARROW) ) { + layer_clear(); + } else { + layer_on(LAYER_ARROW); + } + break; + case TD_SINGLE_HOLD: layer_on(LAYER_ARROW); break; + default: break; + } +} + +void arrow_reset(tap_dance_state_t *state, void *user_data) { + // If the key was held down and now is released then switch off the layer + if (arrow_tap_state.state == TD_SINGLE_HOLD) { + layer_clear(); + } + arrow_tap_state.state = TD_NONE; +} diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/layer_dance.h b/qmk/keyboards/sofle_choc/keymaps/custom/layer_dance.h new file mode 100644 index 0000000..bdca598 --- /dev/null +++ b/qmk/keyboards/sofle_choc/keymaps/custom/layer_dance.h @@ -0,0 +1,9 @@ +#pragma once +#include QMK_KEYBOARD_H + +void keypad_finished(tap_dance_state_t *state, void *user_data); +void keypad_reset(tap_dance_state_t *state, void *user_data); + + +void arrow_finished(tap_dance_state_t *state, void *user_data); +void arrow_reset(tap_dance_state_t *state, void *user_data); diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c b/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c index d8e0b6e..827e359 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c +++ b/qmk/keyboards/sofle_choc/keymaps/custom/lighting.c @@ -1,8 +1,7 @@ #include QMK_KEYBOARD_H - uint8_t flags = 0; +uint8_t flags = 0; #include "keycodes.h" #include "lighting.h" -#include "keymap_bepo.h" // The variable is defined in star_key.h // The LED is on when the key is pressed. @@ -39,10 +38,10 @@ void housekeeping_task_lighting(void) { // Colors for the mods HSV const colors[] = { hsv_of_color(HSV_BLACK), // 000 - hsv_of_color(55, 255, 255),// 001 - hsv_of_color(HSV_RED), // 010 + hsv_of_color(55, 255, 255),// 001 Ctrl + hsv_of_color(HSV_RED), // 010 Alt hsv_of_color(HSV_ORANGE),// 011 - hsv_of_color(HSV_CYAN), // 100 + hsv_of_color(HSV_CYAN), // 100 Shift hsv_of_color(HSV_GREEN), // 101 hsv_of_color(HSV_PURPLE),// 110 hsv_of_color(HSV_WHITE), // 111 @@ -80,8 +79,6 @@ void housekeeping_task_lighting(void) { } } -#define KEY_6 MT(MOD_LCTL, KC_P6) -#define KEY_DOWN MT(MOD_RCTL, KC_DOWN) bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { // Activate effects depending of mods @@ -113,6 +110,7 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { case BP_CCED: case BP_PERC: case KC_PDOT: + case KC_KP_SLASH ... KC_KP_PLUS: // Add a bit of red for the punction symbol set_color(index, 20, 255, 255); break; @@ -126,7 +124,7 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { break; case KC_HOME: case KC_END: - set_color(index, HSV_SPRINGGREEN); + set_color(index, HSV_GREEN); break; case KC_BSPC: case AL_SPC: @@ -135,7 +133,7 @@ bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) { break; case QK_RGB_MATRIX_VALUE_UP: case QK_RGB_MATRIX_VALUE_DOWN: - set_color(index, HSV_GREEN); + set_color(index, HSV_SPRINGGREEN); break; } diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/overrides.c b/qmk/keyboards/sofle_choc/keymaps/custom/overrides.c index 0181903..4eeaad5 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/overrides.c +++ b/qmk/keyboards/sofle_choc/keymaps/custom/overrides.c @@ -1,5 +1,4 @@ #include QMK_KEYBOARD_H -#include "keymap_bepo.h" #include "keycodes.h" // @@ -7,7 +6,7 @@ // The symbol is still available in the symbol layer with the key just below. // const key_override_t perc_key_override = - ko_make_basic(MOD_MASK_SHIFT, KEY_PRC, LSFT(BP_PERC)); + ko_make_basic(MOD_MASK_SHIFT, KEY_PRC, LSFT(KC_EQUAL)); const key_override_t e_key_override = - ko_make_basic(MOD_MASK_CTRL, KEY_E, RCTL(BP_E)); + ko_make_basic(MOD_MASK_CTRL, KEY_F, RCTL(KC_F)); diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/overrides.h b/qmk/keyboards/sofle_choc/keymaps/custom/overrides.h index 79836d4..5d983ed 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/overrides.h +++ b/qmk/keyboards/sofle_choc/keymaps/custom/overrides.h @@ -1,7 +1,7 @@ #pragma once -#include "keymap_bepo.h" #include "keycodes.h" +#define MENU LGUI(KC_D) // // Override the symbol ° and replace it by ` @@ -21,8 +21,7 @@ const key_override_t e_key_override ; const key_override_t *key_overrides[]= (const key_override_t *[]){ &perc_key_override, &e_key_override, - // Override the key GUI + MENU and to map the key desktop from the - // typematrix + // Override the key GUI + MENU and to map the key desktop &(ko_make_basic(MOD_MASK_GUI, KEY_APP, MENU)), diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c b/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c index 2b01fe9..3efce7c 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c +++ b/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.c @@ -27,9 +27,7 @@ */ #include QMK_KEYBOARD_H -#include "keymap_bepo.h" #include "quad_tapdance.h" -#include "keycodes.h" td_state_t cur_dance(tap_dance_state_t *state) { if (state->count == 1) { @@ -54,38 +52,3 @@ td_state_t cur_dance(tap_dance_state_t *state) { else return TD_DOUBLE_TAP; } else return TD_UNKNOWN; } - -// -// Definition for the layer key -// -// The only one usage is to activate the layer over the keyboard, but there is -// two way of doing it: -// -// The first mode, when hold, is to activate the layer as long as the key is -// pressed. -// The second one is to switch in the layer mode when tapped, in this mode, -// you can go back into the normal layer by a single press on the key. -// -static td_tap_t ql_tap_state = { - .state = TD_NONE -}; - -// Functions that control what our tap dance key does -void ql_finished(tap_dance_state_t *state, void *user_data) { - ql_tap_state.state = cur_dance(state); - switch (ql_tap_state.state) { - // Remove the layer with a single tap, this way I always have a key to - // remove the the layer, without knowing the previous state I had. - case TD_SINGLE_TAP: layer_invert(LAYER_SYMBOLS); break; - case TD_SINGLE_HOLD: layer_on(LAYER_SYMBOLS); break; - default: break; - } -} - -void ql_reset(tap_dance_state_t *state, void *user_data) { - // If the key was held down and now is released then switch off the layer - if (ql_tap_state.state == TD_SINGLE_HOLD) { - layer_clear(); - } - ql_tap_state.state = TD_NONE; -} diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.h b/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.h index 8f2770c..708adc8 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.h +++ b/qmk/keyboards/sofle_choc/keymaps/custom/quad_tapdance.h @@ -1,8 +1,5 @@ #pragma once -#include "keymap_bepo.h" -#include "keycodes.h" - typedef enum { TD_NONE, TD_UNKNOWN, @@ -18,6 +15,3 @@ typedef struct { } td_tap_t; td_state_t cur_dance(tap_dance_state_t *state); - -void ql_finished(tap_dance_state_t *state, void *user_data); -void ql_reset(tap_dance_state_t *state, void *user_data); diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/rules.mk b/qmk/keyboards/sofle_choc/keymaps/custom/rules.mk index 90eda0e..39886cd 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/rules.mk +++ b/qmk/keyboards/sofle_choc/keymaps/custom/rules.mk @@ -15,6 +15,7 @@ SRC += star_key.c \ quad_tapdance.c \ enter_dance.c \ shift_dance.c \ + layer_dance.c \ keycodes.c \ overrides.c \ lighting.c \ diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/shift_dance.c b/qmk/keyboards/sofle_choc/keymaps/custom/shift_dance.c index 3f779eb..618968f 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/shift_dance.c +++ b/qmk/keyboards/sofle_choc/keymaps/custom/shift_dance.c @@ -1,5 +1,4 @@ #include QMK_KEYBOARD_H -#include "keymap_bepo.h" #include "quad_tapdance.h" #include "shift_dance.h" // diff --git a/qmk/keyboards/sofle_choc/keymaps/custom/star_key.c b/qmk/keyboards/sofle_choc/keymaps/custom/star_key.c index 4f3cd42..652e3f0 100644 --- a/qmk/keyboards/sofle_choc/keymaps/custom/star_key.c +++ b/qmk/keyboards/sofle_choc/keymaps/custom/star_key.c @@ -30,7 +30,10 @@ void sync_star_key(void) { } } static uint8_t star_number = 0; -#define LY_SYMB TD(TD_LAYER_SYMB) + +#define LY_KEYPAD TD(TD_LAYER_KEYPAD) +#define LY_ARROW TD(TD_LAYER_ARROW) + void star_key_process_record(uint16_t keycode, keyrecord_t *record) { switch (keycode) { case KC_O: @@ -49,7 +52,8 @@ void star_key_process_record(uint16_t keycode, keyrecord_t *record) { is_synced = 0; } return; - case LY_SYMB: + case LY_KEYPAD: + case LY_ARROW: // Ignore the layer events return; default: |
