1
Fork 0

Add ferris sweep config

This commit is contained in:
Matei Adriel 2023-10-22 17:20:35 +02:00
parent 331ea8b56c
commit 9d75ec4857
No known key found for this signature in database
3 changed files with 175 additions and 0 deletions

View file

@ -0,0 +1,34 @@
#pragma once
// {{{ Mousekey
// Set the mouse settings to a comfortable speed/accuracy trade-off,
// assuming a screen refresh rate of 60 Htz or higher
// The default is 50. This makes the mouse ~3 times faster and more accurate
#define MOUSEKEY_INTERVAL 16
// The default is 20. Since we made the mouse about 3 times faster with the previous setting,
// give it more time to accelerate to max speed to retain precise control over short distances.
#define MOUSEKEY_TIME_TO_MAX 40
// The default is 300. Let's try and make this as low as possible while keeping the cursor responsive
#define MOUSEKEY_DELAY 100
// It makes sense to use the same delay for the mouseweel
#define MOUSEKEY_WHEEL_DELAY 100
// The default is 100
#define MOUSEKEY_WHEEL_INTERVAL 50
// The default is 40
#define MOUSEKEY_WHEEL_TIME_TO_MAX 100
// }}}
// {{{ Tap-hold
#define TAPPING_TERM 200
#define PERMISSIVE_HOLD
#define QUICK_TAP_TERM 0
// }}}
// {{{ Combos
#define COMBO_MUST_HOLD_MODS
#define COMBO_TERM 30
#define COMBO_HOLD_TERM 30
#define COMBO_ONLY_FROM_LAYER 0
// }}}
// https://github.com/qmk/qmk_firmware/blob/master/docs/feature_split_keyboard.md#handedness-by-eeprom
#define EE_HANDS
#define SPLIT_USB_DETECT

View file

@ -0,0 +1,135 @@
#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 };
const uint16_t PROGMEM lgui_combo[] = { KC_R, KC_V, COMBO_END };
const uint16_t PROGMEM rgui_combo[] = { KC_H, KC_I, COMBO_END };
// }}}
// {{{ 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 };
const uint16_t PROGMEM workspace_5_combo[] = { KC_H, KC_I, KC_P, COMBO_END };
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),
COMBO(lalt_combo, KC_LALT),
COMBO(ralt_combo, KC_RALT),
COMBO(lgui_combo, KC_LGUI),
COMBO(rgui_combo, KC_RGUI),
// }}}
// {{{ 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(
KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, S(KC_SCLN),
KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O,
KC_Z, KC_X, KC_C, KC_D, KC_V, KC_K, KC_H, KC_COMM, KC_DOT, KC_QUOT,
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(
// ! @ # $ % ^ & * ` ~
S(KC_1), S(KC_2),S(KC_3),S(KC_4), S(KC_5), S(KC_6), S(KC_7), S(KC_8),KC_GRV, S(KC_GRV),
// < ( [ { - ? _ / = ;
S(KC_COMM),S(KC_9),KC_LBRC,S(KC_LBRC),KC_MINS, S(KC_SLSH),S(KC_MINS),KC_SLSH,KC_EQL, KC_SCLN,
// > ) ] } — em dash | \ + "
S(KC_DOT), S(KC_0),KC_RBRC,S(KC_RBRC),UC(0x2014),KC_NO, S(KC_BSLS),KC_BSLS,S(KC_EQL),S(KC_QUOT),
TL_LOWR, KC_TRNS, KC_TRNS, KC_NO
),
// Purple layer (blue + red)
[3] = LAYOUT_split_3x5_2(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_NO, KC_VOLU, KC_BRIU, KC_MPRV, KC_CUT,
KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, CAPS, KC_VOLD, KC_BRID, KC_MPLY, KC_PASTE,
KC_F11,KC_F12,KC_NO, KC_NO, KC_NO, KC_NO, KC_MUTE, KC_NO, KC_MNXT, KC_COPY,
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;
}

View file

@ -0,0 +1,6 @@
TRI_LAYER_ENABLE = yes
COMBO_ENABLE = yes
CAPS_WORD_ENABLE = yes
UNICODE_ENABLE = yes
CONSOLE_ENABLE = yes
# UNICODEMAP_ENABLE = yes