Browse Source

maxr1998/pulse4k: Move Combo code to keymap level (#16301)

* maxr1998/pulse4k: Move Combo code to keymap level

* Reorder code
pull/16314/head
Ryan 2 years ago
committed by GitHub
parent
commit
2bc4a216df
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 85 additions and 34 deletions
  1. +40
    -0
      keyboards/maxr1998/pulse4k/keymaps/default/keymap.c
  2. +1
    -0
      keyboards/maxr1998/pulse4k/keymaps/default/rules.mk
  3. +40
    -0
      keyboards/maxr1998/pulse4k/keymaps/maxr1998/keymap.c
  4. +1
    -0
      keyboards/maxr1998/pulse4k/keymaps/maxr1998/rules.mk
  5. +3
    -33
      keyboards/maxr1998/pulse4k/pulse4k.c
  6. +0
    -1
      keyboards/maxr1998/pulse4k/rules.mk

+ 40
- 0
keyboards/maxr1998/pulse4k/keymaps/default/keymap.c View File

@ -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
- 0
keyboards/maxr1998/pulse4k/keymaps/default/rules.mk View File

@ -0,0 +1 @@
COMBO_ENABLE = yes

+ 40
- 0
keyboards/maxr1998/pulse4k/keymaps/maxr1998/keymap.c View File

@ -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
- 0
keyboards/maxr1998/pulse4k/keymaps/maxr1998/rules.mk View File

@ -0,0 +1 @@
COMBO_ENABLE = yes

+ 3
- 33
keyboards/maxr1998/pulse4k/pulse4k.c View File

@ -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;
}


+ 0
- 1
keyboards/maxr1998/pulse4k/rules.mk View File

@ -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…
Cancel
Save