diff options
author | jonavin <71780717+Jonavin@users.noreply.github.com> | 2021-09-28 15:24:12 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-28 12:24:12 -0700 |
commit | 705cd433c22aad00b12183eaa3bada50d90fd97b (patch) | |
tree | d529e7d14aca455a8ed494f00ebe4707dac40af6 /keyboards/gmmk | |
parent | 724ee240751fdfedf33d75fee10d2b97d9f9e3da (diff) | |
download | qmk_firmware-705cd433c22aad00b12183eaa3bada50d90fd97b.tar.gz qmk_firmware-705cd433c22aad00b12183eaa3bada50d90fd97b.zip |
[Keymap] fix NKRO - switch to get_mods() and refactor encoder action code (#14278)
Co-authored-by: Jonavin <=>
Diffstat (limited to 'keyboards/gmmk')
-rw-r--r-- | keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c | 37 | ||||
-rw-r--r-- | keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md | 1 | ||||
-rw-r--r-- | keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk | 2 |
3 files changed, 39 insertions, 1 deletions
diff --git a/keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c b/keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c index 20a786feb..f37abfac3 100644 --- a/keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c +++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/keymap.c | |||
@@ -78,6 +78,43 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
78 | #endif // COLEMAK_LAYER_ENABLE | 78 | #endif // COLEMAK_LAYER_ENABLE |
79 | }; | 79 | }; |
80 | 80 | ||
81 | #if defined(ENCODER_ENABLE) && !defined(ENCODER_DEFAULTACTIONS_ENABLE) // Encoder Functionality when not using userspace defaults | ||
82 | void encoder_action_rgbhue(bool clockwise) { | ||
83 | if (clockwise) | ||
84 | rgblight_increase_hue_noeeprom(); | ||
85 | else | ||
86 | rgblight_decrease_hue_noeeprom(); | ||
87 | } | ||
88 | |||
89 | bool encoder_update_user(uint8_t index, bool clockwise) { | ||
90 | uint8_t mods_state = get_mods(); | ||
91 | if (mods_state & MOD_BIT(KC_LSFT) ) { // If you are holding L shift, encoder changes layers | ||
92 | encoder_action_layerchange(clockwise); | ||
93 | } else if (mods_state & MOD_BIT(KC_RSFT) ) { // If you are holding R shift, Page up/dn | ||
94 | unregister_mods(MOD_BIT(KC_RSFT)); | ||
95 | encoder_action_navpage(clockwise); | ||
96 | register_mods(MOD_BIT(KC_RSFT)); | ||
97 | } else if (mods_state & MOD_BIT(KC_LCTL)) { // if holding Left Ctrl, navigate next/prev word | ||
98 | encoder_action_navword(clockwise); | ||
99 | } else if (mods_state & MOD_BIT(KC_RCTL)) { // if holding Right Ctrl, change rgb hue/colour | ||
100 | encoder_action_rgbhue(clockwise); | ||
101 | } else if (mods_state & MOD_BIT(KC_LALT)) { // if holding Left Alt, change media next/prev track | ||
102 | encoder_action_mediatrack(clockwise); | ||
103 | } else { | ||
104 | switch(get_highest_layer(layer_state)) { | ||
105 | case _FN1: | ||
106 | #ifdef IDLE_TIMEOUT_ENABLE | ||
107 | timeout_update_threshold(clockwise); | ||
108 | #endif | ||
109 | break; | ||
110 | default: | ||
111 | encoder_action_volume(clockwise); // Otherwise it just changes volume | ||
112 | break; | ||
113 | } | ||
114 | } | ||
115 | return true; | ||
116 | } | ||
117 | #endif // ENCODER_ENABLE && !ENCODER_DEFAULTACTIONS_ENABLE | ||
81 | 118 | ||
82 | #ifdef RGB_MATRIX_ENABLE | 119 | #ifdef RGB_MATRIX_ENABLE |
83 | // Capslock, Scroll lock and Numlock indicator on Left side lights. | 120 | // Capslock, Scroll lock and Numlock indicator on Left side lights. |
diff --git a/keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md b/keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md index a6482baa5..2aa910e0c 100644 --- a/keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md +++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md | |||
@@ -12,6 +12,7 @@ | |||
12 | - holding Left shift, change layers | 12 | - holding Left shift, change layers |
13 | - holding right shift, Navigate page up/down | 13 | - holding right shift, Navigate page up/down |
14 | - holding Left Ctrl, navigate prev/next word | 14 | - holding Left Ctrl, navigate prev/next word |
15 | - holding Right Ctrl, changes RGB hue/colour | ||
15 | - holding Left Alt, change media prev/next track | 16 | - holding Left Alt, change media prev/next track |
16 | - default is change volume | 17 | - default is change volume |
17 | 18 | ||
diff --git a/keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk b/keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk index b06ae1b6a..81b84eea7 100644 --- a/keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk +++ b/keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk | |||
@@ -6,6 +6,6 @@ BOOTMAGIC_ENABLE = lite # Enable Bootmagic Lite | |||
6 | TD_LSFT_CAPSLOCK_ENABLE = yes | 6 | TD_LSFT_CAPSLOCK_ENABLE = yes |
7 | IDLE_TIMEOUT_ENABLE = yes | 7 | IDLE_TIMEOUT_ENABLE = yes |
8 | STARTUP_NUMLOCK_ON = yes | 8 | STARTUP_NUMLOCK_ON = yes |
9 | ENCODER_DEFAULTACTIONS_ENABLE = yes | 9 | ENCODER_DEFAULTACTIONS_ENABLE = no |
10 | 10 | ||
11 | COLEMAK_LAYER_ENABLE = yes #Enable Colemak layer / set to no to disable | 11 | COLEMAK_LAYER_ENABLE = yes #Enable Colemak layer / set to no to disable |