aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjonavin <71780717+Jonavin@users.noreply.github.com>2021-09-29 12:42:53 -0400
committerGitHub <noreply@github.com>2021-09-29 09:42:53 -0700
commitc89f74b929721d01bf8177aa10c3cd721247a857 (patch)
tree9d74eaa575c4954c2db2b9128ebfd9a1b1bc4523
parent0338481090f4c2330a7fd237416cf66ba2bd4d22 (diff)
downloadqmk_firmware-c89f74b929721d01bf8177aa10c3cd721247a857.tar.gz
qmk_firmware-c89f74b929721d01bf8177aa10c3cd721247a857.zip
[Keymap] Jonavin murphpad keymap update (#14637)
Co-authored-by: Jonavin <=>
-rw-r--r--keyboards/mechwild/murphpad/keymaps/jonavin/config.h3
-rw-r--r--keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c128
-rw-r--r--keyboards/mechwild/murphpad/keymaps/jonavin/readme.md43
-rw-r--r--users/jonavin/jonavin.c64
-rw-r--r--users/jonavin/jonavin.h12
5 files changed, 216 insertions, 34 deletions
diff --git a/keyboards/mechwild/murphpad/keymaps/jonavin/config.h b/keyboards/mechwild/murphpad/keymaps/jonavin/config.h
index 7c1621515..2636ea405 100644
--- a/keyboards/mechwild/murphpad/keymaps/jonavin/config.h
+++ b/keyboards/mechwild/murphpad/keymaps/jonavin/config.h
@@ -21,3 +21,6 @@
21 21
22// Increase layers to 6 for VIA 22// Increase layers to 6 for VIA
23#define DYNAMIC_KEYMAP_LAYER_COUNT 6 23#define DYNAMIC_KEYMAP_LAYER_COUNT 6
24
25// Remove line below for vertical layout
26#define LANDSCAPE_MODE
diff --git a/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c b/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c
index 39e6ac87e..dc03e334b 100644
--- a/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c
+++ b/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c
@@ -18,7 +18,6 @@
18#include "jonavin.h" 18#include "jonavin.h"
19#include "layout_landscape.h" 19#include "layout_landscape.h"
20 20
21#define LANDSCAPE_MODE
22 21
23// Defines names for use in layer keycodes and the keymap 22// Defines names for use in layer keycodes and the keymap
24enum layer_names { 23enum layer_names {
@@ -28,6 +27,7 @@ enum layer_names {
28 _RGB 27 _RGB
29}; 28};
30 29
30#ifdef LANDSCAPE_MODE
31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 31const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
32 32
33 [_BASE] = LAYOUT_landscape( 33 [_BASE] = LAYOUT_landscape(
@@ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
53 [_FN2] = LAYOUT_landscape( 53 [_FN2] = LAYOUT_landscape(
54 _______, _______, RESET, 54 _______, _______, RESET,
55 55
56 _______, _______, _______, _______, _______, _______, 56 _______, _______, KC_MPLY, KC_MPRV, KC_MNXT, _______,
57 _______, _______, _______, _______, _______, _______, 57 _______, _______, _______, _______, _______, _______,
58 _______, _______, _______, _______, _______, _______, 58 _______, _______, _______, _______, _______, _______,
59 _______, _______, _______, _______, _______, _______, 59 _______, _______, _______, _______, _______, _______,
@@ -91,6 +91,73 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
91 _______, _______, _______ 91 _______, _______, _______
92 ), 92 ),
93}; 93};
94#endif // LANDSCAPE_MODE
95
96#ifndef LANDSCAPE_MODE
97const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
98 /* Base */
99 [_BASE] = LAYOUT(
100 TT(_FN2),TT(_FN3),TT(_FN4),LT(_RGB,KC_PSCR),
101 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
102 KC_P7, KC_P8, KC_P9, KC_PPLS,
103 KC_MUTE, KC_P4, KC_P5, KC_P6, _______,
104 TT(_FN1), KC_P1, KC_P2, KC_P3, KC_PENT,
105 KC_RALT, KC_P0, _______, KC_PDOT, _______,
106
107 TT(_FN3), TT(_FN4), TT(_RGB)
108 ),
109 [_FN1] = LAYOUT(
110 _______, _______, _______, RESET,
111 KC_CALC, _______, _______, _______,
112 _______, _______, _______, _______,
113 ENCFUNC, KC_TAB, _______, _______, _______,
114 _______, _______, _______, _______, _______,
115 _______, KC_BSPC, _______, KC_DEL, _______,
116
117 _______, _______, _______
118 ),
119 [_FN2] = LAYOUT(
120 _______, _______, _______, _______,
121 _______, _______, KC_MPLY, KC_MPRV,
122 _______, _______, _______, KC_MNXT,
123 RESET, _______, _______, _______, _______,
124 _______, _______, _______, _______, _______,
125 _______, _______, _______, _______, _______,
126
127 _______, _______, _______
128 ),
129 [_FN3] = LAYOUT(
130 _______, _______, _______, _______,
131 _______, _______, _______, _______,
132 _______, _______, _______, _______,
133 _______, _______, _______, _______, _______,
134 _______, _______, _______, _______, _______,
135 _______, _______, _______, _______, _______,
136
137 _______, _______, _______
138 ),
139 [_FN4] = LAYOUT(
140 _______, _______, _______, _______,
141 _______, _______, _______, _______,
142 _______, _______, _______, _______,
143 _______, _______, _______, _______, _______,
144 _______, _______, _______, _______, _______,
145 _______, _______, _______, _______, _______,
146
147 _______, _______, _______
148 ),
149 [_RGB] = LAYOUT(
150 _______, _______, _______, _______,
151 _______, _______, _______, _______,
152 RGB_HUD, RGB_SPI, RGB_HUI, _______,
153 _______, RGB_RMOD, RGB_TOG, RGB_MOD, _______,
154 _______, RGB_VAD, RGB_SPD, RGB_VAI, _______,
155 _______, RGB_SAD, _______, RGB_SAI, _______,
156
157 _______, _______, _______
158 ),
159};
160#endif // !LANDSCAPE_MODE
94 161
95typedef struct { 162typedef struct {
96 char keydesc[6]; // this will be displayed on OLED 163 char keydesc[6]; // this will be displayed on OLED
@@ -99,15 +166,15 @@ typedef struct {
99 166
100static const keycodedescType PROGMEM keyselection[] = { 167static const keycodedescType PROGMEM keyselection[] = {
101 // list of key codes that will be scrolled through by encoder and description 168 // list of key codes that will be scrolled through by encoder and description
102 {"TASK", KC_TASK}, 169 {"TASK ", KC_TASK},
103 {"INS", KC_INS}, 170 {"PREV ", KC_MEDIA_PREV_TRACK},
104 {"DEL", KC_DEL}, 171 {"NEXT ", KC_MEDIA_NEXT_TRACK},
105 {"PrtSc", KC_PSCR}, 172 {"PLAY ", KC_MEDIA_PLAY_PAUSE},
173 {"PrtScm", KC_PSCR},
106 {"ScrLk", KC_SCLN}, 174 {"ScrLk", KC_SCLN},
107 {"Break", KC_PAUS}, 175 {"Break", KC_PAUS},
108 {"C-A-D", KC_CAD}, // Ctrl-Alt-Del 176 {"C-A-D", KC_CAD}, // Ctrl-Alt-Del
109 {"AltF4", KC_AF4}, 177 {"AltF4", KC_AF4},
110 {"PLAY", KC_MEDIA_PLAY_PAUSE},
111 {"RESET", RESET}, // firmware flash mode 178 {"RESET", RESET}, // firmware flash mode
112}; 179};
113 180
@@ -168,7 +235,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
168 #endif 235 #endif
169 uint8_t mods_state = get_mods(); 236 uint8_t mods_state = get_mods();
170 switch (index) { 237 switch (index) {
171 case 0: // This is the only encoder right now, keeping for consistency 238 case 0: // main primary encoder
172 switch(get_highest_layer(layer_state)){ // special handling per layer 239 switch(get_highest_layer(layer_state)){ // special handling per layer
173 case _FN1: // on Fn layer select what the encoder does when pressed 240 case _FN1: // on Fn layer select what the encoder does when pressed
174 if (!mods_state) { 241 if (!mods_state) {
@@ -177,6 +244,11 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
177 } else { 244 } else {
178 // continue to default 245 // continue to default
179 } 246 }
247 case _RGB:
248 if (!mods_state) {
249 encoder_action_rgb_hue(clockwise);
250 break;
251 }
180 default: // all other layers 252 default: // all other layers
181 if (mods_state & MOD_BIT(KC_RSFT) ) { // If you are holding R shift, encoder changes layers 253 if (mods_state & MOD_BIT(KC_RSFT) ) { // If you are holding R shift, encoder changes layers
182 encoder_action_layerchange(clockwise); 254 encoder_action_layerchange(clockwise);
@@ -190,6 +262,17 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
190 break; 262 break;
191 } 263 }
192 break; 264 break;
265 case 1: // optional secondary encoder
266 switch(get_highest_layer(layer_state)){ // special handling per layer
267 case _RGB:
268 if (!mods_state) {
269 encoder_action_rgb_mode(clockwise);
270 break;
271 }
272 default: // all other layers
273 encoder_action_mediatrack(clockwise); // Otherwise prev/next track
274 break;
275 }
193 } 276 }
194 return true; 277 return true;
195 } 278 }
@@ -287,16 +370,19 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
287 370
288 void oled_task_user(void) { 371 void oled_task_user(void) {
289 render_logo(); 372 render_logo();
290 oled_set_cursor(0,6); 373 oled_set_cursor(0,5);
291 374
292 oled_write_ln_P(PSTR("Layer"), false); 375 oled_write_ln_P(PSTR("-JV-"), false);
376 oled_write_ln_P(PSTR(" "), false);
293 377
378 bool showSelectedKey = false;
294 switch (get_highest_layer(layer_state)) { 379 switch (get_highest_layer(layer_state)) {
295 case _BASE: 380 case _BASE:
296 oled_write_ln_P(PSTR("Base"), false); 381 oled_write_ln_P(PSTR("BASE"), false);
297 break; 382 break;
298 case _FN1: 383 case _FN1:
299 oled_write_ln_P(PSTR("FN 1"), false); 384 oled_write_ln_P(PSTR("FN 1"), false);
385 showSelectedKey = true;
300 break; 386 break;
301 case _FN2: 387 case _FN2:
302 oled_write_ln_P(PSTR("FN 2"), false); 388 oled_write_ln_P(PSTR("FN 2"), false);
@@ -311,18 +397,26 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) {
311 oled_write_ln_P(PSTR("RGB "), false); 397 oled_write_ln_P(PSTR("RGB "), false);
312 break; 398 break;
313 default: 399 default:
314 oled_write_ln_P(PSTR("Undef"), false); 400 oled_write_ln_P(PSTR(" ?? "), false);
315 } 401 }
316 oled_write_ln_P(PSTR(""), false); 402 if (showSelectedKey) oled_write_ln(selectedkey_rec.keydesc, false);
403 else oled_write_ln_P(PSTR(" "), false);
404
317 // Host Keyboard LED Status 405 // Host Keyboard LED Status
318 led_t led_state = host_keyboard_led_state(); 406 led_t led_state = host_keyboard_led_state();
319 oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false); 407 oled_set_cursor(0,11);
320 oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false); 408 oled_write_ln_P(led_state.num_lock ? PSTR(" NUM") : PSTR(" "), false);
321 oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false); 409 oled_write_ln_P(led_state.caps_lock ? PSTR(" CAP") : PSTR(" "), false);
410 oled_write_ln_P(led_state.scroll_lock ? PSTR(" SCR") : PSTR(" "), false);
322 } 411 }
323 #endif // !LANDSCAPE_MODE 412 #endif // !LANDSCAPE_MODE
324 413
325 void suspend_power_down_user(void) { // shutdown oled when powered down to prevent OLED from showing Mercutio all the time 414 void suspend_power_down_user(void) { // shutdown oled when powered down to prevent OLED from showing Mercutio all the time
326 oled_off(); 415 oled_off();
416 rgblight_disable_noeeprom();
417 }
418
419 void suspend_wakeup_init_user(void) {
420 rgblight_enable_noeeprom();
327 } 421 }
328#endif 422#endif
diff --git a/keyboards/mechwild/murphpad/keymaps/jonavin/readme.md b/keyboards/mechwild/murphpad/keymaps/jonavin/readme.md
index 933157063..0e389a5c3 100644
--- a/keyboards/mechwild/murphpad/keymaps/jonavin/readme.md
+++ b/keyboards/mechwild/murphpad/keymaps/jonavin/readme.md
@@ -8,12 +8,12 @@ This allows you to use Murphpad in a horizontal/landscape orientation with extra
8 [_BASE] = LAYOUT_landscape( 8 [_BASE] = LAYOUT_landscape(
9 TT(_FN1), TT(_FN2), KC_MUTE, 9 TT(_FN1), TT(_FN2), KC_MUTE,
10 10
11 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, KC_BSPC, 11 KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, KC_BSPC,
12 KC_TAB, KC_P7, KC_P8, KC_P9, KC_PDOT, KC_RGUI, 12 KC_TAB, KC_P7, KC_P8, KC_P9, KC_PDOT, KC_RGUI,
13 KC_RSFT, KC_P4, KC_P5, KC_P6, KC_COMMA, KC_RCTL, 13 KC_RSFT, KC_P4, KC_P5, KC_P6, KC_COMMA, KC_RCTL,
14 KC_P0, KC_P1, KC_P2, KC_P3, KC_PENT, KC_RALT, 14 KC_P0, KC_P1, KC_P2, KC_P3, KC_PENT, KC_RALT,
15 15
16 _______, _______, _______ 16 _______, _______, _______
17 ), 17 ),
18 18
19NOTE: VIA is enabled, but it will show it in the normal orientation until I build a landscape layout version 19NOTE: VIA is enabled, but it will show it in the normal orientation until I build a landscape layout version
@@ -25,16 +25,16 @@ Special Features
25 25
26 static const keycodedescType PROGMEM keyselection[] = { 26 static const keycodedescType PROGMEM keyselection[] = {
27 // list of key codes that will be scrollled through by encoder and description 27 // list of key codes that will be scrollled through by encoder and description
28 {"TASK", KC_TASK}, 28 {"TASK ", KC_TASK},
29 {"INS", KC_INS}, 29 {"PREV ", KC_MEDIA_PREV_TRACK},
30 {"DEL", KC_DEL}, 30 {"NEXT ", KC_MEDIA_NEXT_TRACK},
31 {"PrtSc", KC_PSCR}, 31 {"PLAY ", KC_MEDIA_PLAY_PAUSE},
32 {"ScrLk", KC_SCLN}, 32 {"PrtScm", KC_PSCR},
33 {"Break", KC_PAUS}, 33 {"ScrLk", KC_SCLN},
34 {"C-A-D", KC_CAD}, // Ctrl-Alt-Del 34 {"Break", KC_PAUS},
35 {"AltF4", KC_AF4}, 35 {"C-A-D", KC_CAD}, // Ctrl-Alt-Del
36 {"PLAY", KC_MEDIA_PLAY_PAUSE}, 36 {"AltF4", KC_AF4},
37 {"RESET", RESET}, // firmware flash mode 37 {"RESET", RESET}, // firmware flash mode
38 }; 38 };
39 39
40 - Additional encoder functionality 40 - Additional encoder functionality
@@ -49,7 +49,7 @@ rules.mk OPTIONS - Active features from userspace
49 - STARTUP_NUMLOCK_ON = yes 49 - STARTUP_NUMLOCK_ON = yes
50 - turns on NUMLOCK by default 50 - turns on NUMLOCK by default
51 51
52DEFAULT MAPPING 52DEFAULT LANDSCAPE MAPPING
53 53
54![image](https://user-images.githubusercontent.com/71780717/131718965-b20afef6-3bc5-49e4-952f-5755a9d6d539.png) 54![image](https://user-images.githubusercontent.com/71780717/131718965-b20afef6-3bc5-49e4-952f-5755a9d6d539.png)
55 55
@@ -59,7 +59,18 @@ FN1 Layer 1
59![image](https://user-images.githubusercontent.com/71780717/131719025-d41cbcd9-80b1-4a0a-abb5-55d878752dc6.png) 59![image](https://user-images.githubusercontent.com/71780717/131719025-d41cbcd9-80b1-4a0a-abb5-55d878752dc6.png)
60 60
61 61
62FN2 Layer 2
63
64![image](https://user-images.githubusercontent.com/71780717/132967003-63268514-2ac3-4069-bca1-6d92992ca403.png)
65
66
62RGB Layer 5 - Use Shift+Encoder to get to RGB layer 5 67RGB Layer 5 - Use Shift+Encoder to get to RGB layer 5
63 68
64![image](https://user-images.githubusercontent.com/71780717/131719492-e2d05a75-3a7a-48ca-94a3-faa3ff891914.png) 69![image](https://user-images.githubusercontent.com/71780717/131719492-e2d05a75-3a7a-48ca-94a3-faa3ff891914.png)
65 70
71--------------
72
73NORMAL / TRADITIONAL NON-LANDSCAPE NUMPAD LAYOUT
74
75![image](https://user-images.githubusercontent.com/71780717/132966975-3b463fb4-059f-42c5-b8b3-a3d35f4a0d6b.png)
76
diff --git a/users/jonavin/jonavin.c b/users/jonavin/jonavin.c
index 6ecadc7b4..f53aa8664 100644
--- a/users/jonavin/jonavin.c
+++ b/users/jonavin/jonavin.c
@@ -160,6 +160,70 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
160 } 160 }
161 } 161 }
162 } 162 }
163
164 #ifdef RGB_MATRIX_ENABLE
165 void encoder_action_rgb_speed(bool clockwise) {
166 if (clockwise)
167 rgb_matrix_increase_speed_noeeprom();
168 else
169 rgb_matrix_decrease_speed_noeeprom();
170 }
171 void encoder_action_rgb_hue(bool clockwise) {
172 if (clockwise)
173 rgb_matrix_increase_hue_noeeprom();
174 else
175 rgb_matrix_decrease_hue_noeeprom();
176 }
177 void encoder_action_rgb_saturation(bool clockwise) {
178 if (clockwise)
179 rgb_matrix_increase_sat_noeeprom();
180 else
181 rgb_matrix_decrease_sat_noeeprom();
182 }
183 void encoder_action_rgb_brightness(bool clockwise) {
184 if (clockwise)
185 rgb_matrix_increase_val_noeeprom();
186 else
187 rgb_matrix_decrease_val_noeeprom();
188 }
189 void encoder_action_rgb_mode(bool clockwise) {
190 if (clockwise)
191 rgb_matrix_step_noeeprom();
192 else
193 rgb_matrix_step_reverse_noeeprom();
194 }
195 #elif defined(RGBLIGHT_ENABLE)
196 void encoder_action_rgb_speed(bool clockwise) {
197 if (clockwise)
198 rgblight_increase_speed_noeeprom();
199 else
200 rgblight_decrease_speed_noeeprom();
201 }
202 void encoder_action_rgb_hue(bool clockwise) {
203 if (clockwise)
204 rgblight_increase_hue_noeeprom();
205 else
206 rgblight_decrease_hue_noeeprom();
207 }
208 void encoder_action_rgb_saturation(bool clockwise) {
209 if (clockwise)
210 rgblight_increase_sat_noeeprom();
211 else
212 rgblight_decrease_sat_noeeprom();
213 }
214 void encoder_action_rgb_brightness(bool clockwise) {
215 if (clockwise)
216 rgblight_increase_val_noeeprom();
217 else
218 rgblight_decrease_val_noeeprom();
219 }
220 void encoder_action_rgb_mode(bool clockwise) {
221 if (clockwise)
222 rgblight_step_noeeprom();
223 else
224 rgblight_step_reverse_noeeprom();
225 }
226 #endif // RGB_MATRIX_ENABLE || RGBLIGHT_ENABLE
163#endif // ENCODER_ENABLE 227#endif // ENCODER_ENABLE
164 228
165#if defined(ENCODER_ENABLE) && defined(ENCODER_DEFAULTACTIONS_ENABLE) // Encoder Functionality 229#if defined(ENCODER_ENABLE) && defined(ENCODER_DEFAULTACTIONS_ENABLE) // Encoder Functionality
diff --git a/users/jonavin/jonavin.h b/users/jonavin/jonavin.h
index 316483940..efe0301af 100644
--- a/users/jonavin/jonavin.h
+++ b/users/jonavin/jonavin.h
@@ -36,7 +36,9 @@ enum custom_user_keycodes {
36 KC_WINLCK, //Toggles Win key on and off 36 KC_WINLCK, //Toggles Win key on and off
37 RGB_TOI, // Timeout idle time up 37 RGB_TOI, // Timeout idle time up
38 RGB_TOD, // Timeout idle time down 38 RGB_TOD, // Timeout idle time down
39 RGB_NITE // Turns off all rgb but allow rgb indicators to work 39 RGB_NITE, // Turns off all rgb but allow rgb indicators to work
40
41 NEW_SAFE_RANGE // new safe range for keymap level custom keycodes
40}; 42};
41 43
42#define KC_CAD LALT(LCTL(KC_DEL)) 44#define KC_CAD LALT(LCTL(KC_DEL))
@@ -67,6 +69,14 @@ enum custom_user_keycodes {
67 69
68 uint8_t get_selected_layer(void); 70 uint8_t get_selected_layer(void);
69 void encoder_action_layerchange(bool clockwise); 71 void encoder_action_layerchange(bool clockwise);
72
73 #if defined(RGB_MATRIX_ENABLE) || defined(RGBLIGHT_ENABLE)
74 void encoder_action_rgb_speed(bool clockwise);
75 void encoder_action_rgb_hue(bool clockwise);
76 void encoder_action_rgb_saturation(bool clockwise);
77 void encoder_action_rgb_brightness(bool clockwise);
78 void encoder_action_rgb_mode(bool clockwise);
79 #endif // RGB_MATRIX_ENABLE / RGBLIGHT_ENABLE
70#endif // ENCODER_ENABLE 80#endif // ENCODER_ENABLE
71 81
72 82