~ruther/qmk_firmware

60cac6d93811e931eea4438f04c2029d140afe96 — Joel Challis 3 years ago 712aa7b
Discourage use of ENCODER_MAP at keyboard level (#18286)

* Discourage use of ENCODER_MAP at keyboard level

* Update docs/feature_encoders.md

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2 files changed, 6 insertions(+), 1 deletions(-)

M docs/feature_encoders.md
M docs/pr_checklist.md
M docs/feature_encoders.md => docs/feature_encoders.md +3 -1
@@ 69,7 69,7 @@ Additionally, if one side does not have an encoder, you can specify `{}` for the

## Encoder map :id=encoder-map

Encoder mapping may be added to your `keymap.c`, which replicates the normal keyswitch layer handling functionality, but with encoders. Add this to your `rules.mk`:
Encoder mapping may be added to your `keymap.c`, which replicates the normal keyswitch layer handling functionality, but with encoders. Add this to your keymap's `rules.mk`:

```make
ENCODER_MAP_ENABLE = yes


@@ 88,6 88,8 @@ const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
#endif
```

?> This should only be enabled at the keymap level.

## Callbacks

When not using `ENCODER_MAP_ENABLE = yes`, the callback functions can be inserted into your `<keyboard>.c`:

M docs/pr_checklist.md => docs/pr_checklist.md +3 -0
@@ 67,6 67,9 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
    - no `(-/+size)` comments related to enabling features
    - remove the list of alternate bootloaders if one has been specified
    - no re-definitions of the default MCU parameters if same value, when compared to the equivalent MCU in [mcu_selection.mk](https://github.com/qmk/qmk_firmware/blob/master/builddefs/mcu_selection.mk)
    - no "keymap only" features enabled
      - `COMBO_ENABLE`
      - `ENCODER_MAP_ENABLE`
- keyboard `config.h`
    - don't repeat `MANUFACTURER` in the `PRODUCT` value
    - no `#define DESCRIPTION`