~ruther/qmk_firmware

6f043c549715b572cb77015369d07b382887daba — Albert Y 3 years ago f3c080b
Volume as default encoder documentation example (#15678)

Co-authored-by: filterpaper <filterpaper@localhost>
1 files changed, 10 insertions(+), 8 deletions(-)

M docs/feature_encoders.md
M docs/feature_encoders.md => docs/feature_encoders.md +10 -8
@@ 70,15 70,15 @@ or `keymap.c`:
bool encoder_update_user(uint8_t index, bool clockwise) {
    if (index == 0) { /* First encoder */
        if (clockwise) {
            tap_code(KC_PGDN);
            tap_code_delay(KC_VOLU, 10);
        } else {
            tap_code(KC_PGUP);
            tap_code_delay(KC_VOLD, 10);
        }
    } else if (index == 1) { /* Second encoder */
        if (clockwise) {
            tap_code(KC_DOWN);
            rgb_matrix_increase_hue();
        } else {
            tap_code(KC_UP);
            rgb_matrix_decrease_hue();
        }
    }
    return false;


@@ 100,9 100,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
            }
        } else if (index == 1) {
            if (clockwise) {
                tap_code(KC_VOLU);
                tap_code_delay(KC_VOLU, 10);
            } else {
                tap_code(KC_VOLD);
                tap_code_delay(KC_VOLD, 10);
            }
        }
    } else {  /* Layer 0 */


@@ 114,9 114,9 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
            }
        } else if (index == 1) {
            if (clockwise) {
                tap_code(KC_DOWN);
                rgb_matrix_increase_speed();
            } else {
                tap_code(KC_UP);
                rgb_matrix_decrease_speed();
            }
        }
    }


@@ 124,6 124,8 @@ bool encoder_update_user(uint8_t index, bool clockwise) {
}
```

?> Media and mouse countrol keycodes such as `KC_VOLU` and `KC_WH_D` requires `EXTRAKEY_ENABLE = yes` and `MOUSEKEY_ENABLE = yes` respectively in user's `rules.mk` if they are not enabled as default on keyboard level configuration.

## Hardware

The A an B lines of the encoders should be wired directly to the MCU, and the C/common lines should be wired to ground.