From dd4507cfc428770a1e67f4911111640f588c2276 Mon Sep 17 00:00:00 2001 From: dave Date: Mon, 12 Aug 2024 09:10:40 -0500 Subject: [PATCH] Finally added Colemak DH --- dgvigil/definitions/keycodes.h | 7 ++++-- dgvigil/definitions/keymap_blocks.h | 4 +-- dgvigil/definitions/layers.h | 1 + iris/keymap.c | 38 +++++++++++++++++++++++++++-- 4 files changed, 44 insertions(+), 6 deletions(-) diff --git a/dgvigil/definitions/keycodes.h b/dgvigil/definitions/keycodes.h index 138fde9..af4b256 100644 --- a/dgvigil/definitions/keycodes.h +++ b/dgvigil/definitions/keycodes.h @@ -6,7 +6,7 @@ // Tap dance codes -enum { +enum { TD_Q_ESC, TD_W_GRV, BRT_OPA @@ -39,7 +39,7 @@ enum { }; -// Layer-taps +// Layers // 3 LEFT THUMB KEYS #define MUS_ESC LT(_MUS, KC_ESC) @@ -55,4 +55,7 @@ enum { // 2 RIGHT THUMB KEYS #define NUM_SPC LT(_NUM, KC_SPC) +// Default layer change +#define QWERT DF(_QWERTY) +#define COLDH DF(_COLEMAKDH) // clang-format on diff --git a/dgvigil/definitions/keymap_blocks.h b/dgvigil/definitions/keymap_blocks.h index bb47ca5..99a7dce 100644 --- a/dgvigil/definitions/keymap_blocks.h +++ b/dgvigil/definitions/keymap_blocks.h @@ -17,8 +17,8 @@ // EMPTY ROW #define __________________EMPTY_____________________ _______, _______, _______, _______, _______ // BOOTLOADER -#define _________________BOOT_R1____________________ _______, _______, _______, _______, QK_BOOTLOADER -#define _________________BOOT_L1____________________ QK_BOOTLOADER,_______,_______,_______,_______ +#define _________________BOOT_R1____________________ COLDH, _______, _______, _______, QK_BOOTLOADER +#define _________________BOOT_L1____________________ QK_BOOTLOADER,_______,_______,_______,QWERT // _BASE diff --git a/dgvigil/definitions/layers.h b/dgvigil/definitions/layers.h index c1f8276..77ce8a9 100644 --- a/dgvigil/definitions/layers.h +++ b/dgvigil/definitions/layers.h @@ -2,6 +2,7 @@ typedef enum { _QWERTY, // 0 + _COLEMAKDH, _NAV, // 2 _NUM, //3 _SYM, // 4 diff --git a/iris/keymap.c b/iris/keymap.c index d41a5bb..8da769b 100644 --- a/iris/keymap.c +++ b/iris/keymap.c @@ -10,7 +10,13 @@ enum combos { FD_CTL, JQUOT_GUI, JL_ALT, - JK_CTL + JK_CTL, + TA_GUI, + TR_ALT, + TS_CTL, + NO_GUI, + NI_ALT, + NE_CTL }; const uint16_t PROGMEM fa_combo[] = {KC_F, KC_A, COMBO_END}; @@ -20,14 +26,28 @@ const uint16_t PROGMEM jquote_combo[] = {KC_J, KC_QUOT, COMBO_END}; const uint16_t PROGMEM jl_combo[] = {KC_J, KC_L, COMBO_END}; const uint16_t PROGMEM jk_combo[] = {KC_J, KC_K, COMBO_END}; +const uint16_t PROGMEM ta_combo[] = {KC_T, KC_A, COMBO_END}; +const uint16_t PROGMEM tr_combo[] = {KC_T, KC_R, COMBO_END}; +const uint16_t PROGMEM ts_combo[] = {KC_T, KC_S, COMBO_END}; +const uint16_t PROGMEM no_combo[] = {KC_N, KC_O, COMBO_END}; +const uint16_t PROGMEM ni_combo[] = {KC_N, KC_I, COMBO_END}; +const uint16_t PROGMEM ne_combo[] = {KC_N, KC_E, COMBO_END}; + combo_t key_combos[] = { +// QWERTY [FA_GUI] = COMBO(fa_combo, KC_LGUI), [FS_ALT] = COMBO(fs_combo, KC_LALT), [FD_CTL] = COMBO(fd_combo, KC_LCTL), [JQUOT_GUI] = COMBO(jquote_combo, KC_RGUI), [JL_ALT] = COMBO(jl_combo, KC_RALT), [JK_CTL] = COMBO(jk_combo, KC_RCTL), -}; +// COLEMAK-DH + [TA_GUI] = COMBO(ta_combo, KC_LGUI), + [TR_ALT] = COMBO(tr_combo, KC_LALT), + [TS_CTL] = COMBO(ts_combo, KC_LCTL), + [NO_GUI] = COMBO(no_combo, KC_RGUI), + [NI_ALT] = COMBO(ni_combo, KC_RALT), + [NE_CTL] = COMBO(ne_combo, KC_RCTL),}; @@ -46,6 +66,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), + [_COLEMAKDH] = LAYOUT_wrapper( + //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MUTE, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_TAB, __________________COLEML1____________________, __________________COLEMR1____________________, KC_GRV, + //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LCTL, __________________COLEML2____________________, __________________COLEMR2____________________, KC_RCTL, + //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ + KC_LSFT, __________________COLEML3____________________,SPOTLI, _______, __________________COLEMR3____________________, KC_RSFT, + //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ + ___________THUMB_L3________, ___________THUMB_R3________ + // └────────┴────────┴────────┘ └────────┴────────┴────────┘ + ), [_NAV] = LAYOUT_wrapper( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ @@ -230,6 +263,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { // #define ___________THUMB_R3________ SYM_ENTER,NUM_SPC,FUN_DEL const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { [_QWERTY] = { ENCODER_CCW_CW(KC_A, KC_A), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_B, KC_B), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [_COLEMAKDH] = { ENCODER_CCW_CW(KC_A, KC_A), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_B, KC_B), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, [_NAV] = { ENCODER_CCW_CW(KC_A, KC_A), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_B, KC_B), ENCODER_CCW_CW(C(KC_TAB), S(C(KC_TAB))) }, [_NUM] = { ENCODER_CCW_CW(KC_A, KC_A), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_B, KC_B), ENCODER_CCW_CW(RGB_HUD, RGB_HUI) }, [_SYM] = { ENCODER_CCW_CW(KC_A, KC_A), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_B, KC_B), ENCODER_CCW_CW(RGB_SPD, RGB_SPI) },