The traditional way to do this is to have another bitmap, the same shape as the one the user sees, but with different coloured regions on it. When the user clicks, you hit test the hidden bitmap and pick up the colour.
I just did this, and it works a treat. Thanks, Roger!
I now have a skinnable interface that can be any shape with the buttons anywhere you like.
Creating the button-trigger bitmap is tricky because I'm using one of the RGB values as the index into the case statement for the IR commands to send. For instance, the top button on the face is Button 1. So you have to paint a bitmap with that button painted the RGB value of (255, 0, 1). The center-knob-press is Button 7, so you have to paint it (255,0,7).
It sounds complicated, but it's really not at all. I'll include example bitmaps.
I'll try the always-on-top and transparency features, and do some more bug fixes before another release. Dunno if it's going to be before the Amersfoort trip or not.