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 |     DEFAULT | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | enum combo_events { | ||||||
|  |     LED_ADJUST | ||||||
|  | }; | ||||||
|  | 
 | ||||||
| const uint16_t PROGMEM led_adjust_combo[] = {KC_LEFT, KC_RGHT, COMBO_END}; | const uint16_t PROGMEM led_adjust_combo[] = {KC_LEFT, KC_RGHT, COMBO_END}; | ||||||
| 
 | 
 | ||||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 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 |         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 |     DEFAULT | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | enum combo_events { | ||||||
|  |     LED_ADJUST | ||||||
|  | }; | ||||||
|  | 
 | ||||||
| const uint16_t PROGMEM led_adjust_combo[] = {KC_F22, KC_F24, COMBO_END}; | const uint16_t PROGMEM led_adjust_combo[] = {KC_F22, KC_F24, COMBO_END}; | ||||||
| 
 | 
 | ||||||
| const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 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) { | void encoder_one_update(bool clockwise) { | ||||||
|     tap_code(!clockwise ? KC_F18 : KC_F19); |     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 "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) { | bool encoder_update_kb(uint8_t index, bool clockwise) { | ||||||
|     if (!encoder_update_user(index, clockwise)) return false; |     if (!encoder_update_user(index, clockwise)) return false; | ||||||
|  | 
 | ||||||
|     if (index == 0) { |     if (index == 0) { | ||||||
|         if (led_adjust_active) { |         encoder_one_update(clockwise); | ||||||
|             if (clockwise) { |  | ||||||
|                 rgblight_increase_val(); |  | ||||||
|             } else { |  | ||||||
|                 rgblight_decrease_val(); |  | ||||||
|             } |  | ||||||
|         } else encoder_one_update(clockwise); |  | ||||||
|     } else if (index == 1) { |     } else if (index == 1) { | ||||||
|         if (led_adjust_active) { |         encoder_two_update(clockwise); | ||||||
|             if (clockwise) { |  | ||||||
|                 rgblight_increase_hue(); |  | ||||||
|             } else { |  | ||||||
|                 rgblight_decrease_hue(); |  | ||||||
|             } |  | ||||||
|         } else encoder_two_update(clockwise); |  | ||||||
|     } |     } | ||||||
|     return true; |     return true; | ||||||
| } | } | ||||||
|  | |||||||
| @ -13,7 +13,6 @@ ENCODER_ENABLE = yes       # Rotary encoders | |||||||
| EXTRAKEY_ENABLE = yes      # Audio control and System control | EXTRAKEY_ENABLE = yes      # Audio control and System control | ||||||
| CONSOLE_ENABLE = yes       # Console for debug | CONSOLE_ENABLE = yes       # Console for debug | ||||||
| COMMAND_ENABLE = no        # Commands for debug and configuration | COMMAND_ENABLE = no        # Commands for debug and configuration | ||||||
| COMBO_ENABLE = yes         # Key combo feature |  | ||||||
| NKRO_ENABLE = yes           # Enable N-Key Rollover | NKRO_ENABLE = yes           # Enable N-Key Rollover | ||||||
| BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality | BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality | ||||||
| AUDIO_ENABLE = no          # Audio output | AUDIO_ENABLE = no          # Audio output | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Ryan
						Ryan