BTT scroll interpolation implementation

Hello Andreas!
First of all, thank you for developing BTT, it is a crucial element of my workflow.

I recently bought a MX Master 4 mouse and noticed that BTT’s implementation of scrolling interpolation is miles ahead of any other mouse tools I’ve ever seen. I am an electrical engineer and currently working on a hobby project that uses optical and Hall effect encoders. I am facing “slip” issues with those sensors and therefore am looking to add interpolation. Could you please advice me how you implemented that feature in BTT? What algorithm did you use? I would greatly appreciate if you could share some reading materials/documentation/formulas that you used. Thank you again!

mostly just a Linear Interpolation (exponential ease-out / lerp chase) with a Exponential Moving Average applied on top of it, however I have no idea about Hall Effect encoder and whether that would be useful :grinning_face:

Thank you very much! ill look into that