X/Y transpose for the LinnStrument

I'm an avid LinnStrument player; I've removed all my traditional piano keyboards since I got the LinnStrument. I also own a Synthstrom Deluge and one thing that I've always loved about it is the way its transpose feature works. On the Deluge, you have 2 dials, one will transpose the grid in the x-direction (so a semitone in either direction), the other one will transpose in the y-direction (so five semitones in either direction, but I really like to think of it as vertical movement; that's what makes it feel so natural).

So I've been thinking about adding this feature to the LinnStrument as well. Initially I wanted to build a box with a teensy and two encoders but after @nocksock asked about controlling macOS with a midi controller, I've realized that Hammerspoon has a MIDI extension and I'm running that anyway. So I did it with Hammerspoon using the Midi Fighter Twister for the encoders.

I didn't go too crazy to support things I don't use myself because I'm not convinced there are many people with the same setup, so for now I only support the left split and “traditional” tuning with 5 semitones per row.

This is how it looks and here is the hammerspoon lua script!