aboutsummaryrefslogtreecommitdiff
path: root/keyboards/gmmk
diff options
context:
space:
mode:
authorjonavin <71780717+Jonavin@users.noreply.github.com>2021-09-28 15:24:12 -0400
committerGitHub <noreply@github.com>2021-09-28 12:24:12 -0700
commit705cd433c22aad00b12183eaa3bada50d90fd97b (patch)
treed529e7d14aca455a8ed494f00ebe4707dac40af6 /keyboards/gmmk
parent724ee240751fdfedf33d75fee10d2b97d9f9e3da (diff)
downloadqmk_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.c37
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/jonavin/readme.md1
-rw-r--r--keyboards/gmmk/pro/ansi/keymaps/jonavin/rules.mk2
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
6TD_LSFT_CAPSLOCK_ENABLE = yes 6TD_LSFT_CAPSLOCK_ENABLE = yes
7IDLE_TIMEOUT_ENABLE = yes 7IDLE_TIMEOUT_ENABLE = yes
8STARTUP_NUMLOCK_ON = yes 8STARTUP_NUMLOCK_ON = yes
9ENCODER_DEFAULTACTIONS_ENABLE = yes 9ENCODER_DEFAULTACTIONS_ENABLE = no
10 10
11COLEMAK_LAYER_ENABLE = yes #Enable Colemak layer / set to no to disable 11COLEMAK_LAYER_ENABLE = yes #Enable Colemak layer / set to no to disable