~ruther/qmk_firmware

2bc4a216dfbb83a6d2b57da397d370210087cff5 — Ryan 3 years ago 63c310f
maxr1998/pulse4k: Move Combo code to keymap level (#16301)

* maxr1998/pulse4k: Move Combo code to keymap level

* Reorder code
M keyboards/maxr1998/pulse4k/keymaps/default/keymap.c => keyboards/maxr1998/pulse4k/keymaps/default/keymap.c +40 -0
@@ 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;
}

A keyboards/maxr1998/pulse4k/keymaps/default/rules.mk => keyboards/maxr1998/pulse4k/keymaps/default/rules.mk +1 -0
@@ 0,0 1,1 @@
COMBO_ENABLE = yes

M keyboards/maxr1998/pulse4k/keymaps/maxr1998/keymap.c => keyboards/maxr1998/pulse4k/keymaps/maxr1998/keymap.c +40 -0
@@ 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);
}

A keyboards/maxr1998/pulse4k/keymaps/maxr1998/rules.mk => keyboards/maxr1998/pulse4k/keymaps/maxr1998/rules.mk +1 -0
@@ 0,0 1,1 @@
COMBO_ENABLE = yes

M keyboards/maxr1998/pulse4k/pulse4k.c => keyboards/maxr1998/pulse4k/pulse4k.c +3 -33
@@ 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;
}

M keyboards/maxr1998/pulse4k/rules.mk => keyboards/maxr1998/pulse4k/rules.mk +0 -1
@@ 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