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
6 changed files with 85 additions and 34 deletions
|
@ -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…
Reference in a new issue