> for that it works to draw first the black, then the white keys, then vis 0,vis 1.
> It's not logical, but it seems to work.also works for me. and it helps for filtering the right key events (see my solution).Seems like a magic for me... Anyway I adopt Christof mixed with João solutions at this patch.But arises some questions...Once I need:1. change color of key while mouse click is on at these keythat's easy on its own, get the pointer from the output of [struct] when you click on it. use it to change the color with [set ...... color].2. once mouse click is on, and mouse cursor move around the gop area, the keyboard will respond. Like a finger pressing and moving around a real keyboard.3. the key are velocity sensitive around y axis at first click.I'm thinking to map the gop are, create a system of coordinates to draw keyboard and using [cyclone/mousestate] and/or only [iemguts/receivecanvas].In this way maybe is better implement the João suggestion of parameterize the template and implement the keys with more points and implement the control with a gop coordinate system.you can't click and drag on data-s, so your other idea is better (and get the pointers to make the display look accordingly).Once I did a sampler what I had an horizontal line of marks indicating places in a sample; also using [mousestate] to get the mouse actions (position in window + clicks) I could extrapolate where I was in the window, and what should sound.Joao