However, it does seem to miss the single most useful feature (for me) which is the resistance part. I understand there is a DC motor controlling the snap points and whatnot, but what I'd like is constant resistance I guess, to a configurable level, rather than snapping to specific points and such.
I don't think it would be possible to hack on top of the already made hardware, but didn't seem like it was already done in the software side of things, although I did skim through things so maybe I missed it.
I sometimes develop control loops for prototype systems which use a motor to emulate a combination of spring + friction damper, and even though I know that my code only runs every 1ms, it's really remarkable how much it feels like a real continuous analogue system.
Another good example is power steering, which uses a motor to remove resistance instead of add it. If I understand it correctly, it senses you applying torque to the steering column and adds proportional amounts of boost - but because it happens so fast, it just feels like the steering is magically lighter.
It already has a similar feature called SmartKey: https://www.youtube.com/shorts/_Qj33POZCyA
A compromise that is affordable and does exist is programmable response curves to key velocity and aftertouch pressure. It can make sense to have different curves for eg. piano vs harpsichord even if you can’t change the mechanical key impedance.
I haven’t seen it in the wild, but using this you could make the wrong notes quieter/louder or even play a different sound. But I think we all know when we play a wrong note, so the utility might be small.
Just a tangential note to say whenever I see these terms in discussion of MIDI keyboards it reminds me how disappointed I am the vast majority of MIDI controller (and multi-thousand dollar flagship synth) keyboards still don't fully support per note velocity or polyphonic aftertouch. It's only been 40 years kids... (sigh).
This seems like a pretty cool idea
0. https://microbots.io/products/motorcell
1. https://www.youtube.com/watch?v=CVszJMlvZcA