aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonavin <71780717+Jonavin@users.noreply.github.com>2021-07-03 04:16:16 -0400
committerGitHub <noreply@github.com>2021-07-03 01:16:16 -0700
commit5878e86c8a028ad3878aeed158b413afe2e3498c (patch)
treeebf85c3283deb9e5848476f4362b108e8ddf4d11
parentfdf71f1aa7c4720b469d0e11ec8169796cdf3930 (diff)
downloadqmk_firmware-5878e86c8a028ad3878aeed158b413afe2e3498c.tar.gz
qmk_firmware-5878e86c8a028ad3878aeed158b413afe2e3498c.zip
[Keymap] Jonavin quefrency keymap add encoder functionality + 2tap Shift CAPSLOCK (#13376)
Co-authored-by: Jonavin <=>
-rw-r--r--keyboards/keebio/quefrency/keymaps/jonavin/config.h2
-rw-r--r--keyboards/keebio/quefrency/keymaps/jonavin/keymap.c54
-rw-r--r--keyboards/keebio/quefrency/keymaps/jonavin/readme.md7
-rw-r--r--keyboards/keebio/quefrency/keymaps/jonavin/rules.mk5
-rw-r--r--keyboards/mechwild/mercutio/keymaps/jonavin/config.h2
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
33enum custom_keycodes { 32enum custom_keycodes {
34 DOUBLEZERO = SAFE_RANGE, 33 DOUBLEZERO = SAFE_RANGE,
35}; 34};
36 35
36// Tap Dance Definitions
37enum custom_tapdance {
38 TD_LSFT_CAPSLOCK,
39};
40
41qk_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
39bool process_record_user(uint16_t keycode, keyrecord_t *record) { 48bool 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
54const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 62const 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
81bool encoder_update_user(uint8_t index, bool clockwise) { 90bool 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![image](https://user-images.githubusercontent.com/71780717/118903429-c52cc800-b8e5-11eb-9c45-3d9815a50123.png) 17![image](https://user-images.githubusercontent.com/71780717/118903429-c52cc800-b8e5-11eb-9c45-3d9815a50123.png)
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 @@
1VIA_ENABLE = yes 1VIA_ENABLE = yes
2CONSOLE_ENABLE = yes 2CONSOLE_ENABLE = no
3LTO_ENABLE = yes 3LTO_ENABLE = yes
4
5MOUSEKEY_ENABLE = no
6TAP_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