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