diff options
Diffstat (limited to 'keyboards/rubi/keymaps/default/keymap.c')
-rw-r--r-- | keyboards/rubi/keymaps/default/keymap.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/keyboards/rubi/keymaps/default/keymap.c b/keyboards/rubi/keymaps/default/keymap.c index 054e3ce23..e0e7290df 100644 --- a/keyboards/rubi/keymaps/default/keymap.c +++ b/keyboards/rubi/keymaps/default/keymap.c | |||
@@ -56,3 +56,34 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
56 | KC_TRNS, KC_TRNS | 56 | KC_TRNS, KC_TRNS |
57 | ), | 57 | ), |
58 | }; | 58 | }; |
59 | |||
60 | bool encoder_update_user(uint8_t index, bool clockwise) { | ||
61 | if (index == 0) { | ||
62 | if (get_highest_layer(layer_state) == 0) { | ||
63 | uint16_t mapped_code = 0; | ||
64 | if (clockwise) { | ||
65 | mapped_code = handle_encoder_cw(); | ||
66 | } else { | ||
67 | mapped_code = handle_encoder_ccw(); | ||
68 | } | ||
69 | if (mapped_code != 0) { | ||
70 | tap_code16(mapped_code); | ||
71 | } | ||
72 | } else { | ||
73 | if (clockwise) { | ||
74 | if (oled_mode == OLED_MODE_CALC) { | ||
75 | handle_encoder_cw(); | ||
76 | } else if (oled_mode == OLED_MODE_DEFAULT) { | ||
77 | change_encoder_mode(false); | ||
78 | } | ||
79 | } else { | ||
80 | if (oled_mode == OLED_MODE_CALC) { | ||
81 | handle_encoder_ccw(); | ||
82 | } else if (oled_mode == OLED_MODE_DEFAULT) { | ||
83 | change_encoder_mode(true); | ||
84 | } | ||
85 | } | ||
86 | } | ||
87 | } | ||
88 | return true; | ||
89 | } | ||