1
Fork 0
keyswirl/keyboards/qmk/ferris-sweep/keymap.c

153 lines
6.8 KiB
C
Raw Normal View History

2023-10-22 17:20:35 +02:00
#include QMK_KEYBOARD_H
// {{{ Aliases
#define CAPS QK_CAPS_WORD_TOGGLE
// }}}
// {{{ Configure tri-layers https://docs.qmk.fm/#/feature_tri_layer
#define TRI_LAYER_LOWER_LAYER 1
#define TRI_LAYER_UPPER_LAYER 2
#define TRI_LAYER_ADJUST_LAYER 3
// }}}
// {{{ Combos (currently defined in colemak-dh notation)
// {{{ Normal keycodes
const uint16_t PROGMEM backspace_combo[] = { KC_G, KC_M, COMBO_END };
const uint16_t PROGMEM escape_combo[] = { KC_Q, KC_W, COMBO_END };
const uint16_t PROGMEM return_combo[] = { KC_F, KC_T, COMBO_END };
const uint16_t PROGMEM tab_combo[] = { KC_S, KC_T, COMBO_END };
// }}}
// {{{ Modifiers
const uint16_t PROGMEM lcontrol_combo[] = { KC_R, KC_T, COMBO_END };
const uint16_t PROGMEM rcontrol_combo[] = { KC_N, KC_I, COMBO_END };
const uint16_t PROGMEM lalt_combo[] = { KC_A, KC_R, COMBO_END };
const uint16_t PROGMEM ralt_combo[] = { KC_I, KC_O, COMBO_END };
2024-05-04 20:36:20 +02:00
const uint16_t PROGMEM lsft_combo[] = { KC_R, KC_S, COMBO_END };
const uint16_t PROGMEM rsft_combo[] = { KC_I, KC_E, COMBO_END };
2023-10-22 17:20:35 +02:00
const uint16_t PROGMEM lgui_combo[] = { KC_R, KC_V, COMBO_END };
const uint16_t PROGMEM rgui_combo[] = { KC_H, KC_I, COMBO_END };
2024-05-04 20:36:20 +02:00
const uint16_t PROGMEM lcontrol_sft_combo[] = { KC_R, KC_S, KC_T, COMBO_END };
const uint16_t PROGMEM rcontrol_sft_combo[] = { KC_N, KC_E, KC_I, COMBO_END };
2024-08-31 19:05:59 +02:00
const uint16_t PROGMEM lalt_sft_combo[] = { KC_A, KC_R, KC_S, COMBO_END };
const uint16_t PROGMEM ralt_sft_combo[] = { KC_E, KC_I, KC_O, COMBO_END };
const uint16_t PROGMEM lcontrol_alt_sft_combo[] = { KC_A, KC_R, KC_S, KC_T, COMBO_END };
const uint16_t PROGMEM rcontrol_alt_sft_combo[] = { KC_N, KC_E, KC_I, KC_O, COMBO_END };
2023-10-22 17:20:35 +02:00
// }}}
// {{{ Custom keymaps (bound by specific apps)
const uint16_t PROGMEM normal_mode_combo[] = { KC_N, KC_E, COMBO_END };
const uint16_t PROGMEM save_combo[] = { KC_N, KC_U, COMBO_END };
const uint16_t PROGMEM launcher_combo[] = { KC_H, KC_I, KC_E, COMBO_END };
// }}}
// {{{ Workspace keybinds
const uint16_t PROGMEM workspace_1_combo[] = { KC_H, KC_I, KC_Q, COMBO_END };
const uint16_t PROGMEM workspace_2_combo[] = { KC_H, KC_I, KC_W, COMBO_END };
const uint16_t PROGMEM workspace_3_combo[] = { KC_H, KC_I, KC_F, COMBO_END };
const uint16_t PROGMEM workspace_4_combo[] = { KC_H, KC_I, KC_P, COMBO_END };
2024-05-04 20:36:20 +02:00
const uint16_t PROGMEM workspace_5_combo[] = { KC_H, KC_I, KC_B, COMBO_END };
2023-10-22 17:20:35 +02:00
const uint16_t PROGMEM workspace_6_combo[] = { KC_H, KC_I, KC_A, COMBO_END };
const uint16_t PROGMEM workspace_7_combo[] = { KC_H, KC_I, KC_R, COMBO_END };
const uint16_t PROGMEM workspace_8_combo[] = { KC_H, KC_I, KC_S, COMBO_END };
const uint16_t PROGMEM workspace_9_combo[] = { KC_H, KC_I, KC_T, COMBO_END };
const uint16_t PROGMEM workspace_0_combo[] = { KC_H, KC_I, KC_G, COMBO_END };
// }}}
// {{{ Combo actions
combo_t key_combos[] = {
// {{{ Normal keycodes
COMBO(backspace_combo, KC_BACKSPACE),
COMBO(escape_combo, KC_ESCAPE),
COMBO(return_combo, KC_ENTER),
COMBO(tab_combo, KC_TAB),
// }}}
// {{{ Modifiers
COMBO(lcontrol_combo, KC_LCTL),
COMBO(rcontrol_combo, KC_RCTL),
2024-05-04 20:36:20 +02:00
COMBO(lsft_combo, KC_LSFT),
COMBO(rsft_combo, KC_RSFT),
COMBO(rcontrol_combo, KC_RCTL),
2023-10-22 17:20:35 +02:00
COMBO(lalt_combo, KC_LALT),
COMBO(ralt_combo, KC_RALT),
COMBO(lgui_combo, KC_LGUI),
COMBO(rgui_combo, KC_RGUI),
2024-05-04 20:36:20 +02:00
COMBO(lcontrol_sft_combo, S(KC_LCTL)),
COMBO(rcontrol_sft_combo, S(KC_RCTL)),
2024-08-31 19:05:59 +02:00
COMBO(lalt_sft_combo, S(KC_LALT)),
COMBO(ralt_sft_combo, S(KC_RALT)),
COMBO(lcontrol_alt_sft_combo, S(C(KC_LALT))),
COMBO(rcontrol_alt_sft_combo, S(C(KC_RALT))),
2023-10-22 17:20:35 +02:00
// }}}
// {{{ Custom keybinds (bound in software)
COMBO(normal_mode_combo, KC_F10),
COMBO(save_combo, KC_F12),
COMBO(launcher_combo, G(KC_P)),
// }}}
// {{{ These combos represents commands for my window manager
COMBO(workspace_1_combo, G(KC_1)),
COMBO(workspace_2_combo, G(KC_2)),
COMBO(workspace_3_combo, G(KC_3)),
COMBO(workspace_4_combo, G(KC_4)),
COMBO(workspace_5_combo, G(KC_5)),
COMBO(workspace_6_combo, G(KC_6)),
COMBO(workspace_7_combo, G(KC_7)),
COMBO(workspace_8_combo, G(KC_8)),
COMBO(workspace_9_combo, G(KC_9)),
COMBO(workspace_0_combo, G(KC_0))
// }}}
};
// }}}
// }}}
// {{{ Layers
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Template layer
[N] = LAYOUT_split_3x5_2(
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO
),
*/
// COLEMAK-DH chars
[0] = LAYOUT_split_3x5_2(
2024-05-04 20:36:20 +02:00
KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN,
2023-10-22 17:20:35 +02:00
KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O,
2024-05-04 20:36:20 +02:00
KC_Z, KC_C, KC_D, KC_V, KC_X, KC_K, KC_H, KC_COMM, KC_DOT, KC_QUOT,
2023-10-22 17:20:35 +02:00
TL_LOWR, KC_SPC, KC_LSFT, TL_UPPR
),
// Red layer
[1] = LAYOUT_split_3x5_2(
KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_HOME,KC_PGDN,KC_PGUP,KC_END, KC_DEL,
KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_LEFT,KC_DOWN,KC_UP, KC_RIGHT, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_TRNS, KC_TRNS, TL_UPPR
),
// Blue layer
[2] = LAYOUT_split_3x5_2(
2024-08-31 19:05:59 +02:00
// + @ # $ % _ & * ` ~
S(KC_EQL), S(KC_2), S(KC_3),S(KC_4),S(KC_5), S(KC_MINS),S(KC_7), S(KC_8),KC_GRV, S(KC_GRV),
// < { [ ( ? | - / = :
S(KC_COMM),S(KC_LBRC),KC_LBRC,S(KC_9),S(KC_SLSH),S(KC_BSLS),KC_MINS, KC_SLSH,KC_EQL, S(KC_SCLN),
// > } ] ) ! ^ — em dash "
S(KC_DOT), S(KC_RBRC),KC_RBRC,S(KC_0),S(KC_1), S(KC_6), UC(0x2014),KC_TRNS,KC_TRNS,S(KC_QUOT),
2024-05-04 20:36:20 +02:00
TL_LOWR, KC_BSLS, KC_TRNS, KC_NO
2023-10-22 17:20:35 +02:00
),
// Purple layer (blue + red)
[3] = LAYOUT_split_3x5_2(
2024-05-04 20:36:20 +02:00
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, CAPS, KC_COPY, KC_MNXT,KC_VOLU,KC_BRIU,
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,KC_NO, KC_PASTE,KC_MPLY,KC_VOLD,KC_BRID,
2024-08-31 19:05:59 +02:00
KC_F11,KC_F12,KC_NO, KC_NO, KC_NO, KC_NO, KC_CUT, KC_MPRV,KC_MUTE,CM_TOGG,
2023-10-22 17:20:35 +02:00
KC_NO, KC_NO, KC_NO, KC_NO
),
// QWERTY chars
[4] = LAYOUT_split_3x5_2(
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, S(KC_SCLN),
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_QUOT,
TL_LOWR, KC_SPC, KC_LSFT, TL_UPPR
)
};
// }}}
void keyboard_post_init_user(void) {
debug_enable=true;
debug_matrix=true;
debug_keyboard=true;
debug_mouse=true;
}