okay so if anybody ever runs into this problem, i am sure there is a better way but here is how i did it:
the keyOffsets array was created by setting the key with to a size where one octave spans 100 pixels and then using the midi list approach from above to get percentage values for each left edge.
since the keyWidth of the fltKeyboard is stored in a separate string that contains all the other properties that can be set from the property editor, i had to do some string juggeling to separate the first number that comes up (which is the key width, luckily) that parse that as a float. multiply that by 7 and there is one octave width in pixels, regardless of that key size is set. then i used a loop to add the consecutive percentage values up and here we go.
probably convoluted, but it works :)
const keyOffsets = [0.08, 0.06, 0.11, 0.04, 0.14, 0.07, 0.07, 0.09, 0.05, 0.12, 0.03, 0.14];
var v = 0;
var kbd = keyboard.get("Data");
kbd = kbd.substring(kbd.indexOf(":")+2, kbd.indexOf(","));
var octaveWidth = parseFloat(kbd) * 7;
for (i=24; i<120; i++)
{
keysLeft.setValue(i, v);
v += octaveWidth * keyOffsets[i%12];
}