blob: 89d32c036b59cfdc54beefb97fa00924a8272e62 (
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
56
57
58
59
60
61
62
63
64
65
66
|
// Copyright 2022 xia0 (@xia0)
// SPDX-License-Identifier: GPL-2.0-or-later
#include "quantum.h"
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_user(index, clockwise)) {
return false;
}
uint8_t layer = get_highest_layer(layer_state);
if (index == 0) { /* First encoder */
switch (layer) {
case 0:
if (clockwise) {
tap_code_delay(KC_VOLU, 10);
} else {
tap_code_delay(KC_VOLD, 10);
}
break;
case 2:
if (clockwise) {
tap_code16(LCTL(KC_MINUS));
} else {
tap_code16(LCTL(KC_EQUAL));
}
break;
default:
if (clockwise) {
tap_code(KC_MS_L);
} else {
tap_code(KC_MS_R);
}
break;
}
} else if (index == 1) { /* Second encoder */
switch (layer) {
case 0:
if (clockwise) {
tap_code(KC_MFFD);
} else {
tap_code(KC_MRWD);
}
break;
case 2:
if (clockwise) {
tap_code16(LCTL(KC_Y));
} else {
tap_code16(LCTL(KC_Z));
}
break;
default:
if (clockwise) {
tap_code(KC_MS_D);
} else {
tap_code(KC_MS_U);
}
break;
}
}
return true;
}
#endif
|