[Keymap] Jonavin murphpad keymap update (#14637)
Co-authored-by: Jonavin <=>
This commit is contained in:
		
							parent
							
								
									0338481090
								
							
						
					
					
						commit
						c89f74b929
					
				
					 5 changed files with 216 additions and 34 deletions
				
			
		|  | @ -18,7 +18,6 @@ | |||
| #include "jonavin.h" | ||||
| #include "layout_landscape.h" | ||||
| 
 | ||||
| #define LANDSCAPE_MODE | ||||
| 
 | ||||
| // Defines names for use in layer keycodes and the keymap
 | ||||
| enum layer_names { | ||||
|  | @ -28,6 +27,7 @@ enum layer_names { | |||
|     _RGB | ||||
| }; | ||||
| 
 | ||||
| #ifdef LANDSCAPE_MODE | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
| 
 | ||||
|     [_BASE] = LAYOUT_landscape( | ||||
|  | @ -53,7 +53,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 	[_FN2] = LAYOUT_landscape( | ||||
|         _______,  _______, RESET, | ||||
| 
 | ||||
|         _______,  _______,  _______,  _______, _______,     _______, | ||||
|         _______,  _______,  KC_MPLY,  KC_MPRV, KC_MNXT,     _______, | ||||
|         _______,  _______,  _______,  _______, _______,     _______, | ||||
|         _______,  _______,  _______,  _______, _______,     _______, | ||||
|         _______,  _______,  _______,  _______, _______,     _______, | ||||
|  | @ -91,6 +91,73 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
|                   _______,  _______, _______ | ||||
|    ), | ||||
| }; | ||||
| #endif // LANDSCAPE_MODE
 | ||||
| 
 | ||||
| #ifndef LANDSCAPE_MODE | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|     /* Base */ | ||||
|     [_BASE] = LAYOUT( | ||||
|                   TT(_FN2),TT(_FN3),TT(_FN4),LT(_RGB,KC_PSCR), | ||||
| 				  KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS, | ||||
|                   KC_P7,   KC_P8,   KC_P9,   KC_PPLS, | ||||
|         KC_MUTE,  KC_P4,   KC_P5,   KC_P6,   _______, | ||||
|         TT(_FN1), KC_P1,   KC_P2,   KC_P3,   KC_PENT, | ||||
|         KC_RALT,  KC_P0,   _______, KC_PDOT, _______, | ||||
| 
 | ||||
| 				          TT(_FN3), TT(_FN4), TT(_RGB) | ||||
|     ), | ||||
|     [_FN1] = LAYOUT( | ||||
|                   _______, _______, _______, RESET, | ||||
|                   KC_CALC, _______, _______, _______, | ||||
|                   _______, _______, _______, _______, | ||||
|         ENCFUNC,  KC_TAB,  _______, _______, _______, | ||||
|         _______,  _______, _______, _______, _______, | ||||
|         _______,  KC_BSPC, _______, KC_DEL,  _______, | ||||
| 
 | ||||
|                   _______, _______, _______ | ||||
|     ), | ||||
|     [_FN2] = LAYOUT( | ||||
|                   _______, _______, _______, _______, | ||||
|                   _______, _______, KC_MPLY, KC_MPRV, | ||||
|                   _______, _______, _______, KC_MNXT, | ||||
|         RESET,    _______, _______, _______, _______, | ||||
|         _______,  _______, _______, _______, _______, | ||||
|         _______,  _______, _______, _______, _______, | ||||
| 
 | ||||
|                   _______, _______, _______ | ||||
|     ), | ||||
| 	  [_FN3] = LAYOUT( | ||||
|                   _______, _______, _______, _______, | ||||
|                   _______, _______, _______, _______, | ||||
|                   _______, _______, _______, _______, | ||||
|         _______,  _______, _______, _______, _______, | ||||
|         _______,  _______, _______, _______, _______, | ||||
|         _______,  _______, _______, _______, _______, | ||||
| 
 | ||||
|                   _______, _______, _______ | ||||
|     ), | ||||
| 	[_FN4] = LAYOUT( | ||||
|                   _______, _______, _______, _______, | ||||
|                   _______, _______, _______, _______, | ||||
|                   _______, _______, _______, _______, | ||||
|         _______,  _______, _______, _______, _______, | ||||
|         _______,  _______, _______, _______, _______, | ||||
|         _______,  _______, _______, _______, _______, | ||||
| 
 | ||||
|                   _______, _______, _______ | ||||
|     ), | ||||
|     [_RGB] = LAYOUT( | ||||
|                  _______,  _______, _______, _______, | ||||
|                  _______,  _______, _______, _______, | ||||
|                  RGB_HUD,  RGB_SPI, RGB_HUI, _______, | ||||
|         _______, RGB_RMOD, RGB_TOG, RGB_MOD, _______, | ||||
|         _______, RGB_VAD,  RGB_SPD, RGB_VAI, _______, | ||||
|         _______, RGB_SAD,  _______, RGB_SAI, _______, | ||||
| 
 | ||||
|                  _______,  _______, _______ | ||||
|     ), | ||||
| }; | ||||
| #endif // !LANDSCAPE_MODE
 | ||||
| 
 | ||||
| typedef struct { | ||||
|      char keydesc[6];    // this will be displayed on OLED
 | ||||
|  | @ -99,15 +166,15 @@ typedef struct { | |||
| 
 | ||||
| static const keycodedescType PROGMEM keyselection[] = { | ||||
|     // list of key codes that will be scrolled through by encoder and description
 | ||||
|         {"TASK",    KC_TASK}, | ||||
|         {"INS",     KC_INS}, | ||||
|         {"DEL",     KC_DEL}, | ||||
|         {"PrtSc",   KC_PSCR}, | ||||
|         {"TASK ",   KC_TASK}, | ||||
|         {"PREV ",   KC_MEDIA_PREV_TRACK}, | ||||
|         {"NEXT ",   KC_MEDIA_NEXT_TRACK}, | ||||
|         {"PLAY ",   KC_MEDIA_PLAY_PAUSE}, | ||||
|         {"PrtScm",  KC_PSCR}, | ||||
|         {"ScrLk",   KC_SCLN}, | ||||
|         {"Break",   KC_PAUS}, | ||||
|         {"C-A-D",   KC_CAD},  // Ctrl-Alt-Del
 | ||||
|         {"AltF4",   KC_AF4}, | ||||
|         {"PLAY",    KC_MEDIA_PLAY_PAUSE}, | ||||
|         {"RESET",   RESET},   // firmware flash mode
 | ||||
| }; | ||||
| 
 | ||||
|  | @ -168,7 +235,7 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | |||
|         #endif | ||||
|         uint8_t mods_state = get_mods(); | ||||
|         switch (index) { | ||||
|             case 0:         // This is the only encoder right now, keeping for consistency
 | ||||
|         case 0:   // main primary encoder
 | ||||
|             switch(get_highest_layer(layer_state)){  // special handling per layer
 | ||||
|             case _FN1:  // on Fn layer select what the encoder does when pressed
 | ||||
|                 if (!mods_state) { | ||||
|  | @ -177,6 +244,11 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | |||
|                 } else { | ||||
|                         // continue to default
 | ||||
|                 } | ||||
|             case _RGB: | ||||
|                 if (!mods_state) { | ||||
|                     encoder_action_rgb_hue(clockwise); | ||||
|                     break; | ||||
|                 } | ||||
|             default:   // all other layers
 | ||||
|                 if (mods_state & MOD_BIT(KC_RSFT) ) { // If you are holding R shift, encoder changes layers
 | ||||
|                     encoder_action_layerchange(clockwise); | ||||
|  | @ -190,6 +262,17 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | |||
|                 break; | ||||
|             } | ||||
|             break; | ||||
|         case 1:      // optional secondary encoder
 | ||||
|             switch(get_highest_layer(layer_state)){  // special handling per layer
 | ||||
|             case _RGB: | ||||
|                 if (!mods_state) { | ||||
|                     encoder_action_rgb_mode(clockwise); | ||||
|                     break; | ||||
|                 } | ||||
|             default:   // all other layers
 | ||||
|                 encoder_action_mediatrack(clockwise);   // Otherwise prev/next track
 | ||||
|                 break; | ||||
|             } | ||||
|         } | ||||
|         return true; | ||||
|     } | ||||
|  | @ -287,16 +370,19 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | |||
| 
 | ||||
|     void oled_task_user(void) { | ||||
| 		render_logo(); | ||||
| 		oled_set_cursor(0,6); | ||||
| 		oled_set_cursor(0,5); | ||||
| 
 | ||||
| 		oled_write_ln_P(PSTR("Layer"), false); | ||||
| 		oled_write_ln_P(PSTR("-JV-"), false); | ||||
| 		oled_write_ln_P(PSTR(" "), false); | ||||
| 
 | ||||
|         bool showSelectedKey = false; | ||||
|         switch (get_highest_layer(layer_state)) { | ||||
|             case _BASE: | ||||
|                 oled_write_ln_P(PSTR("Base"), false); | ||||
|                 oled_write_ln_P(PSTR("BASE"), false); | ||||
|                 break; | ||||
|             case _FN1: | ||||
|                 oled_write_ln_P(PSTR("FN 1"), false); | ||||
|                 showSelectedKey = true; | ||||
|                 break; | ||||
|             case _FN2: | ||||
|                 oled_write_ln_P(PSTR("FN 2"), false); | ||||
|  | @ -311,18 +397,26 @@ bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | |||
|                 oled_write_ln_P(PSTR("RGB "), false); | ||||
|                 break; | ||||
|             default: | ||||
|                 oled_write_ln_P(PSTR("Undef"), false); | ||||
|                 oled_write_ln_P(PSTR(" ?? "), false); | ||||
|         } | ||||
|         oled_write_ln_P(PSTR(""), false); | ||||
|         if (showSelectedKey) oled_write_ln(selectedkey_rec.keydesc, false); | ||||
|             else oled_write_ln_P(PSTR("     "), false); | ||||
| 
 | ||||
|         // Host Keyboard LED Status
 | ||||
|         led_t led_state = host_keyboard_led_state(); | ||||
|         oled_write_ln_P(led_state.num_lock ? PSTR("NUM ") : PSTR("    "), false); | ||||
|         oled_write_ln_P(led_state.caps_lock ? PSTR("CAP ") : PSTR("    "), false); | ||||
|         oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR("    "), false); | ||||
|         oled_set_cursor(0,11); | ||||
|         oled_write_ln_P(led_state.num_lock ? PSTR(" NUM") : PSTR("    "), false); | ||||
|         oled_write_ln_P(led_state.caps_lock ? PSTR(" CAP") : PSTR("    "), false); | ||||
|         oled_write_ln_P(led_state.scroll_lock ? PSTR(" SCR") : PSTR("    "), false); | ||||
|     } | ||||
|     #endif // !LANDSCAPE_MODE
 | ||||
| 
 | ||||
|     void suspend_power_down_user(void) {  // shutdown oled when powered down to prevent OLED from showing Mercutio all the time
 | ||||
|       oled_off(); | ||||
|         oled_off(); | ||||
|         rgblight_disable_noeeprom(); | ||||
|     } | ||||
| 
 | ||||
|     void suspend_wakeup_init_user(void) { | ||||
|         rgblight_enable_noeeprom(); | ||||
|     } | ||||
| #endif | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 jonavin
						jonavin