diff options
| author | Jonavin <71780717+Jonavin@users.noreply.github.com> | 2021-07-03 04:16:16 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-03 01:16:16 -0700 |
| commit | 5878e86c8a028ad3878aeed158b413afe2e3498c (patch) | |
| tree | ebf85c3283deb9e5848476f4362b108e8ddf4d11 | |
| parent | fdf71f1aa7c4720b469d0e11ec8169796cdf3930 (diff) | |
| download | qmk_firmware-5878e86c8a028ad3878aeed158b413afe2e3498c.tar.gz qmk_firmware-5878e86c8a028ad3878aeed158b413afe2e3498c.zip | |
[Keymap] Jonavin quefrency keymap add encoder functionality + 2tap Shift CAPSLOCK (#13376)
Co-authored-by: Jonavin <=>
5 files changed, 58 insertions, 12 deletions
diff --git a/keyboards/keebio/quefrency/keymaps/jonavin/config.h b/keyboards/keebio/quefrency/keymaps/jonavin/config.h index 0e6f66d50..4d65c137a 100644 --- a/keyboards/keebio/quefrency/keymaps/jonavin/config.h +++ b/keyboards/keebio/quefrency/keymaps/jonavin/config.h | |||
| @@ -35,3 +35,5 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 35 | //Always send Escape if Alt is pressed | 35 | //Always send Escape if Alt is pressed |
| 36 | #define GRAVE_ESC_CTRL_OVERRIDE | 36 | #define GRAVE_ESC_CTRL_OVERRIDE |
| 37 | //Always send Escape if Control is pressed | 37 | //Always send Escape if Control is pressed |
| 38 | |||
| 39 | #define TAPPING_TERM 180 | ||
diff --git a/keyboards/keebio/quefrency/keymaps/jonavin/keymap.c b/keyboards/keebio/quefrency/keymaps/jonavin/keymap.c index 6cea7338d..171b5203e 100644 --- a/keyboards/keebio/quefrency/keymaps/jonavin/keymap.c +++ b/keyboards/keebio/quefrency/keymaps/jonavin/keymap.c | |||
| @@ -29,12 +29,21 @@ enum custom_layers { | |||
| 29 | _MO3, | 29 | _MO3, |
| 30 | }; | 30 | }; |
| 31 | 31 | ||
| 32 | |||
| 33 | enum custom_keycodes { | 32 | enum custom_keycodes { |
| 34 | DOUBLEZERO = SAFE_RANGE, | 33 | DOUBLEZERO = SAFE_RANGE, |
| 35 | }; | 34 | }; |
| 36 | 35 | ||
| 36 | // Tap Dance Definitions | ||
| 37 | enum custom_tapdance { | ||
| 38 | TD_LSFT_CAPSLOCK, | ||
| 39 | }; | ||
| 40 | |||
| 41 | qk_tap_dance_action_t tap_dance_actions[] = { | ||
| 42 | // Tap once for shift, twice for Caps Lock | ||
| 43 | [TD_LSFT_CAPSLOCK] = ACTION_TAP_DANCE_DOUBLE(KC_LSFT, KC_CAPS), | ||
| 44 | }; | ||
| 37 | 45 | ||
| 46 | #define KC_LSFTCAPS TD(TD_LSFT_CAPSLOCK) | ||
| 38 | 47 | ||
| 39 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { | 48 | bool process_record_user(uint16_t keycode, keyrecord_t *record) { |
| 40 | switch (keycode) { | 49 | switch (keycode) { |
| @@ -50,13 +59,12 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) { | |||
| 50 | return true; | 59 | return true; |
| 51 | }; | 60 | }; |
| 52 | 61 | ||
| 53 | |||
| 54 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 62 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 55 | [_BASE] = LAYOUT_65( | 63 | [_BASE] = LAYOUT_65( |
| 56 | KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_INS, | 64 | KC_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_INS, |
| 57 | KC_PSCR, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL, | 65 | KC_PSCR, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL, |
| 58 | TT(_MO2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, | 66 | TT(_MO2), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP, |
| 59 | KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, | 67 | KC_LSFTCAPS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN, |
| 60 | KC_LCTL, KC_LGUI, KC_LALT, LT(_FN1, KC_SPC), KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), | 68 | KC_LCTL, KC_LGUI, KC_LALT, LT(_FN1, KC_SPC), KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT), |
| 61 | [_FN1] = LAYOUT_65( | 69 | [_FN1] = LAYOUT_65( |
| 62 | KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_CALC, KC_NO, | 70 | KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_CALC, KC_NO, |
| @@ -78,19 +86,45 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 78 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), | 86 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS), |
| 79 | }; | 87 | }; |
| 80 | 88 | ||
| 89 | #ifdef ENCODER_ENABLE // Encoder Functionality | ||
| 81 | bool encoder_update_user(uint8_t index, bool clockwise) { | 90 | bool encoder_update_user(uint8_t index, bool clockwise) { |
| 82 | if (index == 0) { | 91 | switch (index) |
| 83 | if (clockwise) { | 92 | { |
| 93 | case 0: // first encoder (Left Macro set) | ||
| 94 | if (clockwise) { | ||
| 84 | tap_code(KC_PGDN); | 95 | tap_code(KC_PGDN); |
| 85 | } else { | 96 | } else { |
| 86 | tap_code(KC_PGUP); | 97 | tap_code(KC_PGUP); |
| 87 | } | 98 | } |
| 88 | } else if (index == 1) { | 99 | |
| 89 | if (clockwise) { | 100 | default: // other encoder (Top right) |
| 90 | tap_code(KC_VOLU); | 101 | if ( clockwise ) { |
| 102 | if (keyboard_report->mods & MOD_BIT(KC_LSFT) ) { // If you are holding L shift, Page up | ||
| 103 | unregister_mods(MOD_BIT(KC_LSFT)); | ||
| 104 | register_code(KC_PGDN); | ||
| 105 | register_mods(MOD_BIT(KC_LSFT)); | ||
| 106 | } else if (keyboard_report->mods & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next word | ||
| 107 | tap_code16(LCTL(KC_RGHT)); | ||
| 108 | } else if (keyboard_report->mods & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next track | ||
| 109 | tap_code(KC_MEDIA_NEXT_TRACK); | ||
| 110 | } else { | ||
| 111 | tap_code(KC_VOLU); // Otherwise it just changes volume | ||
| 112 | } | ||
| 91 | } else { | 113 | } else { |
| 92 | tap_code(KC_VOLD); | 114 | if (keyboard_report->mods & MOD_BIT(KC_LSFT) ) { |
| 115 | unregister_mods(MOD_BIT(KC_LSFT)); | ||
| 116 | register_code(KC_PGUP); | ||
| 117 | register_mods(MOD_BIT(KC_LSFT)); | ||
| 118 | } else if (keyboard_report->mods & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate previous word | ||
| 119 | tap_code16(LCTL(KC_LEFT)); | ||
| 120 | } else if (keyboard_report->mods & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media previous track | ||
| 121 | tap_code(KC_MEDIA_PREV_TRACK); | ||
| 122 | } else { | ||
| 123 | tap_code(KC_VOLD); | ||
| 124 | } | ||
| 93 | } | 125 | } |
| 126 | break; | ||
| 94 | } | 127 | } |
| 95 | return true; | 128 | return true; |
| 96 | } | 129 | } |
| 130 | #endif | ||
diff --git a/keyboards/keebio/quefrency/keymaps/jonavin/readme.md b/keyboards/keebio/quefrency/keymaps/jonavin/readme.md index 325ab1af6..bf009dee9 100644 --- a/keyboards/keebio/quefrency/keymaps/jonavin/readme.md +++ b/keyboards/keebio/quefrency/keymaps/jonavin/readme.md | |||
| @@ -6,7 +6,12 @@ | |||
| 6 | - Layer 2 provides arrows on WASD and additional nav keys + right hand numpad with 00 | 6 | - Layer 2 provides arrows on WASD and additional nav keys + right hand numpad with 00 |
| 7 | - ESC is set to GRAVESC (Esc when pressed, Shift-Esc is ~ and Win-ESC is `), plus handling for Ctrl-Shift-ESC to bring up Task Manager in Windows | 7 | - ESC is set to GRAVESC (Esc when pressed, Shift-Esc is ~ and Win-ESC is `), plus handling for Ctrl-Shift-ESC to bring up Task Manager in Windows |
| 8 | - Layer 2 left spacebar Backspace | 8 | - Layer 2 left spacebar Backspace |
| 9 | 9 | - add double tap of Left Shift to toggle Caps Lock | |
| 10 | - additional encoder functionality | ||
| 11 | - holding L shift, Navigate page up/down | ||
| 12 | - holding Left Ctrl, navigate prev/next word | ||
| 13 | - holding Left Alt, change media prev/next track | ||
| 14 | - default is change volume | ||
| 10 | ## All layers diagram | 15 | ## All layers diagram |
| 11 | 16 | ||
| 12 |  | 17 |  |
diff --git a/keyboards/keebio/quefrency/keymaps/jonavin/rules.mk b/keyboards/keebio/quefrency/keymaps/jonavin/rules.mk index 4b1bcabda..eff3d692e 100644 --- a/keyboards/keebio/quefrency/keymaps/jonavin/rules.mk +++ b/keyboards/keebio/quefrency/keymaps/jonavin/rules.mk | |||
| @@ -1,3 +1,6 @@ | |||
| 1 | VIA_ENABLE = yes | 1 | VIA_ENABLE = yes |
| 2 | CONSOLE_ENABLE = yes | 2 | CONSOLE_ENABLE = no |
| 3 | LTO_ENABLE = yes | 3 | LTO_ENABLE = yes |
| 4 | |||
| 5 | MOUSEKEY_ENABLE = no | ||
| 6 | TAP_DANCE_ENABLE = yes | ||
diff --git a/keyboards/mechwild/mercutio/keymaps/jonavin/config.h b/keyboards/mechwild/mercutio/keymaps/jonavin/config.h index 7272cd4c3..09909e28c 100644 --- a/keyboards/mechwild/mercutio/keymaps/jonavin/config.h +++ b/keyboards/mechwild/mercutio/keymaps/jonavin/config.h | |||
| @@ -28,3 +28,5 @@ | |||
| 28 | //Always send Escape if Alt is pressed | 28 | //Always send Escape if Alt is pressed |
| 29 | #define GRAVE_ESC_CTRL_OVERRIDE | 29 | #define GRAVE_ESC_CTRL_OVERRIDE |
| 30 | //Always send Escape if Control is pressed | 30 | //Always send Escape if Control is pressed |
| 31 | |||
| 32 | #define TAPPING_TERM 180 | ||
