summaryrefslogtreecommitdiff
path: root/keyboards/cxt_studio/cxt_studio.c
blob: 2e7622ff91133e187c9257a48c9f6ff791546ca9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
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