zmkfirmware / zmk

ZMK Firmware Repository
https://zmk.dev/
MIT License
2.6k stars 2.67k forks source link

Encoders: Support Push and Tilt Features #365

Closed mcrosson closed 2 weeks ago

mcrosson commented 3 years ago

Per Discord discussion on 2020/11/11 @ 16:05 EST / https://discord.com/channels/719497620560543766/719497620560543769/776189435641069579

When implementing encoder support would it be possible to also include push and tilt features that are present on some encoders.

This is a good example of an encoder that does rotation, push and tilt (up/down/left/right): https://tech.alpsalpine.com/prod/e/html/multicontrol/switch/rkjxt/rkjxt1f42001.html

Support for these kinds of encoders in other firmware like QMK is a major pain as you have to make changes to the matrix scanning code and it's not configurable via any kind of UI. With QMK you must adjust the sources/keymaps directly and re-compile to get the support working properly.

innovaker commented 3 years ago

@mcrosson, thanks for this! I've unfortunately struggled to find the Discord discussion. Any chance you could please copy the Discord link into this issue please (right click on first message → Copy Message Link)?

mcrosson commented 3 years ago

@mcrosson, thanks for this! I've unfortunately struggled to find the Discord discussion. Any chance you could please copy the Discord link into this issue please (right click on first message → Copy Message Link)?

Added link to top of issue text

okke-formsma commented 3 years ago

image

This could be implemented with minimal hardware and clever use of a combo;

Right now combos are not ready yet, but I expect to finish them up before the end of the month.

lesshonor commented 2 weeks ago

This issue appears to be resolved:

  1. ZMK now supports encoder turns.
  2. ZMK now supports combos.
  3. The tilt/push actions are normally-open switches. These can be incorporated into an appropriately-written matrix-transform, which may use multiple composited kscan nodes if desired/necessary.