diff --git a/keyboards/boardsource/unicorne/keymaps/markstos/config.h b/keyboards/boardsource/unicorne/keymaps/markstos/config.h index 5669015d..62d86fab 100644 --- a/keyboards/boardsource/unicorne/keymaps/markstos/config.h +++ b/keyboards/boardsource/unicorne/keymaps/markstos/config.h @@ -2,7 +2,9 @@ #define RGB_MATRIX_LED_COUNT 54 #define RGB_MATRIX_DEFAULT_MODE RGB_MATRIX_ALPHAS_MODS +#define ENABLE_RGB_MATRIX_SOLID_REACTIVE #define RGB_DISABLE_WHEN_USB_SUSPENDED +#define RGB_TRIGGER_ON_KEYDOWN #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET diff --git a/keyboards/boardsource/unicorne/keymaps/markstos/keymap.c b/keyboards/boardsource/unicorne/keymaps/markstos/keymap.c index ced14b7e..7bdc9248 100644 --- a/keyboards/boardsource/unicorne/keymaps/markstos/keymap.c +++ b/keyboards/boardsource/unicorne/keymaps/markstos/keymap.c @@ -1,14 +1,21 @@ #include QMK_KEYBOARD_H extern uint8_t is_master; - +void keyboard_post_init_user(void) { +#ifdef RGB_MATRIX_ENABLE + rgb_matrix_enable(); + rgb_matrix_set_speed(RGB_MATRIX_DEFAULT_SPD); + rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE); + rgb_matrix_sethsv(HSV_PURPLE); +#endif +} enum custom_keycodes { DEFAULT = SAFE_RANGE, LOWER, RAISE, FUNC, - SYSTEM + LOCKWIN }; enum combos { @@ -17,12 +24,30 @@ enum combos { const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END}; + combo_t key_combos[COMBO_COUNT] = { // For Vim, put Escape on the home row [JK_ESC] = COMBO(jk_combo, KC_ESC), }; +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case LOCKWIN: + if (record->event.pressed) { + // when keycode LOCKWIN is pressed + register_code(KC_LGUI); // press the Windows key + register_code(KC_L); // press the L key + } else { + // when keycode LOCKWIN is released + unregister_code(KC_LGUI); // release the Windows key + unregister_code(KC_L); // release the L key + } + break; + } + return true; +} + // Each layer gets a name for readability, which is then used in the keymap matrix below. // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them @@ -31,22 +56,18 @@ combo_t key_combos[COMBO_COUNT] = { #define _LOWER 1 #define _RAISE 2 #define _FUNC 3 -#define _SYSTEM 4 // For _QWERTY layer -#define OSM_LCTL OSM(MOD_LCTL) -#define OSM_AGR OSM(MOD_RALT) #define OSL_FUN OSL(_FUNC) -#define GUI_ENT GUI_T(KC_ENT) - #define LOW_TAB LT(_LOWER, KC_TAB) #define RSE_BSP LT(_RAISE, KC_BSPC) #define OSM_SFT OSM(MOD_LSFT) -#define SYS_SFT LT(OSL(_SYSTEM), OSM_SFT) +#define OSM_ALT OSM(MOD_LALT) +#define OSM_CTL OSM(MOD_LCTL) + // For _RAISE layer -#define CTL_ESC LCTL_T(KC_ESC) #define CTL_COPY LCTL_T(KC_C) #define CTL_PSTE LCTL_T(KC_V) @@ -55,61 +76,49 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [_QWERTY] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. - KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_DEL, \ + OSM(MOD_LALT), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y ,KC_U ,KC_I ,KC_O ,KC_P , KC_BSLS,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - 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,\ - //|---- ----+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - 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_SFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H ,KC_J ,KC_K ,KC_L , KC_SCLN, KC_QUOT,\ + //|---- ----+--------+--------+--------+--------+-------| |--------+--------+--------+--------+--------+--------| + OSM(MOD_LCTL), 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 \ + KC_LGUI,LOW_TAB, KC_SPC, KC_ENT, RSE_BSP, OSM_SFT \ //`--------------------------' `--------------------------' ), [_LOWER] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,\ + KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,\ + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, XXXXXXX , KC_TILD,KC_GRV, KC_LBRC, KC_LCBR, KC_RCBR, KC_RBRC, KC_COMM,KC_DOT, KC_SLSH, _______,\ + _______, XXXXXXX, XXXXXXX, KC_EQL, KC_LBRC, KC_LCBR, KC_RCBR, KC_RBRC, KC_MINS, XXXXXXX, XXXXXXX,_______,\ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - KC_TRNS, KC_TRNS, LOWER, KC_TRNS, KC_TRNS, KC_COLON \ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS \ //`--------------------------' `--------------------------' - ), + ), [_RAISE] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, KC_DEL , XXXXXXX, KC_UNDS, KC_PLUS, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, KC_BSLS, KC_PIPE,_______,\ + _______, KC_DEL, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, _______,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_HOME, KC_END , KC_MINS, KC_EQL , KC_PGDN, KC_LEFT, KC_DOWN, KC_UP , KC_RGHT, KC_APP ,_______,\ + _______, KC_INS, KC_END, KC_PGDN, XXXXXXX, XXXXXXX, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_APP , _______,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_LT , KC_GT , CTL_COPY,CTL_PSTE, KC_SCLN, KC_MPLY, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU,_______,\ + _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY, KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MUTE,\ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - CTL_ESC, KC_TRNS, XXXXXXX, RAISE , KC_TRNS, KC_TRNS\ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS\ //`--------------------------' `--------------------------' ), [_FUNC] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. - _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 ,_______,\ + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , RGB_VAI, RGB_HUI, RGB_SAI, RGB_MOD, RGB_TOG, _______,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_F11 , KC_F12 , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,_______,\ + _______, KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10, RGB_VAD, RGB_HUD, RGB_SAD, RGB_RMOD, CK_TOGG, QK_RBT,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, KC_CAPS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX , XXXXXXX, XXXXXXX, XXXXXXX, _______,XXXXXXX,\ + _______, KC_F11, KC_F12, XXXXXXX, XXXXXXX, KC_CAPS, XXXXXXX, LOCKWIN, QK_BOOT, EE_CLR, KC_SLEP, _______,\ //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, FUNC , XXXXXXX\ - //`--------------------------' `--------------------------' - ), - - [_SYSTEM] = LAYOUT_split_3x6_3( \ - //,-----------------------------------------------------. ,-----------------------------------------------------. - QK_BOOT, _______, _______, _______, _______, _______, RGB_VAI , RGB_HUI, RGB_SAI, RGB_MOD, RGB_TOG,_______,\ - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - EE_CLR, _______, _______, _______, _______, _______, RGB_VAD, RGB_HUD, RGB_SAD, RGB_RMOD, CK_TOGG,_______,\ - //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, _______, _______, _______ , _______, _______, _______, _______,_______,\ - //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------| - _______, _______, _______, _______, FUNC , _______\ + KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS\ //`--------------------------' `--------------------------' ) }; @@ -120,8 +129,6 @@ uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) { return TAPPING_TERM_THUMB; case LT(_LOWER, KC_TAB): return TAPPING_TERM_THUMB; - case LT(_SYSTEM, OSM(MOD_LSFT)): - return TAPPING_TERM_THUMB; default: return TAPPING_TERM; } diff --git a/keyboards/boardsource/unicorne/keymaps/markstos/rules.mk b/keyboards/boardsource/unicorne/keymaps/markstos/rules.mk index 76774cd3..01dd338c 100644 --- a/keyboards/boardsource/unicorne/keymaps/markstos/rules.mk +++ b/keyboards/boardsource/unicorne/keymaps/markstos/rules.mk @@ -1,7 +1,7 @@ SERIAL_DRIVER = vendor AUDIO_DRIVER = pwm_hardware POINTING_DEVICE_DRIVER = analog_joystick - +VIA_ENABLE = yes OLED_ENABLE = yes # markstos: enable media keys EXTRAKEY_ENABLE = yes