aboutsummaryrefslogtreecommitdiff
path: root/keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c
diff options
context:
space:
mode:
Diffstat (limited to 'keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c')
-rw-r--r--keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c64
1 files changed, 64 insertions, 0 deletions
diff --git a/keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c b/keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c
new file mode 100644
index 000000000..7505925e7
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c
@@ -0,0 +1,64 @@
1#include QMK_KEYBOARD_H
2#include "layers.h"
3
4#ifdef ENCODER_ENABLE
5
6bool encoder_update_user(uint8_t index, bool clockwise) {
7 if (index == 0) {
8 switch (get_highest_layer(layer_state)) {
9 case WORKMAN:
10 if (clockwise) {
11 tap_code(KC_VOLU);
12 } else {
13 tap_code(KC_VOLD);
14 }
15 break;
16 case SYMBOLS:
17 case FN:
18 if (clockwise) {
19 tap_code(KC_PGDN);
20 } else {
21 tap_code(KC_PGUP);
22 }
23 break;
24 case NAV:
25 case RNAV:
26 default:
27 if (clockwise) {
28 tap_code16(C(A(KC_RIGHT)));
29 } else {
30 tap_code16(C(A(KC_LEFT)));
31 }
32 break;
33 }
34 } else if (index == 1) {
35 switch (get_highest_layer(layer_state)) {
36 case WORKMAN:
37 if (clockwise) {
38 tap_code(KC_BRIU);
39 } else {
40 tap_code(KC_BRID);
41 }
42 break;
43 case SYMBOLS:
44 case FN:
45 if (clockwise) {
46 tap_code16(C(KC_RIGHT));
47 } else {
48 tap_code16(C(KC_LEFT));
49 }
50 break;
51 case NAV:
52 case RNAV:
53 default:
54 if (clockwise) {
55 tap_code16(C(KC_TAB));
56 } else {
57 tap_code16(C(S(KC_TAB)));
58 }
59 break;
60 }
61 }
62 return true;
63}
64#endif