i want to desige a form of interaction, as shown in the following gif.
pic1: zoom

pic2: lasso

pic3:When you use a lasso to select data, you can drag data to other label or chart.
The above is a separate demo, i want combin this in a svg or canvas.
But, I've had some tough problems, zoom and lasso both have drag event, it's confused. How to distinguish them?
i want to control it with keyboard event.
For example, when ctrl key is pressed to trigger the zoom event, when shift key is pressed to trigger lasso.
follow my code, how to fix it?