rework click code a bit, use a map, and add a middle click event for convenient resetting of angle