@amy @david_chisnall I have a number of those in the bag of horrible input devices from the last round of venture capital glancing at VR. I wasted some evenings reversing and most often just some wrapping around a BNO055 making your hands drift more than those of a piss drunk salaryman in the hotel bar at 3am spotting an alluring thigh. Complete waste of time versus what is happening in the DIY space. Examples:
https://github.com/scottbez1/smartknob https://e-flesh.com/ and https://github.com/sb-ocr/diy-spacemouse
The defocus-cancel problem is exactly that and it has some overlap with the reordering problem - the devil, synchronisation. Your input is on the way somewhere; recipient synthesises a response that gets invalidated by input happening that happened in between and in the popup-swamp invalidation is typically cancellation or substitution.
Force synchronicity (grab semantics) and latency needs to be consistently low or it feels stiff and janky/laggy.
We don't really have the mechanisms to solve for that (insert soft versus hard real-time corpus here). Reordering just sours the deal by latching to sort-preference, and often not your preferences but those of an antagonist (adtech again).
A compromise is mostly-sort but don't invalidate active selection. Cat9 (which you might have missed out on if last was '22) tries to mostly follow that but without position guarantees, but it was also substantially harder to code than a synchronous-blocking shell.