From 7c3cc826cb445409a66f2f7bb5b89966ec3eda6b Mon Sep 17 00:00:00 2001 From: clownfish-og <177758267+clownfish-og@users.noreply.github.com> Date: Thu, 24 Apr 2025 15:35:41 -0400 Subject: [PATCH] move encoders to keymap, encoder_map --- keyboards/doio/kb38/kb38.c | 33 -------------------- keyboards/doio/kb38/keymaps/default/keymap.c | 7 +++++ keyboards/doio/kb38/keymaps/default/rules.mk | 1 + 3 files changed, 8 insertions(+), 33 deletions(-) create mode 100644 keyboards/doio/kb38/keymaps/default/rules.mk diff --git a/keyboards/doio/kb38/kb38.c b/keyboards/doio/kb38/kb38.c index 55a88a068b2..ce036d7fd14 100644 --- a/keyboards/doio/kb38/kb38.c +++ b/keyboards/doio/kb38/kb38.c @@ -34,36 +34,3 @@ bool oled_task_kb(void) { return true; } #endif - -//Knobs -#ifdef ENCODER_ENABLE -bool encoder_update_kb(uint8_t index, bool clockwise) { - if (!encoder_update_user(index, clockwise)) { - return false; - } - - if (index == 0) { - // Page Up/Down - if (clockwise) { - tap_code(KC_PGDN); - } else { - tap_code(KC_PGUP); - } - } else if (index == 1) { - // Mouse Wheel Up/Down - if (clockwise) { - tap_code(KC_MS_WH_DOWN); - } else { - tap_code(KC_MS_WH_UP); - } - } else if (index == 2) { - // Volume Up/Down - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - return true; -} -#endif \ No newline at end of file diff --git a/keyboards/doio/kb38/keymaps/default/keymap.c b/keyboards/doio/kb38/keymaps/default/keymap.c index 6f5304c0048..5c0fbf5da34 100644 --- a/keyboards/doio/kb38/keymaps/default/keymap.c +++ b/keyboards/doio/kb38/keymaps/default/keymap.c @@ -59,3 +59,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { The large knob press is mapped as KC_B, despite it not having one. I'm not quite sure why, but the only reason it can't be clicked is because the potentiometer is different. If you were to replace it with one that can be clicked, it would work. I shorted it and it does work.*/ + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }, + [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) } +}; +#endif diff --git a/keyboards/doio/kb38/keymaps/default/rules.mk b/keyboards/doio/kb38/keymaps/default/rules.mk new file mode 100644 index 00000000000..ee325681483 --- /dev/null +++ b/keyboards/doio/kb38/keymaps/default/rules.mk @@ -0,0 +1 @@ +ENCODER_MAP_ENABLE = yes