Added info.json for mt980 keyboard and fixes to walker keymap (#5391)
* Added info.json and minor fixes to walker keymap * Fix url * Update keyboards/mt980/info.json Co-Authored-By: walkerstop <walkerstop@gmail.com> * Update keyboards/mt980/info.json Co-Authored-By: walkerstop <walkerstop@gmail.com> * Update keyboards/mt980/info.json Co-Authored-By: walkerstop <walkerstop@gmail.com> * Update keyboards/mt980/info.json Co-Authored-By: walkerstop <walkerstop@gmail.com> * Update keyboards/mt980/info.json Co-Authored-By: walkerstop <walkerstop@gmail.com> * Update keyboards/mt980/info.json Co-Authored-By: walkerstop <walkerstop@gmail.com> * Update keyboards/mt980/info.json Co-Authored-By: walkerstop <walkerstop@gmail.com> * Fix user calling keymap functions * cancel oneshot layer on KC_TRNS * Fix to oneshot layer handling * Fix oneshot handling of reset * Move bootmagic key to Esc where it normally resides * Remove deprecated function * Treat shift-numlock as shift-insert in Walker layer
This commit is contained in:
		
							parent
							
								
									f9c5b80aed
								
							
						
					
					
						commit
						c3b4f65c64
					
				
					 4 changed files with 171 additions and 12 deletions
				
			
		|  | @ -99,35 +99,68 @@ void led_set_keymap(uint8_t usb_led) { | |||
| } | ||||
| 
 | ||||
| bool process_record_keymap(uint16_t keycode, keyrecord_t *record) { | ||||
| 
 | ||||
|   switch (keycode) { | ||||
|     case KC_TRNS: | ||||
|     case KC_NO: | ||||
|       /* Always cancel one-shot layer when another key gets pressed */ | ||||
|       if (record->event.pressed && is_oneshot_layer_active()) | ||||
|       clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); | ||||
|       return true; | ||||
|     case RESET: | ||||
|       /* Don't allow reset from oneshot layer state */ | ||||
|       if (record->event.pressed && is_oneshot_layer_active()) { | ||||
|         clear_oneshot_layer_state(ONESHOT_OTHER_KEY_PRESSED); | ||||
|         return false; | ||||
|       } | ||||
|       return true; | ||||
|     case KC_PPLS: | ||||
|       if (!numlock_on) { | ||||
|         if (get_oneshot_layer() == 1 || layer_state & 0x2) { | ||||
|           register_code(KC_HOME); | ||||
|           unregister_code(KC_HOME); | ||||
|         if (is_oneshot_layer_active() || layer_state & 0x2) { | ||||
|           if (record->event.pressed) | ||||
|             register_code(KC_HOME); | ||||
|           else | ||||
|             unregister_code(KC_HOME); | ||||
|           clear_oneshot_layer_state(ONESHOT_START); | ||||
|         } | ||||
|         else { | ||||
|           register_code(KC_PGUP);   | ||||
|           unregister_code(KC_PGUP);   | ||||
|           if (record->event.pressed) | ||||
|             register_code(KC_PGUP); | ||||
|           else | ||||
|             unregister_code(KC_PGUP); | ||||
|         } | ||||
|         return false; | ||||
|       } | ||||
|       return true; | ||||
|     case KC_PENT: | ||||
|       if (!numlock_on) { | ||||
|         if (get_oneshot_layer() == 1 || layer_state & 0x2) { | ||||
|           register_code(KC_END); | ||||
|           unregister_code(KC_END); | ||||
|         if (is_oneshot_layer_active() || layer_state & 0x2) { | ||||
|           if (record->event.pressed) | ||||
|             register_code(KC_END); | ||||
|           else | ||||
|             unregister_code(KC_END); | ||||
|           clear_oneshot_layer_state(ONESHOT_START); | ||||
|         } | ||||
|         else { | ||||
|           register_code(KC_PGDN);   | ||||
|           unregister_code(KC_PGDN);   | ||||
|           if (record->event.pressed) | ||||
|             register_code(KC_PGDN); | ||||
|           else | ||||
|             unregister_code(KC_PGDN); | ||||
|         } | ||||
|         return false; | ||||
|       } | ||||
|       return true; | ||||
|     case KC_NLCK: | ||||
|       /* Shift + NumLock will be treated as shift-Insert */ | ||||
|       if ((keyboard_report->mods & MOD_BIT (KC_LSFT)) || (keyboard_report->mods & MOD_BIT (KC_RSFT))) { | ||||
|         if (record->event.pressed) { | ||||
|           register_code(KC_INS); | ||||
|           unregister_code(KC_INS); | ||||
|         } | ||||
|         return false; | ||||
|       } | ||||
|       else | ||||
|         return true; | ||||
|     default: | ||||
|       return true; | ||||
|   } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 walkerstop
						walkerstop