diff --git a/iris/keymap.c b/iris/keymap.c index 8da769b..8802e52 100644 --- a/iris/keymap.c +++ b/iris/keymap.c @@ -1,9 +1,38 @@ #include QMK_KEYBOARD_H - -#include "dgvigil.h" +#include #define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__) +enum layer_names { + _QWERTY, // 0 + _COLEMAKDH, + _NAV, // 2 + _NUM, //3 + _SYM, // 4 + _FUN, // 5 + _MUS, // 6 + _MOUSE // 7 + }; + + enum { + CUSTOM_KEYCODE_START = SAFE_RANGE, + QWERTY, + COLDH, + LINUX, + COPY, + PASTE, + CUT, + UNDO, + REDO, + SALL, + SPOTLI, + M_PASS1, + M_PASS2, + M_PASS3, + M_PASS4, + CUSTOM_KEYCODE_END +}; + enum combos { FA_GUI, FS_ALT, @@ -47,120 +76,139 @@ combo_t key_combos[] = { [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),}; + [NE_CTL] = COMBO(ne_combo, KC_RCTL), +}; +// Layer tap definitions +#define MUS_ESC LT(_MUS, KC_ESC) +#define NAV_BKSP LT(_NAV, KC_BSPC) +#define MOUSE_TAB LT(_MOUSE, KC_TAB) +#define SYM_ENTER LT(_SYM, KC_ENTER) +#define NUM_SPC LT(_NUM, KC_SPC) +#define FUN_DEL LT(_FUN, KC_DEL) +// Simple keycode for now (can be enhanced to tap dance later) +#define Q_ESC KC_Q + +// Default layer change +#define QWERT DF(_QWERTY) +#define COLDH DF(_COLEMAKDH) + +// Tap dance actions array (required by QMK) - add at least one dummy action +tap_dance_action_t tap_dance_actions[] = { + [0] = ACTION_TAP_DANCE_DOUBLE(KC_NO, KC_NO), // Dummy action to satisfy the array requirement +}; const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_QWERTY] = LAYOUT_wrapper( + [_QWERTY] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ 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, __________________BASE_L1____________________, __________________BASE_R1____________________, KC_GRV, + KC_TAB, Q_ESC, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_GRV, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, __________________BASE_L2____________________, __________________BASE_R2____________________, KC_RCTL, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_RCTL, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LSFT, __________________BASE_L3____________________,SPOTLI, _______, __________________BASE_R3____________________, KC_RSFT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, SPOTLI, _______, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - ___________THUMB_L3________, ___________THUMB_R3________ + MUS_ESC, NAV_BKSP,MOUSE_TAB, SYM_ENTER,NUM_SPC,FUN_DEL // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), - [_COLEMAKDH] = LAYOUT_wrapper( + [_COLEMAKDH] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ 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_TAB, Q_ESC, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_QUOT, KC_GRV, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LCTL, __________________COLEML2____________________, __________________COLEMR2____________________, KC_RCTL, + KC_LCTL, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, KC_RCTL, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - KC_LSFT, __________________COLEML3____________________,SPOTLI, _______, __________________COLEMR3____________________, KC_RSFT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V , SPOTLI, _______, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - ___________THUMB_L3________, ___________THUMB_R3________ + MUS_ESC, NAV_BKSP,MOUSE_TAB, SYM_ENTER,NUM_SPC,FUN_DEL // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), - [_NAV] = LAYOUT_wrapper( + [_NAV] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ _______, _______, _______, _______, _______, RGB_MODE_SWIRL, SPOTLI, _______, _______, _______, _______, RGB_TOG, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________EMPTY_____________________, __________________NAV_R1____________________, _______, + _______, _______, _______, _______, _______, _______, KC_CAPS, PASTE, COPY, CUT, UNDO, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________NAV_L2____________________, __________________NAV_R2____________________, _______, + _______, _______, _______, _______, M_PASS3, M_PASS4, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________NAV_L3____________________, LINUX, _______, __________________NAV_R3____________________, _______, + _______, _______, _______, _______, M_PASS2, M_PASS1, LINUX, _______, SALL, KC_HOME, KC_PGUP, KC_PGDN, KC_END, _______, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - ___________THUMB_L3________, ___________THUMB_R3________ + MUS_ESC, NAV_BKSP,MOUSE_TAB, SYM_ENTER,NUM_SPC,FUN_DEL // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), - [_NUM] = LAYOUT_wrapper( + [_NUM] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - _______, _______, _______, _______, _______, RGB_MODE_SWIRL, SPOTLI, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, RGB_MODE_SWIRL, SPOTLI, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________NUM_L1____________________, _________________BOOT_R1____________________, _______, + _______, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, COLDH, _______, _______, _______, QWERT, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________NUM_L2____________________, __________________EMPTY_____________________, _______, + _______, KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________NUM_L3____________________, KC_LPRN, _______, __________________EMPTY_____________________, _______, + _______, KC_DOT, KC_1, KC_2, KC_3, KC_BSLS, KC_LPRN, _______, _______, _______, _______, _______, _______, _______, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - _________NUM_TH_L3________, ___________THUMB_3__BLANK__ + KC_DOT, KC_0, KC_MINUS, _______, _______, _______ // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), - [_SYM] = LAYOUT_wrapper( + [_SYM] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ _______, _______, _______, _______, _______, RGB_MODE_SWIRL, SPOTLI, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________SYM_L1____________________, __________________EMPTY_____________________, _______, + _______, KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________SYM_L2____________________, __________________EMPTY_____________________, _______, + _______, KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________SYM_L3____________________, _______, _______, __________________EMPTY_____________________, _______, + _______, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, _______, _______, _______, _______, _______, _______, _______, _______, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - _________SYM_TH_L3________, ___________THUMB_3__BLANK__ + KC_LPRN, KC_RPRN, KC_UNDS, _______, _______, _______ // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), - [_FUN] = LAYOUT_wrapper( + [_FUN] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - _______, _______, _______, _______, _______, RGB_MODE_SWIRL, SPOTLI, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, RGB_M_SW, SPOTLI, _______, _______, _______, _______, QK_BOOT, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________FUN_L1____________________, _________________BOOT_R1____________________, _______, + _______, KC_F12, KC_F7, KC_F8, KC_F9, KC_PSCR, RM_NEXT,RM_PREV,_______,_______,QWERT, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________FUN_L2____________________, __________________EMPTY_____________________, _______, + _______, KC_F11, KC_F4, KC_F5, KC_F6, _______, RGB_M_X, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________FUN_L3____________________, _______, _______, __________________EMPTY_____________________, _______, + _______, KC_F10, KC_F1, KC_F2, KC_F3, _______, _______, _______, _______, _______, _______, _______, _______, _______, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - ___________THUMB_3__BLANK__, ___________THUMB_3__BLANK__ + _______, _______, _______, _______, _______, _______ // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), - [_MUS] = LAYOUT_wrapper( + [_MUS] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ - _______, _______, _______, _______, _______, RGB_MODE_SWIRL, SPOTLI, _______, _______, _______, _______, _______, + QK_BOOT, _______, _______, _______, _______, RGB_MODE_SWIRL, SPOTLI, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - _______, _________________BOOT_L1____________________, __________________EMPTY_____________________, _______, + _______, _______,_______,_______,_______,QWERT, _______, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________EMPTY_____________________, __________________MUS_R2____________________, _______, + _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_VOLU, KC_MNXT, _______, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________EMPTY_____________________, _______, _______, __________________MUS_R3____________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MUTE, _______, _______, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - ___________THUMB_3__BLANK__, ___________THUMB_3__BLANK__ + _______, _______, _______, _______, _______, _______ // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ), - [_MOUSE] = LAYOUT_wrapper( + [_MOUSE] = LAYOUT( //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐ _______, _______, _______, _______, _______, RGB_MODE_SWIRL, SPOTLI, _______, _______, _______, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________EMPTY_____________________, __________________MOU_R1____________________, _______, + _______, _______, _______, _______, _______, _______, _______, KC_PSTE, KC_COPY, KC_CUT, KC_UNDO, _______, //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________EMPTY_____________________, __________________MOU_R2____________________, _______, + _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤ - _______, __________________EMPTY_____________________, _______, _______, __________________MOU_R3____________________, _______, + _______, _______, _______, _______, _______, _______, _______, _______, KC_BTN2, KC_BTN1, KC_WH_D, KC_WH_U, KC_BTN2, _______, //└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘ - ___________THUMB_3__BLANK__, ___________THUMB_3__BLANK__ + _______, _______, _______, _______, _______, _______ // └────────┴────────┴────────┘ └────────┴────────┴────────┘ ) }; @@ -259,16 +307,17 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { return true; } -// #define ___________THUMB_L3________ MUS_ESC, NAV_BKSP,MOUSE_TAB -// #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) }, - [_MOUSE] = { ENCODER_CCW_CW(KC_A, KC_A), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT), ENCODER_CCW_CW(KC_B, KC_B), ENCODER_CCW_CW(A(KC_TAB), S(A(KC_TAB))) }, - [_FUN] = { 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_VAI, RGB_VAD) }, - [_MUS] = { 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_MOD, RGB_RMOD) }, -}; + +#if defined(ENCODER_MAP_ENABLE) +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_COLEMAKDH] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_NAV] = { ENCODER_CCW_CW(C(KC_TAB), S(C(KC_TAB))), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_NUM] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_SYM] = { ENCODER_CCW_CW(RGB_SPD, RGB_SPI), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_MOUSE] = { ENCODER_CCW_CW(A(KC_TAB), S(A(KC_TAB))), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_FUN] = { ENCODER_CCW_CW(RGB_VAI, RGB_VAD), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, + [_MUS] = { ENCODER_CCW_CW(RM_NEXT, RM_PREV), ENCODER_CCW_CW(KC_LEFT, KC_RIGHT) }, +}; +#endif diff --git a/iris/rules.mk b/iris/rules.mk index 96cc6de..223dd43 100644 --- a/iris/rules.mk +++ b/iris/rules.mk @@ -1,5 +1,9 @@ - +REPEAT_KEY_ENABLE = yes AUTO_SHIFT_ENABLE = yes - +CAPS_WORD_ENABLE = yes +COMBO_ENABLE = yes +TAP_DANCE_ENABLE = yes ENCODER_ENABLE = yes ENCODER_MAP_ENABLE = yes + +LTO_ENABLE = yes \ No newline at end of file diff --git a/q8/config.h b/q8/config.h index 8533576..16bd015 100644 --- a/q8/config.h +++ b/q8/config.h @@ -6,5 +6,3 @@ #define VIAL_UNLOCK_COMBO_ROWS { 0, 2 } #define VIAL_UNLOCK_COMBO_COLS { 0, 13 } - -#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/q8/keymap.c b/q8/keymap.c index 906b0a5..d4c5f0c 100644 --- a/q8/keymap.c +++ b/q8/keymap.c @@ -16,6 +16,7 @@ #include QMK_KEYBOARD_H #include "keychron_common.h" +#include "dgvigil.h" // clang-format off