Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] [develop] VIA encoder support does not populate default values on keymap reset #17759

Closed
vinorodrigues opened this issue Jul 23, 2022 · 2 comments

Comments

@vinorodrigues
Copy link
Contributor

Describe the Bug

Recent PR [#17734] added support for rotary encoders using the ENCODER_MAP_ENABLE functionality - however I'm finding that on EEPROM reset the default values encoded into PROGMEM encoder_map array are not copied onto the EEPROM. (rather all the CW and CCW values are nulled to KC_NO )

My assumption is that since the dynamic_keymap_set_encoder() function does some shifting and masking L140-L141, but dynamic_keymap_reset() does not L157-L158, that the issue lies there?

See: https://discord.com/channels/673730324047462449/673736911839428641/1000188112292552715 (on Keychron discord)

lesshonor added a commit to lesshonor/mw_firmware that referenced this issue Jul 23, 2022
Built from the develop branch. Caveat utilitor!

There is a known issue with restoring encoder mappings after EEPROM
reset: qmk/qmk_firmware#17759

This firmware is INCOMPATIBLE with the VIA and Vial desktop
applications as of this commit. You must use the VIA web application!
@Jpe230
Copy link
Contributor

Jpe230 commented Jul 23, 2022

I couldn't reproduce the bug using the Adafruit MacroPad with the VIA keymap

For me it works as expected, I tried with BootMagic Lite and QK_CLEAR_EEPROM to reset the EEPROM and it both cases the keymap was populated correctly into the EEPROM (In the video I used BootMagic Lite, noted that I only the entered to the BL without flashing the firmware)

macropad.mp4

@vinorodrigues
Copy link
Contributor Author

darn - i can confirm this is so. must have been residual eeprom data that was not initialised when i coded in the encoder bits (and didn't call QK_CLEAR_EEPROM)

sorry to have bothered :(

closing (but may be good to leave as a lessons learned to others that may try to port the code)

lesshonor added a commit to lesshonor/mw_firmware that referenced this issue Jul 24, 2022
Built from the develop branch. Caveat utilitor!

There is a known issue with restoring encoder mappings after EEPROM
reset: qmk/qmk_firmware#17759

This firmware is INCOMPATIBLE with the VIA and Vial desktop
applications as of this commit. You must use the VIA web application!
lesshonor added a commit to lesshonor/mw_firmware that referenced this issue Jul 24, 2022
Built from the develop branch. Caveat utilitor!

There is a known issue with restoring encoder mappings after EEPROM
reset: qmk/qmk_firmware#17759

This firmware is INCOMPATIBLE with the VIA and Vial desktop
applications as of this commit. You must use the VIA web application!
lesshonor added a commit to lesshonor/mw_firmware that referenced this issue Jul 24, 2022
Built from the develop branch. Caveat utilitor!

There is a known issue with restoring encoder mappings after EEPROM
reset: qmk/qmk_firmware#17759

This firmware is INCOMPATIBLE with the VIA and Vial desktop
applications as of this commit. You must use the VIA web application!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants