diff options
Diffstat (limited to 'keyboards/cxt_studio/cxt_studio.c')
-rw-r--r-- | keyboards/cxt_studio/cxt_studio.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/keyboards/cxt_studio/cxt_studio.c b/keyboards/cxt_studio/cxt_studio.c new file mode 100644 index 0000000000..2e7622ff91 --- /dev/null +++ b/keyboards/cxt_studio/cxt_studio.c @@ -0,0 +1,55 @@ +// Copyright 2023 Colin Kinloch (@ColinKinloch) +// SPDX-License-Identifier: GPL-2.0-or-later + +#include QMK_KEYBOARD_H + +static uint8_t anim = 0; + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + switch (index) { + case 0: { + if (clockwise) { + tap_code_delay(KC_VOLU, 10); + } else { + tap_code_delay(KC_VOLD, 10); + } + } + break; + case 1: { + if (clockwise) { + rgblight_increase_hue(); + } else { + rgblight_decrease_hue(); + } + } + break; + case 2: { + if (clockwise) { + rgblight_increase_val(); + } else { + rgblight_decrease_val(); + } + } + break; + case 3: { + if (clockwise) { + anim++; + } else { + anim--; + } + if (anim >= RGB_MATRIX_EFFECT_MAX) { + anim = 0; + } else if (anim < 0) { + anim = RGB_MATRIX_EFFECT_MAX - 1; + } + rgblight_mode(anim); + } + break; + } + return true; +} +#endif |