aboutsummaryrefslogtreecommitdiff
path: root/keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c')
-rw-r--r--keyboards/mechwild/murphpad/keymaps/jonavin/keymap.c128
1 files changed, 111 insertions, 17 deletions
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