summaryrefslogtreecommitdiff
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 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