qmk_me

QMK Firmware userspace, keyboards, & keymaps
git clone git://git.pngu.org.org/qmk_me
Log | Files | Refs | Submodules | README | LICENSE

commit 89810b6a7710fb7359f95a83cdf1413121d59cdc
parent 96a6ffa99d97f2c6fe66f6615f10e04600cc0304
Author: Jack Sangdahl <jack@pngu.org>
Date:   Sun,  7 Dec 2025 18:21:42 +0100

Some layout changes (removing combos etc.), and fix rgb_t types

Diffstat:
Musers/jack/colour.c | 4++--
Dusers/jack/combos.def | 16----------------
Musers/jack/config.h | 1+
Musers/jack/jack.c | 18+++---------------
Musers/jack/jack.h | 40+++++++++++++++-------------------------
Musers/jack/rules.mk | 1+
Musers/jack/user_introspection.c | 18+++++-------------
7 files changed, 27 insertions(+), 71 deletions(-)

diff --git a/users/jack/colour.c b/users/jack/colour.c @@ -10,7 +10,7 @@ // Adapted from https://fastled.io/docs/hsv2rgb_8cpp_source.html // void hsv2rgb_rainbow() function -RGB rgb_matrix_hsv_to_rgb(const HSV hsv) { +rgb_t rgb_matrix_hsv_to_rgb(hsv_t hsv) { // Yellow has a higher inherent brightness than // any other color; 'pure' yellow is perceived to // be 93% as bright as white. In order to make @@ -136,5 +136,5 @@ RGB rgb_matrix_hsv_to_rgb(const HSV hsv) { b = scale8(b, val); } } - return (RGB){.r = r, .g = g, .b = b}; + return (rgb_t){.r = r, .g = g, .b = b}; } diff --git a/users/jack/combos.def b/users/jack/combos.def @@ -1,16 +0,0 @@ -// Copyright 2025 jack@pngu.org -// SPDX-License-Identifier: GPL-2.0-or-later - -// name output keys -CMB(we_eqal, KC_EQL, KC_W, KC_E) -CMB(er_cbkt, TD(CBRACKET), KC_E, KC_R) -CMB(rt_bsls, KC_BSLS, KC_R, KC_T) -CMB(yu_quot, KC_QUOT, KC_Y, KC_U) -CMB(ui_brkt, TD(SBRACKET), KC_U, KC_I) -CMB(io_mins, TD(EM_DASH_MINS), KC_I, KC_O) -CMB(sd_plus, KC_PLUS, LGUI_T(KC_S), LCTL_T(KC_D)) -CMB(df_coln, KC_COLN, LCTL_T(KC_D), LSFT_T(KC_F)) -CMB(fg_pipe, KC_PIPE, LSFT_T(KC_F), KC_G) -CMB(hj_dquo, KC_DQUO, KC_H, RSFT_T(KC_J)) -CMB(jk_entr, KC_ENT, RSFT_T(KC_J), RCTL_T(KC_K)) -CMB(kl_unds, KC_UNDS, RCTL_T(KC_K), RGUI_T(KC_L)) diff --git a/users/jack/config.h b/users/jack/config.h @@ -21,6 +21,7 @@ #define THREE_MIN (1000 * 60) * 3 #define ENABLE_COMPILE_KEYCODE +// RGB Matrix configuration #ifdef RGB_MATRIX_ENABLE #define RGB_MATRIX_SLEEP #define LUMINO_LONG_TIMEOUT THREE_MIN diff --git a/users/jack/jack.c b/users/jack/jack.c @@ -43,15 +43,11 @@ bool process_detected_host_os_user(os_variant_t detected_os) { uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { switch (keycode) { - case ESCLWR: - case PSTRSE: - case LWRSPC: - case RSEBSP: + case ESC_L1: + case REP_L2: return TAPPING_TERM - 40; case TD(EM_DASH_MINS): case TD(PLY_NXT_PRV): - case TD(CBRACKET): - case TD(SBRACKET): return TAPPING_TERM + 60; default: return TAPPING_TERM; @@ -63,7 +59,7 @@ void em_dash_mins(tap_dance_state_t *state, void *user_data) { switch (state->count) { case 3: #ifdef UNICODE_COMMON_ENABLE - register_unicode(0x2014); // — + register_unicode(0x2014); #endif break; case 2: @@ -109,14 +105,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { tap_code(KC_UP); } break; - INTERCEPT_MOD_TAP(LALT_T, KC_EXLM) - INTERCEPT_MOD_TAP(LGUI_T, KC_AT) - INTERCEPT_MOD_TAP(LCTL_T, KC_HASH) - INTERCEPT_MOD_TAP(LSFT_T, KC_DLR) - INTERCEPT_MOD_TAP(RSFT_T, KC_AMPR) - INTERCEPT_MOD_TAP(RCTL_T, KC_ASTR) - INTERCEPT_MOD_TAP(RGUI_T, KC_LPRN) - INTERCEPT_MOD_TAP(RALT_T, KC_RPRN) } return true; } diff --git a/users/jack/jack.h b/users/jack/jack.h @@ -5,16 +5,10 @@ enum layers { LAYER0, LAYER1, LAYER2, LAYER3 }; -enum tapdances { EM_DASH_MINS, PLY_NXT_PRV, CBRACKET, SBRACKET }; +enum tapdances { EM_DASH_MINS, PLY_NXT_PRV }; enum custom_keycodes { UPDIR = QK_USER, REMOVE }; -#define CMB(name, action, ...) name, -enum combos { -#include "combos.def" -}; -#undef CMB - #ifdef TAP_DANCE_ENABLE void em_dash_mins(tap_dance_state_t *state, void *user_data); void ply_nxt_prv(tap_dance_state_t *state, void *user_data); @@ -56,10 +50,8 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record); #define XRGB_VAD _______ #endif -#define ESCLWR LT(LAYER1, KC_ESC) -#define PSTRSE LT(LAYER3, KC_PSTE) -#define LWRSPC LT(LAYER1, KC_SPC) -#define RSEBSP LT(LAYER3, KC_BSPC) +#define ESC_L1 LT(LAYER1, KC_ESC) +#define REP_L2 LT(LAYER2, QK_REP) #define PNP TD(PLY_NXT_PRV) #define HRML(k1, k2, k3, k4) LALT_T(k1), LGUI_T(k2), LCTL_T(k3), LSFT_T(k4) #define HRMR(k1, k2, k3, k4) RSFT_T(k1), RCTL_T(k2), RGUI_T(k3), RALT_T(k4) @@ -68,34 +60,32 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record); #define ___LAYER00___ KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P #define ___LAYER01___ HRML(KC_A, KC_S, KC_D, KC_F), KC_G, KC_H, HRMR(KC_J, KC_K, KC_L, KC_SCLN) #define ___LAYER02___ KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH -#define ___LAYER03___ ESCLWR, KC_SPC, KC_BSPC, PSTRSE +#define ___LAYER03___ ESC_L1, KC_SPC, KC_BSPC, REP_L2 // https://oxey.dev/sturdy/index.html // #define ___LAYER00___ KC_V, KC_M, KC_L, KC_C, KC_P, KC_X, KC_F, KC_O, KC_U, KC_J // #define ___LAYER01___ KC_S, KC_T, KC_R, KC_D, KC_Y, KC_DOT, KC_N, KC_A, KC_E, KC_I // #define ___LAYER02___ KC_Z, KC_K, KC_Q, KC_G, KC_W, KC_B, KC_H, KC_QUOT, KC_SCLN, KC_COMM -// #define ___LAYER03___ _______, _______, _______, _______ // https://github.com/GalileoBlues/Gallium // #define ___LAYER00___ KC_B, KC_L, KC_D, KC_C, KC_V KC_J, KC_Y, KC_O, KC_U, KC_COMM -// #define ___LAYER00___ KC_N, KC_R, KC_T, KC_S, KC_G, KC_P, KC_H, KC_A, KC_E, KC_I -// #define ___LAYER00___ KC_X, KC_Q, KC_M, KC_W, KC_Z, KC_K, KC_F, KC_QUOT, KC_SCLN, KC_DOT -// #define ___LAYER03___ _______, _______, _______, _______ +// #define ___LAYER01___ KC_N, KC_R, KC_T, KC_S, KC_G, KC_P, KC_H, KC_A, KC_E, KC_I +// #define ___LAYER02___ KC_X, KC_Q, KC_M, KC_W, KC_Z, KC_K, KC_F, KC_QUOT, KC_SCLN, KC_DOT -#define ___LAYER10___ KC_GRV, KC_LABK, KC_RABK, KC_DQUO, KC_DOT, KC_AMPR, REMOVE, KC_LBRC, KC_RBRC, KC_PERC -#define ___LAYER11___ HRML(KC_EXLM, KC_MINS, KC_PLUS, KC_EQL), KC_HASH, KC_PIPE, HRMR(KC_COLN, KC_LPRN, KC_RPRN, KC_QUES) -#define ___LAYER12___ KC_CIRC, KC_SLSH, KC_ASTR, KC_BSLS, UPDIR, KC_TILD, KC_DLR, KC_LCBR, KC_RCBR, KC_AT -#define ___LAYER13___ _______, _______, _______, _______ +#define ___LAYER10___ PNP, KC_9, KC_8, KC_7, KC_TAB, _______, _______, _______, _______, _______ +#define ___LAYER11___ HRML(KC_VOLU, KC_3, KC_2, KC_1), KC_CAPS, KC_LEFT, HRMR(KC_DOWN, KC_UP, KC_RGHT, _______) +#define ___LAYER12___ KC_VOLD, KC_6, KC_5, KC_4, _______, _______, _______, _______, _______, _______ +#define ___LAYER13___ _______, _______, _______, TG(LAYER3) -// #define ___LAYER10___ _______, KC_9, KC_8, KC_7, KC_TAB, _______, _______, _______, _______, _______ -// #define ___LAYER11___ HRML(KC_VOLU, KC_3, KC_2, KC_1), KC_CAPS, KC_LEFT, HRMR(KC_DOWN, KC_UP, KC_RGHT, _______) -// #define ___LAYER12___ KC_VOLD, KC_6, KC_5, KC_4, _______, _______, _______, _______, _______, _______ -// #define ___LAYER13___ _______, _______, _______, _______ +#define ___LAYER20___ KC_GRV, KC_LABK, KC_RABK, KC_DQUO, KC_DOT, KC_AMPR, REMOVE, KC_LBRC, KC_RBRC, KC_PERC +#define ___LAYER21___ KC_EXLM, TD(EM_DASH_MINS), KC_PLUS, KC_EQL, KC_HASH, KC_PIPE, KC_COLN, KC_LPRN, KC_RPRN, KC_QUES +#define ___LAYER22___ KC_CIRC, KC_SLSH, KC_ASTR, KC_BSLS, UPDIR, KC_TILD, KC_DLR, KC_LCBR, KC_RCBR, KC_AT +#define ___LAYER23___ _______, _______, _______, _______ #define ___LAYER30___ XRGB_TOG, XRGB_NXT, XRGB_HUI, XRGB_SAI, XRGB_VAI, _______, _______, _______, _______, QK_MAKE #define ___LAYER31___ _______, XRGB_PRV, XRGB_HUD, XRGB_SAD, XRGB_VAD, _______, _______, _______, _______, QK_BOOT #define ___LAYER32___ KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10 -#define ___LAYER33___ _______, _______, _______, _______ +#define ___LAYER33___ _______, _______, _______, TG(LAYER3) // clang-format on #define LAYOUT_jack_60_ts(...) LAYOUT_60_ansi_tsangan(__VA_ARGS__) diff --git a/users/jack/rules.mk b/users/jack/rules.mk @@ -9,6 +9,7 @@ EXTRAKEY_ENABLE = yes BOOTMAGIC_ENABLE = yes CAPS_WORD_ENABLE = yes TAP_DANCE_ENABLE = yes +REPEAT_KEY_ENABLE = yes SPACE_CADET_ENABLE = no AUTOCORRECT_ENABLE = yes OS_DETECTION_ENABLE = yes diff --git a/users/jack/user_introspection.c b/users/jack/user_introspection.c @@ -6,27 +6,19 @@ tap_dance_action_t tap_dance_actions[] = { [EM_DASH_MINS] = ACTION_TAP_DANCE_FN(em_dash_mins), [PLY_NXT_PRV] = ACTION_TAP_DANCE_FN(ply_nxt_prv), - [CBRACKET] = ACTION_TAP_DANCE_DOUBLE(KC_LCBR, KC_RCBR), - [SBRACKET] = ACTION_TAP_DANCE_DOUBLE(KC_LBRC, KC_RBRC), }; #endif #ifdef COMBO_ENABLE -#define CMB(name, action, ...) \ - uint16_t const name##_combo[] PROGMEM = {__VA_ARGS__, COMBO_END}; -#include "combos.def" -#undef CMB - -#define CMB(name, action, ...) [name] = COMBO(name##_combo, action), -combo_t key_combos[] = { -#include "combos.def" -}; -#undef CMB +const uint16_t PROGMEM enter_combo[] = {KC_J, KC_K, COMBO_END}; +combo_t key_combos[] = {COMBO(enter_combo, KC_ENT)}; #endif #ifdef ENCODER_MAP_ENABLE const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [LAYER0] = {{KC_VOLU, KC_VOLD}, {KC_MNXT, KC_MPRV}}, [LAYER1] = {{XRGB_SAI, XRGB_SAD}, {XRGB_HUI, XRGB_HUD}}, - [LAYER3] = {{C(KC_LEFT), C(KC_RGHT)}, {C(S(KC_TAB)), C(KC_TAB)}}}; + [LAYER2] = {{_______, _______}, {_______, _______}}, + [LAYER3] = {{_______, _______}, {_______, _______}}, +}; #endif