Kitware / dive

Media annotation and analysis tools for web and desktop. Get started at https://viame.kitware.com
https://kitware.github.io/dive
Apache License 2.0
80 stars 21 forks source link

click handler misses #8

Closed subdavis closed 4 years ago

subdavis commented 4 years ago

About 25% of my clicks don't do the thing they're supposed to do. Highlighting tracks, laying head and tail points, and everything else on the video window does nothing about a quarter of the time.

I don't know if this is a problem with this app or GeoJS's event hander. I use an apple Magic Trackpad, so I wonder if the slight movement of my cursor during a click is causing the click events to get interpreted as drags. Maybe the threshold for lateral movement during a click can be tuned?

BryonLewis commented 4 years ago

Same issue utilizing a mouse for clicking. Movement while clicking is not registering properly, which can sometimes cause unintentional missed clicks when trying to swap between tracks.

BryonLewis commented 4 years ago

Within the annotator.js there is a function which sets up the annotator options.
interactorOpts.click.cancelOnMove = false; if added will prevent some of the weirdness with slight movements and missing clicks. It's a flag which causes any mouseClick to cancel itself if there is movement detected. I kind of wish it was more of a variance for amount of movement instead of a boolean.

When this is turned off any sort of movement before the 'mouseup' is ignored. It breaks panning unless you include a duration for the mouse click event. interactorOpts.click.duration = 100; The number is going to need to be fiddled with to get a perfect setting. That number will now be the delay between clicking/dragging for panning and the pan actually occurring. I think somewhere between the 50-100ms range is good but I would want others to try it and confirm.

BryonLewis commented 4 years ago

I've updated this into the new in progress Track-Centric branch, when that is merged this will be resolved.