summaryrefslogtreecommitdiff
path: root/keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2021-08-29 08:20:25 +1000
committerNick Brassel <nick@tzarc.org>2021-08-29 08:20:25 +1000
commitf061ca497464fe85284906fb163a33eaee7a91ef (patch)
tree33ef1bfb529aed382e8526c607c4e18717f92571 /keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c
parentff65185dec6f97be1eb49f17cea526a0d0bbf3d6 (diff)
parent4bad375d7c09d949a9dcdd4feba147c9c7a67ec6 (diff)
Breaking changes develop merge to master, 2021Q3 edition. (#14196)
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 0000000000..7505925e72
--- /dev/null
+++ b/keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c
@@ -0,0 +1,64 @@
+#include QMK_KEYBOARD_H
+#include "layers.h"
+
+#ifdef ENCODER_ENABLE
+
+bool encoder_update_user(uint8_t index, bool clockwise) {
+ if (index == 0) {
+ switch (get_highest_layer(layer_state)) {
+ case WORKMAN:
+ if (clockwise) {
+ tap_code(KC_VOLU);
+ } else {
+ tap_code(KC_VOLD);
+ }
+ break;
+ case SYMBOLS:
+ case FN:
+ if (clockwise) {
+ tap_code(KC_PGDN);
+ } else {
+ tap_code(KC_PGUP);
+ }
+ break;
+ case NAV:
+ case RNAV:
+ default:
+ if (clockwise) {
+ tap_code16(C(A(KC_RIGHT)));
+ } else {
+ tap_code16(C(A(KC_LEFT)));
+ }
+ break;
+ }
+ } else if (index == 1) {
+ switch (get_highest_layer(layer_state)) {
+ case WORKMAN:
+ if (clockwise) {
+ tap_code(KC_BRIU);
+ } else {
+ tap_code(KC_BRID);
+ }
+ break;
+ case SYMBOLS:
+ case FN:
+ if (clockwise) {
+ tap_code16(C(KC_RIGHT));
+ } else {
+ tap_code16(C(KC_LEFT));
+ }
+ break;
+ case NAV:
+ case RNAV:
+ default:
+ if (clockwise) {
+ tap_code16(C(KC_TAB));
+ } else {
+ tap_code16(C(S(KC_TAB)));
+ }
+ break;
+ }
+ }
+ return true;
+}
+#endif