forked from mfulz_github/qmk_firmware
		
	maxr1998/pulse4k: Move Combo code to keymap level (#16301)
* maxr1998/pulse4k: Move Combo code to keymap level * Reorder code
This commit is contained in:
		
							parent
							
								
									63c310f6fd
								
							
						
					
					
						commit
						2bc4a216df
					
				| @ -21,6 +21,10 @@ enum layers { | ||||
|     DEFAULT | ||||
| }; | ||||
| 
 | ||||
| enum combo_events { | ||||
|     LED_ADJUST | ||||
| }; | ||||
| 
 | ||||
| const uint16_t PROGMEM led_adjust_combo[] = {KC_LEFT, KC_RGHT, COMBO_END}; | ||||
| 
 | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
| @ -29,3 +33,39 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|         KC_LEFT, KC_DOWN, KC_RGHT | ||||
|     ) | ||||
| }; | ||||
| 
 | ||||
| combo_t key_combos[COMBO_COUNT] = { | ||||
|     [LED_ADJUST] = COMBO_ACTION(led_adjust_combo) | ||||
| }; | ||||
| 
 | ||||
| bool led_adjust_active = false; | ||||
| 
 | ||||
| void process_combo_event(uint16_t combo_index, bool pressed) { | ||||
|     if (combo_index == LED_ADJUST) { | ||||
|         led_adjust_active = pressed; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| bool encoder_update_user(uint8_t index, bool clockwise) { | ||||
|     if (index == 0) { | ||||
|         if (led_adjust_active) { | ||||
|             if (clockwise) { | ||||
|                 rgblight_increase_val(); | ||||
|             } else { | ||||
|                 rgblight_decrease_val(); | ||||
|             } | ||||
|             return false; | ||||
|         } | ||||
|     } else if (index == 1) { | ||||
|         if (led_adjust_active) { | ||||
|             if (clockwise) { | ||||
|                 rgblight_increase_hue(); | ||||
|             } else { | ||||
|                 rgblight_decrease_hue(); | ||||
|             } | ||||
|             return false; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     return true; | ||||
| } | ||||
|  | ||||
							
								
								
									
										1
									
								
								keyboards/maxr1998/pulse4k/keymaps/default/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/maxr1998/pulse4k/keymaps/default/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| COMBO_ENABLE = yes | ||||
| @ -21,6 +21,10 @@ enum layers { | ||||
|     DEFAULT | ||||
| }; | ||||
| 
 | ||||
| enum combo_events { | ||||
|     LED_ADJUST | ||||
| }; | ||||
| 
 | ||||
| const uint16_t PROGMEM led_adjust_combo[] = {KC_F22, KC_F24, COMBO_END}; | ||||
| 
 | ||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
| @ -30,6 +34,42 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | ||||
|     ) | ||||
| }; | ||||
| 
 | ||||
| combo_t key_combos[COMBO_COUNT] = { | ||||
|     [LED_ADJUST] = COMBO_ACTION(led_adjust_combo) | ||||
| }; | ||||
| 
 | ||||
| bool led_adjust_active = false; | ||||
| 
 | ||||
| void process_combo_event(uint16_t combo_index, bool pressed) { | ||||
|     if (combo_index == LED_ADJUST) { | ||||
|         led_adjust_active = pressed; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| bool encoder_update_user(uint8_t index, bool clockwise) { | ||||
|     if (index == 0) { | ||||
|         if (led_adjust_active) { | ||||
|             if (clockwise) { | ||||
|                 rgblight_increase_val(); | ||||
|             } else { | ||||
|                 rgblight_decrease_val(); | ||||
|             } | ||||
|             return false; | ||||
|         } | ||||
|     } else if (index == 1) { | ||||
|         if (led_adjust_active) { | ||||
|             if (clockwise) { | ||||
|                 rgblight_increase_hue(); | ||||
|             } else { | ||||
|                 rgblight_decrease_hue(); | ||||
|             } | ||||
|             return false; | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     return true; | ||||
| } | ||||
| 
 | ||||
| void encoder_one_update(bool clockwise) { | ||||
|     tap_code(!clockwise ? KC_F18 : KC_F19); | ||||
| } | ||||
|  | ||||
							
								
								
									
										1
									
								
								keyboards/maxr1998/pulse4k/keymaps/maxr1998/rules.mk
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								keyboards/maxr1998/pulse4k/keymaps/maxr1998/rules.mk
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1 @@ | ||||
| COMBO_ENABLE = yes | ||||
| @ -16,44 +16,14 @@ | ||||
|  */ | ||||
| 
 | ||||
| #include "pulse4k.h" | ||||
| #include "rgblight.h" | ||||
| 
 | ||||
| enum combo_events { | ||||
|     LED_ADJUST | ||||
| }; | ||||
| 
 | ||||
| extern const uint16_t PROGMEM led_adjust_combo[3]; | ||||
| 
 | ||||
| combo_t key_combos[COMBO_COUNT] = { | ||||
|     [LED_ADJUST] = COMBO_ACTION(led_adjust_combo) | ||||
| }; | ||||
| 
 | ||||
| bool led_adjust_active = false; | ||||
| 
 | ||||
| void process_combo_event(uint16_t combo_index, bool pressed) { | ||||
|     if (combo_index == LED_ADJUST) { | ||||
|         led_adjust_active = pressed; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| bool encoder_update_kb(uint8_t index, bool clockwise) { | ||||
|     if (!encoder_update_user(index, clockwise)) return false; | ||||
| 
 | ||||
|     if (index == 0) { | ||||
|         if (led_adjust_active) { | ||||
|             if (clockwise) { | ||||
|                 rgblight_increase_val(); | ||||
|             } else { | ||||
|                 rgblight_decrease_val(); | ||||
|             } | ||||
|         } else encoder_one_update(clockwise); | ||||
|         encoder_one_update(clockwise); | ||||
|     } else if (index == 1) { | ||||
|         if (led_adjust_active) { | ||||
|             if (clockwise) { | ||||
|                 rgblight_increase_hue(); | ||||
|             } else { | ||||
|                 rgblight_decrease_hue(); | ||||
|             } | ||||
|         } else encoder_two_update(clockwise); | ||||
|         encoder_two_update(clockwise); | ||||
|     } | ||||
|     return true; | ||||
| } | ||||
|  | ||||
| @ -13,7 +13,6 @@ ENCODER_ENABLE = yes       # Rotary encoders | ||||
| EXTRAKEY_ENABLE = yes      # Audio control and System control | ||||
| CONSOLE_ENABLE = yes       # Console for debug | ||||
| COMMAND_ENABLE = no        # Commands for debug and configuration | ||||
| COMBO_ENABLE = yes         # Key combo feature | ||||
| NKRO_ENABLE = yes           # Enable N-Key Rollover | ||||
| BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality | ||||
| AUDIO_ENABLE = no          # Audio output | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Ryan
						Ryan