From 49699294b63b1fd36c504d4949dd6fbb19442cf3 Mon Sep 17 00:00:00 2001 From: Max Rumpf Date: Wed, 26 Jun 2019 22:42:14 +0200 Subject: [Keyboard] Add Pulse 4k, a macropad by Maxr1998 (#6195) * Add Pulse 4k, a macropad by Maxr1998 * Some config tweaks * Remove image note * Add license headers * Fix media keys * Remove Play/pause again as it doesn't work on Linux --- keyboards/maxr1998/pulse4k/pulse4k.c | 61 ++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 keyboards/maxr1998/pulse4k/pulse4k.c (limited to 'keyboards/maxr1998/pulse4k/pulse4k.c') diff --git a/keyboards/maxr1998/pulse4k/pulse4k.c b/keyboards/maxr1998/pulse4k/pulse4k.c new file mode 100644 index 0000000000..ee3d41ccd1 --- /dev/null +++ b/keyboards/maxr1998/pulse4k/pulse4k.c @@ -0,0 +1,61 @@ +/* +Copyright (C) 2019 Maxr1998 + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#include "pulse4k.h" +#include "rgblight.h" + +enum combo_events { + LED_ADJUST +}; + +const uint16_t PROGMEM led_adjust_combo[] = {KC_LEFT, KC_RGHT, COMBO_END}; + +combo_t key_combos[COMBO_COUNT] = { + [LED_ADJUST] = COMBO_ACTION(led_adjust_combo) +}; + +bool led_adjust_active = false; + +void matrix_init_kb(void) { + matrix_init_user(); +} + +void process_combo_event(uint8_t combo_index, bool pressed) { + if (combo_index == LED_ADJUST) { + led_adjust_active = pressed; + } +} + +void encoder_update_kb(uint8_t index, bool clockwise) { + if (index == 0) { + if (led_adjust_active) { + if (clockwise) { + rgblight_increase_val(); + } else { + rgblight_decrease_val(); + } + } else 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); + } +} -- cgit v1.2.3