241 lines
24 KiB
C
241 lines
24 KiB
C
#include QMK_KEYBOARD_H
|
|
|
|
#include "dgvigil.h"
|
|
|
|
#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
|
|
|
|
enum combos {
|
|
FA_GUI,
|
|
FS_ALT,
|
|
FD_CTL,
|
|
JQUOT_GUI,
|
|
JL_ALT,
|
|
JK_CTL
|
|
};
|
|
|
|
const uint16_t PROGMEM fa_combo[] = {KC_F, KC_A, COMBO_END};
|
|
const uint16_t PROGMEM fs_combo[] = {KC_F, KC_S, COMBO_END};
|
|
const uint16_t PROGMEM fd_combo[] = {KC_F, KC_D, COMBO_END};
|
|
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};
|
|
|
|
combo_t key_combos[] = {
|
|
[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),
|
|
};
|
|
|
|
|
|
|
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
[_QWERTY] = 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, __________________BASE_L1____________________, __________________BASE_R1____________________, KC_GRV,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
|
KC_LCTL, __________________BASE_L2____________________, __________________BASE_R2____________________, KC_RCTL,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
|
KC_LSFT, __________________BASE_L3____________________,SPOTLI, _______, __________________BASE_R3____________________, KC_RSFT,
|
|
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
|
___________THUMB_L3________, ___________THUMB_R3________
|
|
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
|
),
|
|
|
|
|
|
[_NAV] = LAYOUT_wrapper(
|
|
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
|
_______, _______, _______, _______, _______, RGB_MODE_SWIRL, SPOTLI, _______, _______, _______, _______, RGB_TOG,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________EMPTY_____________________, __________________NAV_R1____________________, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________NAV_L2____________________, __________________NAV_R2____________________, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________NAV_L3____________________, LINUX, _______, __________________NAV_R3____________________, _______,
|
|
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
|
___________THUMB_L3________, ___________THUMB_R3________
|
|
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
|
),
|
|
|
|
[_NUM] = LAYOUT_wrapper(
|
|
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
|
_______, _______, _______, _______, _______, RGB_MODE_SWIRL, SPOTLI, _______, _______, _______, _______, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________NUM_L1____________________, _________________BOOT_R1____________________, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________NUM_L2____________________, __________________EMPTY_____________________, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________NUM_L3____________________, KC_LPRN, _______, __________________EMPTY_____________________, _______,
|
|
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
|
_________NUM_TH_L3________, ___________THUMB_3__BLANK__
|
|
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
|
),
|
|
|
|
[_SYM] = LAYOUT_wrapper(
|
|
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
|
_______, _______, _______, _______, _______, RGB_MODE_SWIRL, SPOTLI, _______, _______, _______, _______, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________SYM_L1____________________, __________________EMPTY_____________________, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________SYM_L2____________________, __________________EMPTY_____________________, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________SYM_L3____________________, _______, _______, __________________EMPTY_____________________, _______,
|
|
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
|
_________SYM_TH_L3________, ___________THUMB_3__BLANK__
|
|
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
|
),
|
|
|
|
[_FUN] = LAYOUT_wrapper(
|
|
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
|
_______, _______, _______, _______, _______, RGB_MODE_SWIRL, SPOTLI, _______, _______, _______, _______, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________FUN_L1____________________, _________________BOOT_R1____________________, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________FUN_L2____________________, __________________EMPTY_____________________, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________FUN_L3____________________, _______, _______, __________________EMPTY_____________________, _______,
|
|
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
|
___________THUMB_3__BLANK__, ___________THUMB_3__BLANK__
|
|
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
|
),
|
|
|
|
[_MUS] = LAYOUT_wrapper(
|
|
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
|
_______, _______, _______, _______, _______, RGB_MODE_SWIRL, SPOTLI, _______, _______, _______, _______, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, _________________BOOT_L1____________________, __________________EMPTY_____________________, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________EMPTY_____________________, __________________MUS_R2____________________, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________EMPTY_____________________, _______, _______, __________________MUS_R3____________________, _______,
|
|
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
|
___________THUMB_3__BLANK__, ___________THUMB_3__BLANK__
|
|
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
|
),
|
|
|
|
[_MOUSE] = LAYOUT_wrapper(
|
|
//┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
|
|
_______, _______, _______, _______, _______, RGB_MODE_SWIRL, SPOTLI, _______, _______, _______, _______, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________EMPTY_____________________, __________________MOU_R1____________________, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________EMPTY_____________________, __________________MOU_R2____________________, _______,
|
|
//├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
|
|
_______, __________________EMPTY_____________________, _______, _______, __________________MOU_R3____________________, _______,
|
|
//└────────┴────────┴────────┴───┬────┴───┬────┴───┬────┴───┬────┘ └───┬────┴───┬────┴───┬────┴───┬────┴────────┴────────┴────────┘
|
|
___________THUMB_3__BLANK__, ___________THUMB_3__BLANK__
|
|
// └────────┴────────┴────────┘ └────────┴────────┴────────┘
|
|
)
|
|
};
|
|
|
|
uint8_t mod_state;
|
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
static bool isLinux = false;
|
|
mod_state = get_mods();
|
|
switch (keycode) {
|
|
|
|
case LINUX:
|
|
if (record->event.pressed) {
|
|
isLinux = !isLinux;
|
|
}
|
|
return false;
|
|
case COPY:
|
|
if (record->event.pressed) {
|
|
if (isLinux) {
|
|
tap_code16(LCTL(KC_C));
|
|
} else {
|
|
tap_code16(LGUI(KC_C));
|
|
}
|
|
return false;
|
|
}
|
|
case PASTE:
|
|
if (record->event.pressed) {
|
|
if (isLinux) {
|
|
tap_code16(LCTL(KC_V));
|
|
} else {
|
|
tap_code16(LGUI(KC_V));
|
|
}
|
|
return false;
|
|
}
|
|
case CUT:
|
|
if (record->event.pressed) {
|
|
if (isLinux) {
|
|
tap_code16(LCTL(KC_X));
|
|
} else {
|
|
tap_code16(LGUI(KC_X));
|
|
}
|
|
return false;
|
|
}
|
|
case UNDO:
|
|
if (record->event.pressed) {
|
|
if (isLinux) {
|
|
tap_code16(LCTL(KC_Z));
|
|
} else {
|
|
tap_code16(LGUI(KC_Z));
|
|
}
|
|
return false;
|
|
}
|
|
case REDO:
|
|
if (record->event.pressed) {
|
|
if (isLinux) {
|
|
tap_code16(LCTL(KC_Y));
|
|
} else {
|
|
tap_code16(LSG(KC_Z));
|
|
}
|
|
return false;
|
|
}
|
|
case SALL:
|
|
if (record->event.pressed) {
|
|
if (isLinux) {
|
|
tap_code16(LCTL(KC_A));
|
|
} else {
|
|
tap_code16(LGUI(KC_A));
|
|
}
|
|
return false;
|
|
}
|
|
case M_PASS1:
|
|
if (record->event.pressed) {
|
|
SEND_STRING("P0plarLake!2023");
|
|
}
|
|
return false;
|
|
case M_PASS2:
|
|
if (record->event.pressed) {
|
|
SEND_STRING("CindieOtono!2024");
|
|
}
|
|
return false;
|
|
case M_PASS3:
|
|
if (record->event.pressed) {
|
|
SEND_STRING("1290");
|
|
}
|
|
return false;
|
|
case M_PASS4:
|
|
if (record->event.pressed) {
|
|
SEND_STRING("Thel0ve0fchrist!");
|
|
}
|
|
return false;
|
|
case SPOTLI:
|
|
if (record->event.pressed) {
|
|
tap_code16(LGUI(KC_SPACE));
|
|
}
|
|
return false;
|
|
}
|
|
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) },
|
|
[_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) },
|
|
};
|
|
|