I think I understand how it does the velocity sensitive aspect, there are two paired addresses for each set of keys

C0F0 and it's companion at +8 bytes C0F8 (and the rest, C0F1-C0F9, C0F2-C0FA etc)

and the lower address is the lower keyswitch, the upper address is the upper keyswitch.

If I map a controller button to an address and hit both buttons simultaneously, it will make it louder with the velocity piano.

Hitting the button for the upper address only (upper keyswitch) and releasing will turn it on and leave the sound on.

Hitting the button for the lower address only (lower keyswitch) and releasing will only shut the sound off, not turn it on.



Been thinking about how to read the midi controller, it looks like I can just open the midi device and start reading bytes. Now I've gotta find a usb midi interface, I know it's around here somewhere 8-)

https://ccrma.stanford.edu/~craig/articles/linuxmidi/input/section1.html