qmk-config

qmk configs for my open-source keyboards

git clone https://9o.is/git/qmk-config.git

commit c68e5dffb298711afe96e5520df871b6930d7232
parent 0a33a0673b689bfcc8c9b7422ffa80f3fd12c8cf
Author: Jul <jul@9o.is>
Date:   Sat, 16 Nov 2024 05:09:04 +0800

configure chocofi with miryoku layout

Diffstat:
Mconfig.h | 26++++++++++++++++++++------
Mkeymaps/default/keymap.c | 350++++++++++++++++++++++++++++++++++++++++++++++---------------------------------
Mrules.mk | 9++++++---
3 files changed, 229 insertions(+), 156 deletions(-)

diff --git a/config.h b/config.h @@ -1,9 +1,23 @@ #pragma once -//#define MASTER_LEFT -#define MASTER_RIGHT - #define SOFT_SERIAL_PIN D2 -#define FORCE_NKRO -#define TAPPING_TERM 175 -#define QUICK_TAP_TERM 175 +#define COMBO_TERM 200 +#define TAPPING_TERM 200 +#define QUICK_TAP_TERM 0 + +// Auto Shift +#define NO_AUTO_SHIFT_ALPHA +#define AUTO_SHIFT_TIMEOUT TAPPING_TERM +#define AUTO_SHIFT_NO_SETUP + +// Mouse key speed and acceleration. +#undef MOUSEKEY_DELAY +#define MOUSEKEY_DELAY 0 +#undef MOUSEKEY_INTERVAL +#define MOUSEKEY_INTERVAL 16 +#undef MOUSEKEY_WHEEL_DELAY +#define MOUSEKEY_WHEEL_DELAY 0 +#undef MOUSEKEY_MAX_SPEED +#define MOUSEKEY_MAX_SPEED 6 +#undef MOUSEKEY_TIME_TO_MAX +#define MOUSEKEY_TIME_TO_MAX 64 diff --git a/keymaps/default/keymap.c b/keymaps/default/keymap.c @@ -1,162 +1,218 @@ -// vim: nowrap #include QMK_KEYBOARD_H -// Layers -#define _QWERTY 0 -#define _NORMAN 1 -#define _SYMBOL 2 -#define _STENOG 3 -#define _LAYSET 4 - -// Layer Actions -#define MO_SYMB MO(_SYMBOL) -#define MO_LSET MO(_LAYSET) -#define TO_STEN TO(_STENOG) -#define TO_QWTY TO(_QWERTY) -#define DF_QWTY DF(_QWERTY) -#define DF_NORM DF(_NORMAN) - -// Qwerty Home Row Mods -#define ALT_A LALT_T(KC_A) -#define GUI_S LGUI_T(KC_S) -#define SFT_D LSFT_T(KC_D) -#define CTL_F LCTL_T(KC_F) -#define CTL_J RCTL_T(KC_J) -#define SFT_K RSFT_T(KC_K) -#define GUI_L RGUI_T(KC_L) -#define ALT_SCLN RALT_T(KC_SCLN) - -// Norman Home Row Mods -#define ALT_A LALT_T(KC_A) -#define GUI_S LGUI_T(KC_S) -#define SFT_E LSFT_T(KC_E) -#define CTL_t LCTL_T(KC_T) -#define CTL_N RCTL_T(KC_N) -#define SFT_I RSFT_T(KC_I) -#define GUI_O RGUI_T(KC_O) -#define ALT_H RALT_T(KC_H) - -// Symbol Home Row Mods -#define GUI_4 LGUI_T(KC_4) -#define SFT_5 LSFT_T(KC_5) -#define CTL_6 LCTL_T(KC_6) -#define CTL_DWN RCTL_T(KC_DOWN) -#define SFT_UP RSFT_T(KC_UP) -#define GUI_RGT RGUI_T(KC_RGHT) +enum miryoku_layers { + U_BASE, + U_EXTRA, + U_TAP, + U_BUTTON, + U_NAV, + U_MOUSE, + U_MEDIA, + U_NUM, + U_SYM, + U_FUN, +}; + +#define U_NA KC_NO // present but not available for use +#define U_NU KC_NO // available but not used +#define U_RDO KC_AGIN +#define U_PST S(KC_INS) +#define U_CPY C(KC_INS) +#define U_CUT S(KC_DEL) +#define U_UND KC_UNDO + +enum { + U_TD_BOOT, + U_TD_U_BASE, + U_TD_U_EXTRA, + U_TD_U_TAP, + U_TD_U_BUTTON, + U_TD_U_NAV, + U_TD_U_MOUSE, + U_TD_U_MEDIA, + U_TD_U_NUM, + U_TD_U_SYM, + U_TD_U_FUN, +}; + +void u_td_fn_boot(tap_dance_state_t *state, void *user_data) { + if (state->count == 2) { + reset_keyboard(); + } +} + +void u_td_fn_U_BASE(tap_dance_state_t *state, void *user_data) { + if (state->count == 2) { + default_layer_set((layer_state_t)1 << U_BASE); + } +} + +void u_td_fn_U_EXTRA(tap_dance_state_t *state, void *user_data) { + if (state->count == 2) { + default_layer_set((layer_state_t)1 << U_EXTRA); + } +} + +void u_td_fn_U_TAP(tap_dance_state_t *state, void *user_data) { + if (state->count == 2) { + default_layer_set((layer_state_t)1 << U_TAP); + } +} + +void u_td_fn_U_BUTTON(tap_dance_state_t *state, void *user_data) { + if (state->count == 2) { + default_layer_set((layer_state_t)1 << U_BUTTON); + } +} + +void u_td_fn_U_NAV(tap_dance_state_t *state, void *user_data) { + if (state->count == 2) { + default_layer_set((layer_state_t)1 << U_NAV); + } +} + +void u_td_fn_U_MOUSE(tap_dance_state_t *state, void *user_data) { + if (state->count == 2) { + default_layer_set((layer_state_t)1 << U_MOUSE); + } +} + +void u_td_fn_U_MEDIA(tap_dance_state_t *state, void *user_data) { + if (state->count == 2) { + default_layer_set((layer_state_t)1 << U_MEDIA); + } +} + +void u_td_fn_U_NUM(tap_dance_state_t *state, void *user_data) { + if (state->count == 2) { + default_layer_set((layer_state_t)1 << U_NUM); + } +} + +void u_td_fn_U_SYM(tap_dance_state_t *state, void *user_data) { + if (state->count == 2) { + default_layer_set((layer_state_t)1 << U_SYM); + } +} + +void u_td_fn_U_FUN(tap_dance_state_t *state, void *user_data) { + if (state->count == 2) { + default_layer_set((layer_state_t)1 << U_FUN); + } +} + +tap_dance_action_t tap_dance_actions[] = { + [U_TD_BOOT] = ACTION_TAP_DANCE_FN(u_td_fn_boot), + [U_TD_U_BASE] = ACTION_TAP_DANCE_FN(u_td_fn_U_BASE), + [U_TD_U_EXTRA] = ACTION_TAP_DANCE_FN(u_td_fn_U_EXTRA), + [U_TD_U_TAP] = ACTION_TAP_DANCE_FN(u_td_fn_U_TAP), + [U_TD_U_BUTTON] = ACTION_TAP_DANCE_FN(u_td_fn_U_BUTTON), + [U_TD_U_NAV] = ACTION_TAP_DANCE_FN(u_td_fn_U_NAV), + [U_TD_U_MOUSE] = ACTION_TAP_DANCE_FN(u_td_fn_U_MOUSE), + [U_TD_U_MEDIA] = ACTION_TAP_DANCE_FN(u_td_fn_U_MEDIA), + [U_TD_U_NUM] = ACTION_TAP_DANCE_FN(u_td_fn_U_NUM), + [U_TD_U_SYM] = ACTION_TAP_DANCE_FN(u_td_fn_U_SYM), + [U_TD_U_FUN] = ACTION_TAP_DANCE_FN(u_td_fn_U_FUN), +}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - /* - * |ALT|GUI|SFT|CTL| home row mods |CTL|SFT|GUI|ALT| - * - * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ - * │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ;:│ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ Z │ X │ C │ V │ B │ │ N │ M │ ,<│ .>│ /?│ - * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ - * ┌───┐ ┌───┐ - * │ ├───┐ ┌───┤ │ - * └───┤MOs├───┐ ┌───┤ENT├───┘ - * └───┤BSP│ │SPC├───┘ - * └───┘ └───┘ - */ - [_QWERTY] = LAYOUT_split_3x5_3( - KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, - ALT_A, GUI_S, SFT_D, CTL_F, KC_G, KC_H, CTL_J, SFT_K, GUI_L, ALT_SCLN, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, - XXXXXXX, MO_SYMB, KC_BSPC, KC_SPC, KC_ENT, XXXXXXX + [U_BASE] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT), + LT(U_BUTTON,KC_Z), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(U_BUTTON,KC_SLSH), + LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC), LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT), LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL) ), - - - /* - * |ALT|GUI|SFT|CTL| home row mods |CTL|SFT|GUI|ALT| - * - * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ - * │ Q │ W │ D │ F │ K │ │ J │ U │ R │ L │ ;:│ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ A │ S │ E │ T │ G │ │ Y │ N │ I │ O │ H │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ Z │ X │ C │ V │ B │ │ P │ M │ ,<│ .>│ /?│ - * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ - * ┌───┐ ┌───┐ - * │ ├───┐ ┌───┤ │ - * └───┤MOs├───┐ ┌───┤ENT├───┘ - * └───┤BSP│ │SPC├───┘ - * └───┘ └───┘ - */ - [_NORMAN] = LAYOUT_split_3x5_3( - KC_Q, KC_W, KC_D, KC_F, KC_K, KC_J, KC_U, KC_R, KC_L, KC_SCLN, - ALT_A, GUI_S, SFT_E, CTL_t, KC_G, KC_Y, CTL_N, SFT_I, GUI_O, ALT_H, - KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P, KC_M, KC_COMM, KC_DOT, KC_SLSH, - XXXXXXX, MO_SYMB, KC_BSPC, KC_SPC, KC_ENT, XXXXXXX + + [U_EXTRA] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, LSFT_T(KC_J), LCTL_T(KC_K), LALT_T(KC_L), LGUI_T(KC_QUOT), + LT(U_BUTTON,KC_Z), ALGR_T(KC_X), KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, ALGR_T(KC_DOT), LT(U_BUTTON,KC_SLSH), + LT(U_MEDIA,KC_ESC),LT(U_NAV,KC_SPC), LT(U_MOUSE,KC_TAB),LT(U_SYM,KC_ENT), LT(U_NUM,KC_BSPC), LT(U_FUN,KC_DEL) ), - /* - * |ALT|GUI|SFT|CTL| home row mods |CTL|SFT|GUI|ALT| - * - * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ - * │CAP│ 1!│ 2@│ 3#│ =+│ │Tab│ [{│ ]}│ │ │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ │ 4$│ 5%│ 6^│ -_│ │ ← │ ↓ │ ↑ │ → │ │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ \|│ 7&│ 8*│ 9(│ 0)│ │ESC│ '"│ `~│ │MOl│ - * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ - * ┌───┐ ┌───┐ - * │ ├───┐ ┌───┤ │ - * └───┤ ├───┐ ┌───┤ ├───┘ - * └───┤ │ │ ├───┘ - * └───┘ └───┘ - */ - [_SYMBOL] = LAYOUT_split_3x5_3( - CW_TOGG, KC_1, KC_2, KC_3, KC_EQL, KC_TAB, KC_LBRC, KC_RBRC, XXXXXXX, XXXXXXX, - KC_LALT, GUI_4, SFT_5, CTL_6, KC_MINS, KC_LEFT, CTL_DWN, SFT_UP, GUI_RGT, KC_RALT, - KC_BSLS, KC_7, KC_8, KC_9, KC_0, KC_ESC, KC_QUOT, KC_GRV, XXXXXXX, MO_LSET, - _______, _______, _______, _______, _______, _______ + [U_TAP] = LAYOUT_split_3x5_3( + 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, KC_QUOT, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, + KC_ESC, KC_SPC, KC_TAB, KC_ENT, KC_BSPC, KC_DEL ), - /* - * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ - * │ # │ # │ # │ # │ # │ │ # │ # │ # │ # │ # │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ S │ T │ P │ H │ * │ │ D │ F │ P │ L │ T │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ S │ K │ W │ R │ * │ │ Z │ R │ B │ G │ S │ - * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ - * ┌───┐ ┌───┐ - * │MOl├───┐ ┌───┤ │ - * └───┤ A ├───┐ ┌───┤ U ├───┘ - * └───┤ O │ │ E ├───┘ - * └───┘ └───┘ - */ - [_STENOG] = LAYOUT_split_3x5_3( - STN_N2, STN_N3, STN_N4, STN_N5, STN_N6, STN_NC, STN_N8, STN_N9, STN_NA, STN_NB, - STN_S1, STN_TL, STN_PL, STN_HL, STN_ST1, STN_DR, STN_FR, STN_PR, STN_LR, STN_TR, - STN_S2, STN_KL, STN_WL, STN_RL, STN_ST2, STN_ZR, STN_RR, STN_BR, STN_GR, STN_SR, - MO_LSET, STN_A, STN_O, STN_E, STN_U, XXXXXXX + [U_NAV] = LAYOUT_split_3x5_3( + TD(U_TD_BOOT), TD(U_TD_U_TAP), TD(U_TD_U_EXTRA), TD(U_TD_U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, + KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, CW_TOGG, + U_NA, KC_ALGR, TD(U_TD_U_NUM), TD(U_TD_U_NAV), U_NA, KC_HOME, KC_PGDN, KC_PGUP, KC_END, KC_INS, + U_NA, U_NA, U_NA, KC_ENT, KC_BSPC, KC_DEL ), - /* - * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ - * │ │ │TOq│TOs│ │ │ │ │ │ │ │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ │DFn│DFq│ │ │ │ │ │ │ │ │ - * ├───┼───┼───┼───┼───┤ ├───┼───┼───┼───┼───┤ - * │ │ │ │ │ │ │ │ │ │ │ │ - * └───┴───┴───┴───┴───┘ └───┴───┴───┴───┴───┘ - * ┌───┐ ┌───┐ - * │ ├───┐ ┌───┤ │ - * └───┤ ├───┐ ┌───┤ ├───┘ - * └───┤ │ │ ├───┘ - * └───┘ └───┘ - */ - [_LAYSET] = LAYOUT_split_3x5_3( - XXXXXXX, XXXXXXX, TO_QWTY, TO_STEN, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, DF_NORM, DF_QWTY, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, - XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX - ) + [U_MOUSE] = LAYOUT_split_3x5_3( + TD(U_TD_BOOT), TD(U_TD_U_TAP), TD(U_TD_U_EXTRA), TD(U_TD_U_BASE), U_NA, U_RDO, U_PST, U_CPY, U_CUT, U_UND, + KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, U_NU, + U_NA, KC_ALGR, TD(U_TD_U_SYM), TD(U_TD_U_MOUSE), U_NA, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, U_NU, + U_NA, U_NA, U_NA, KC_BTN2, KC_BTN1, KC_BTN3 + ), + + [U_MEDIA] = LAYOUT_split_3x5_3( + TD(U_TD_BOOT), TD(U_TD_U_TAP), TD(U_TD_U_EXTRA), TD(U_TD_U_BASE), U_NA, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_TOG, + KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NA, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, U_NU, + U_NA, KC_ALGR, TD(U_TD_U_FUN), TD(U_TD_U_MEDIA), U_NA, U_NU, U_NU, U_NU, U_NU, OU_AUTO, + U_NA, U_NA, U_NA, KC_MSTP, KC_MPLY, KC_MUTE + ), + + [U_NUM] = LAYOUT_split_3x5_3( + KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, U_NA, TD(U_TD_U_BASE), TD(U_TD_U_EXTRA), TD(U_TD_U_TAP), TD(U_TD_BOOT), + KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, + KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, U_NA, TD(U_TD_U_NUM), TD(U_TD_U_NAV), KC_ALGR, U_NA, + KC_DOT, KC_0, KC_MINS, U_NA, U_NA, U_NA + ), + + [U_SYM] = LAYOUT_split_3x5_3( + KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, U_NA, TD(U_TD_U_BASE), TD(U_TD_U_EXTRA), TD(U_TD_U_TAP), TD(U_TD_BOOT), + KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, + KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, U_NA, TD(U_TD_U_SYM), TD(U_TD_U_MOUSE), KC_ALGR, U_NA, + KC_LPRN, KC_RPRN, KC_UNDS, U_NA, U_NA, U_NA + ), + + [U_FUN] = LAYOUT_split_3x5_3( + KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, U_NA, TD(U_TD_U_BASE), TD(U_TD_U_EXTRA), TD(U_TD_U_TAP), TD(U_TD_BOOT), + KC_F11, KC_F4, KC_F5, KC_F6, KC_SCRL, U_NA, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, + KC_F10, KC_F1, KC_F2, KC_F3, KC_PAUS, U_NA, TD(U_TD_U_FUN), TD(U_TD_U_MEDIA), KC_ALGR, U_NA, + KC_APP, KC_SPC, KC_TAB, U_NA, U_NA, U_NA + ), + + [U_BUTTON] = LAYOUT_split_3x5_3( + U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_RDO, U_PST, U_CPY, U_CUT, U_UND, + KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, U_NU, U_NU, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI, + U_UND, U_CUT, U_CPY, U_PST, U_RDO, U_RDO, U_PST, U_CPY, U_CUT, U_UND, + KC_BTN3, KC_BTN1, KC_BTN2, KC_BTN2, KC_BTN1, KC_BTN3 + ), +}; + + +const key_override_t capsword_key_override = ko_make_basic(MOD_MASK_SHIFT, CW_TOGG, KC_CAPS); +const key_override_t *key_overrides[] = { + &capsword_key_override, }; + +const uint16_t PROGMEM thumbcombos_base_right[] = {LT(U_SYM, KC_ENT), LT(U_NUM, KC_BSPC), COMBO_END}; +const uint16_t PROGMEM thumbcombos_base_left[] = {LT(U_NAV, KC_SPC), LT(U_MOUSE, KC_TAB), COMBO_END}; +const uint16_t PROGMEM thumbcombos_nav[] = {KC_ENT, KC_BSPC, COMBO_END}; +const uint16_t PROGMEM thumbcombos_mouse[] = {KC_BTN2, KC_BTN1, COMBO_END}; +const uint16_t PROGMEM thumbcombos_media[] = {KC_MSTP, KC_MPLY, COMBO_END}; +const uint16_t PROGMEM thumbcombos_num[] = {KC_0, KC_MINS, COMBO_END}; +const uint16_t PROGMEM thumbcombos_sym[] = {KC_RPRN, KC_UNDS, COMBO_END}; +const uint16_t PROGMEM thumbcombos_fun[] = {KC_SPC, KC_TAB, COMBO_END}; +combo_t key_combos[] = { + COMBO(thumbcombos_base_right, LT(U_FUN, KC_DEL)), + COMBO(thumbcombos_base_left, LT(U_MEDIA, KC_ESC)), + COMBO(thumbcombos_nav, KC_DEL), + COMBO(thumbcombos_mouse, KC_BTN3), + COMBO(thumbcombos_media, KC_MUTE), + COMBO(thumbcombos_num, KC_DOT), + COMBO(thumbcombos_sym, KC_LPRN), + COMBO(thumbcombos_fun, KC_APP) +}; + +// vim: nowrap diff --git a/rules.mk b/rules.mk @@ -1,5 +1,8 @@ CONVERT_TO=rp2040_ce -NKRO_ENABLE = yes +COMBO_ENABLE = yes +MOUSEKEY_ENABLE = yes +EXTRAKEY_ENABLE = yes +AUTO_SHIFT_ENABLE = yes +TAP_DANCE_ENABLE = yes CAPS_WORD_ENABLE = yes -STENO_ENABLE = yes -STENO_PROTOCOL = geminipr +KEY_OVERRIDE_ENABLE = yes