diff --git a/img/layers.kra b/img/layers.kra index ab5c0b8..ed49714 100755 Binary files a/img/layers.kra and b/img/layers.kra differ diff --git a/img/layers.png b/img/layers.png index 85c8c77..dc2f080 100644 Binary files a/img/layers.png and b/img/layers.png differ diff --git a/qmk/config.h b/qmk/config.h index 347a855..6ff253e 100644 --- a/qmk/config.h +++ b/qmk/config.h @@ -35,3 +35,59 @@ along with this program. If not, see . // #define LANG_CHANGE_DEFAULT LANG_CHANGE_WIN_SPACE #define RGBLIGHT_LAYERS + + + +// Holding mouse movement keys moves the cursor at constant speeds +#define MK_3_SPEED +// The chosen speed is only active while you hold the respective key. When the key is raised, mouse keys returns to the unmodified speed. +// Momentary: KC_ACL0 < KC_ACL1 < unmodified < KC_ACL2 +// #define MK_MOMENTARY_ACCEL + +// Cursor offset per movement (unmodified). Default: 16 +// #define MK_C_OFFSET_UNMOD 16 + +// Time between cursor movements (unmodified). Default: 16 +// #define MK_C_INTERVAL_UNMOD 16 + +// Cursor offset per movement (KC_ACL0). Default: 1 +// #define MK_C_OFFSET_0 1 + +// Time between cursor movements (KC_ACL0). Default: 32 +// #define MK_C_INTERVAL_0 32 + +// Cursor offset per movement (KC_ACL1). Default: 4 +// #define MK_C_OFFSET_1 4 + +// Time between cursor movements (KC_ACL1). Default: 16 +// #define MK_C_INTERVAL_1 16 + +// Cursor offset per movement (KC_ACL2). Default: 32 +// #define MK_C_OFFSET_2 32 + +// Time between cursor movements (KC_ACL2). Default: 16 +// #define MK_C_INTERVAL_2 16 + +// Scroll steps per scroll action (unmodified). Default: 1 +// #define MK_W_OFFSET_UNMOD 1 + +// Time between scroll steps (unmodified). Default: 40 +// #define MK_W_INTERVAL_UNMOD 40 + +// Scroll steps per scroll action (KC_ACL0). Default: 1 +// #define MK_W_OFFSET_0 1 + +// Time between scroll steps (KC_ACL0). Default: 360 +// #define MK_W_INTERVAL_0 360 + +// Scroll steps per scroll action (KC_ACL1). Default: 1 +// #define MK_W_OFFSET_1 1 + +// Time between scroll steps (KC_ACL1). Default: 120 +// #define MK_W_INTERVAL_1 120 + +// Scroll steps per scroll action (KC_ACL2). Default: 1 +// #define MK_W_OFFSET_2 1 + +// Time between scroll steps (KC_ACL2). Default: 20 +// #define MK_W_INTERVAL_2 20 diff --git a/qmk/keymap.c b/qmk/keymap.c index 3cd8df6..64fe68d 100644 --- a/qmk/keymap.c +++ b/qmk/keymap.c @@ -35,11 +35,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [L_ENG] = LAYOUT( //,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------. - KC_ESC, KC_F, KC_L, KC_H, KC_V, KC_Z, KC_Q, KC_W, KC_U, KC_O, KC_Y, DF(L_GAME), + KC_ESC, KC_F, XXXXXXX, KC_X, KC_Y, DF(L_GAME), KC_G, KC_D, KC_L, KC_K, KC_Z, CW_TOGG, //|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------| - KC_LWIN, KC_S, KC_R, KC_N, KC_T, KC_K, KC_C, KC_D, KC_E, KC_A, KC_I, XXXXXXX, + KC_LWIN, LWIN_T(KC_C),ALT_T(KC_E),CTL_T(KC_O),SFT_T(KC_A), XXXXXXX, KC_B, SFT_T(KC_T),CTL_T(KC_N),ALT_T(KC_V),LWIN_T(KC_S),ONCE_SHIFT, //|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------| - XXXXXXX, KC_X, XXXXXXX, KC_B, KC_M, KC_J, KC_P, KC_G, XXXXXXX, XXXXXXX, XXXXXXX, LA_CHNG, + XXXXXXX, KC_W, KC_Q, KC_U, KC_I, XXXXXXX, KC_J, KC_M, KC_R, KC_P, KC_H, LA_CHNG, //|-----------+-----------+-----------+-----------+-----------+-----------+-----------||-----------+-----------+-----------+-----------+-----------+-----------+-----------| LT(L_MEDIA, KC_ENT), LT(L_MOUSE, KC_BSPC), MO(L_NAV), MO(L_SYM), LT(L_FUN, KC_SPC), MO(L_NUM) //`+--------------------+--------------------+--------------------||--------------------+--------------------+--------------------+' @@ -47,11 +47,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [L_RU] = LAYOUT( //,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------. - KC_ESC, KC_A, KC_QUOT, KC_Z, KC_S, KC_RBRC, KC_Q, KC_COMM, KC_K, KC_R, KC_W, KC_SCLN, + KC_ESC, KC_A, KC_QUOT, KC_Z, KC_S, KC_RBRC, KC_U, KC_L, KC_K, KC_R, KC_P, KC_W, //|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------| - KC_O, KC_C, KC_T, KC_J, KC_F, KC_M, KC_L, KC_N, KC_Y, KC_D, KC_P, KC_X, + KC_O, LWIN_T(KC_C),ALT_T(KC_T),CTL_T(KC_J),SFT_T(KC_F), KC_M, KC_COMM, SFT_T(KC_N),CTL_T(KC_Y),ALT_T(KC_D),LWIN_T(KC_X), KC_SCLN, //|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------| - LA_CHNG, KC_I, KC_DOT, KC_E, KC_B, KC_GRV, KC_U, KC_V, KC_H, KC_G, KC_LBRC, XXXXXXX, + LA_CHNG, KC_I, KC_DOT, KC_E, KC_B, KC_GRV, KC_Q, KC_V, KC_H, KC_G, KC_LBRC, XXXXXXX, //|-----------+-----------+-----------+-----------+-----------+-----------+-----------||-----------+-----------+-----------+-----------+-----------+-----------+-----------| LT(L_MEDIA, KC_ENT), LT(L_MOUSE, KC_BSPC), MO(L_NAV), MO(L_SYM), LT(L_FUN, KC_SPC), MO(L_NUM) //`+--------------------+--------------------+--------------------||--------------------+--------------------+--------------------+' @@ -71,7 +71,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [L_NAV] = LAYOUT( //,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------. - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, C(KC_Y), C(KC_V), C(KC_C), C(KC_X), C(KC_Z), C(KC_S), + XXXXXXX, XXXXXXX, XXXXXXX, C(KC_W), XXXXXXX, XXXXXXX, C(KC_Y), C(KC_V), C(KC_C), C(KC_X), C(KC_Z), C(KC_S), //|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------| XXXXXXX, KC_LWIN, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TAB, //|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------| @@ -83,11 +83,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [L_MOUSE] = LAYOUT( //,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------. - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ACL0, C(KC_Y), C(KC_V), C(KC_C), C(KC_X), C(KC_Z), C(KC_S), + XXXXXXX, KC_BTN5, KC_BTN1, KC_BTN3, KC_BTN2, XXXXXXX, C(KC_Y), C(KC_V), C(KC_C), C(KC_X), C(KC_Z), C(KC_S), //|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------| - XXXXXXX, KC_LWIN, KC_LALT, KC_LCTL, KC_LSFT, KC_ACL1, KC_BTN5, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, XXXXXXX, + XXXXXXX, KC_LWIN, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_TAB, //|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_ACL2, KC_BTN4, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, XXXXXXX, + XXXXXXX, KC_BTN4, KC_ACL2, KC_ACL1, KC_ACL0, XXXXXXX, KC_INS, KC_WH_L, KC_WH_D, KC_WH_U, KC_WH_R, KC_DEL, //|-----------+-----------+-----------+-----------+-----------+-----------+-----------||-----------+-----------+-----------+-----------+-----------+-----------+-----------| XXXXXXX, XXXXXXX, XXXXXXX, KC_BTN1, KC_BTN3, KC_BTN2 //`+-----------+-----------+-----------||-----------+-----------+-----------+' @@ -95,11 +95,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { [L_SYM] = LAYOUT( //,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------. - XXXXXXX, EN_AT, EN_HASH, EN_DLR, AG_PERC, EN_CIRC, EN_AMPR, AG_ASTR, AG_MINS, AG_EQL, AG_PLUS, XXXXXXX, + XXXXXXX, EN_AT, EN_HASH, ONCE_SHIFT, AG_DOT, EN_CIRC, EN_AMPR, AG_ASTR, AG_MINS, AG_EQL, AG_PLUS, XXXXXXX, //|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------| - AG_COMM, AG_EXCL, AG_QUES, COMMA_SPACE, SMART_DOT, AG_DOT, AG_BSLS, AG_LPRN, EN_LCBR, EN_LBRC, EN_LT, EN_GRV, + AG_COMM, AG_EXCL, AG_QUES, COMMA_SPACE, SMART_DOT, AG_PERC, EN_PIPE, AG_LPRN, EN_LCBR, EN_LBRC, EN_LT, EN_GRV, //|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------| - XXXXXXX, EN_SLSH, RU_NUME, AG_DQUO, EN_QUOT, ONCE_SHIFT, EN_PIPE, AG_RPRN, EN_RCBR, EN_RBRC, EN_GT, EN_TILD, + CW_TOGG, EN_SLSH, RU_NUME, AG_DQUO, EN_QUOT, EN_DLR, AG_BSLS, AG_RPRN, EN_RCBR, EN_RBRC, EN_GT, EN_TILD, //|-----------+-----------+-----------+-----------+-----------+-----------+-----------||-----------+-----------+-----------+-----------+-----------+-----------+-----------| AG_UNDS, AG_COLN, AG_SCLN, XXXXXXX, XXXXXXX, XXXXXXX //`+-----------+-----------+-----------||-----------+-----------+-----------+' @@ -109,21 +109,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------. XXXXXXX, XXXXXXX, AG_1, AG_2, AG_3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------| - XXXXXXX, AG_0, AG_4, AG_5, AG_6, KC_PSCR, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LWIN, XXXXXXX, + XXXXXXX, AG_0, AG_4, AG_5, AG_6, XXXXXXX, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LWIN, XXXXXXX, //|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------| - XXXXXXX, XXXXXXX, AG_7, AG_8, AG_9, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_PSCR, AG_7, AG_8, AG_9, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|-----------+-----------+-----------+-----------+-----------+-----------+-----------||-----------+-----------+-----------+-----------+-----------+-----------+-----------| - XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX + KC_ENT, KC_BSPC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX //`+-----------+-----------+-----------||-----------+-----------+-----------+' ), [L_FUN] = LAYOUT( //,-----------------------------------------------------------------------. ,-----------------------------------------------------------------------. - XXXXXXX, KC_F1, KC_F2, KC_F3, KC_F4, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_F10, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------| - XXXXXXX, KC_F5, KC_F6, KC_F7, KC_F8, XXXXXXX, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LWIN, XXXXXXX, + XXXXXXX, KC_F11, KC_F4, KC_F5, KC_F6, XXXXXXX, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LWIN, XXXXXXX, //|-----------+-----------+-----------+-----------+-----------+-----------| |-----------+-----------+-----------+-----------+-----------+-----------| - XXXXXXX, KC_F9, KC_F10, KC_F11, KC_F12, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + XXXXXXX, KC_F12, KC_F7, KC_F8, KC_F9, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, //|-----------+-----------+-----------+-----------+-----------+-----------+-----------||-----------+-----------+-----------+-----------+-----------+-----------+-----------| XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX //`+-----------+-----------+-----------||-----------+-----------+-----------+' diff --git a/qmk/rules.mk b/qmk/rules.mk index 8f8c8ab..9419aa2 100644 --- a/qmk/rules.mk +++ b/qmk/rules.mk @@ -9,7 +9,7 @@ EXTRAKEY_ENABLE = yes NKRO_ENABLE = yes # This allows the keyboard to tell the host OS that up to 248 keys are held down at once (default without NKRO is 6). NKRO is off by default, even if NKRO_ENABLE is set. NKRO can be forced by adding #define FORCE_NKRO to your config.h or by binding MAGIC_TOGGLE_NKRO to a key and then hitting the key. - # If this doesn’t work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work + # If this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work RGBLIGHT_ENABLE = yes # Enable keyboard underlight functionality @@ -35,11 +35,14 @@ OLED_ENABLE = no COMBO_ENABLE = no # Key combo feature. https://docs.qmk.fm/#/feature_combo +CAPS_WORD_ENABLE = yes + # Toggles Caps Word https://docs.qmk.fm/#/feature_caps_word + # LEADER_ENABLE = yes - # If you’re a Vim user, you probably know what a Leader key is. In contrast to Combos, the Leader key allows you to hit a sequence of up to five keys instead, which triggers some custom functionality once complete. https://docs.qmk.fm/#/feature_leader_key + # If you're a Vim user, you probably know what a Leader key is. In contrast to Combos, the Leader key allows you to hit a sequence of up to five keys instead, which triggers some custom functionality once complete. https://docs.qmk.fm/#/feature_leader_key # UNICODE_ENABLE = yes - # This allows you to send Unicode characters using UC() in your keymap. Code points up to 0x7FFF are supported. This covers characters for most modern languages, as well as symbols, but it doesn’t cover emoji. + # This allows you to send Unicode characters using UC() in your keymap. Code points up to 0x7FFF are supported. This covers characters for most modern languages, as well as symbols, but it doesn't cover emoji. # UNICODEMAP_ENABLE = yes # This allows you to send Unicode characters using UM() in your keymap. You will need to maintain a mapping table in your keymap file. All possible code points (up to 0x10FFFF) are supported. @@ -90,7 +93,7 @@ COMBO_ENABLE = no # Disables usb suspend check after keyboard startup. Usually the keyboard waits for the host to wake it up before any tasks are performed. This is useful for split keyboards as one half will not get a wakeup call but must send commands to the master. # SPLIT_KEYBOARD = ? - # This enables split keyboard support (dual MCU like the let’s split and bakingpy’s boards) and includes all necessary files located at quantum/split_common + # This enables split keyboard support (dual MCU like the let's split and bakingpy's boards) and includes all necessary files located at quantum/split_common # SPLIT_TRANSPORT = ? # As there is no standard split communication driver for ARM-based split keyboards yet, SPLIT_TRANSPORT = custom must be used for these. It will prevent the standard split keyboard communication code (which is AVR-specific) from being included, allowing a custom implementation to be used.