It’s called dynamic keystrokes or DKS and should be accessible through the QMK/VIA thing I think.
It can also map a combination of 2 or 3 keys to trigger on one of the actuation points - but to make it work with an interface receiving 2 messages from each key we would need more characters… twice as many as there are basically - could there be a solution for that? then it would probably work with basically every magnetic keyboard.
Unfortunately the software only allows for all your known US keyboard keys to be used… but over the QMK/VIA thing it should be possible to map “thousands of additional characters—such as accented letters, symbols, emojis, and foreign alphabets” - So.. map an emoji or a foreign letter to the second actuation point and then read out those characters to turn them into MIDI or voltage.
That might be a universal solution for velocity sensitivity.
Ideally a mapping that puts out a custom character, that is not recognized by any other software, on the first trigger point, and then the regular character on the second trigger point.
The software then should listen to those extra characters, and if they are present, calculate velocity for the key.
Nope… won’t work the way I hoped, because the USB HID keyboard interface doesn’t even send characters, just key positions, and only supports 100 or so… no extra characters available.
4 octaves with custam scale (7 or 8 keys per octave) would need 28 or 32 keys - so one could think of a mapping that might be used, but it would make the keyboard unusable for any other task with that mapping…
So to use it this way in Rack, the interface module would have to be connected permanently and exclusively with the keyboard, and then maybe feed a filtered version of the key commands to Rack, so it would still be usable in the application…
Or it would have to be connected over the QMK/VIA thing constantly…
I can set a key to send out the same key twice, so for example letter C sends one C when it’s at 0.5mm and another C when it’s at 3mm - with this mapping the interface would just have to always wait for a second duplicate of each key and then calculate velocity.