phileday / whirligig-old-issues

Whirligig Media Player bug tracking
0 stars 0 forks source link

cheater00_headset tracked pointer interferes with mouse pointer #16

Open phileday opened 5 years ago

phileday commented 5 years ago

Whirligig has two ways of moving the pointer to click on GUI elements. One is to use the mouse and click like you would on the desktop, the other way is to turn your head and press the "a" button on your controller. I prefer to use the mouse. However, every time I turn my head, that overrides the mouse pointer. This even happens when I keep my head still, but I'm just breathing or just due to my heart beat. Obviously that's pretty disruptive. Please add several options:

  1. input precedence: whether head tracking overrides mouse or whether mouse is more important than head tracking. In the future you'll also need to add eye tracking here most likely :)
  2. input timeout. If a higher precedence input hasn't been used for a while, how long to wait until taking input from lower precedence inputs? E.g. if I haven't used the mouse for 3.5 seconds, start taking input from the head tracking.
  3. completely turn off inputs. e.g. I don't want head tracking as an input for the mouse cursor at all.

1 and 3 could be realized in one ui element. Think of a list that lists all the input types. Then, you can drag and drop them above or below others to reorder them. Kind of like on a youtube playlist when editing the order of videos. Or like in a media player when reordering the media in a playlist. Also have an entry in the list that says "------ turned off: ------". If an input source is moved below that, it is greyed out, and input is never accepted from that. Make sure it's impossible to put all the input sources below that. One must always stay above so you can use the GUI :)

Then, to set the input timeout, have a single text box with a label that says: "Input fallback timeout (time until next input starts being used): [ xxxxx ] seconds". Make it accept fractional values and remember about locale issues, someone's locale might be 4.23 seconds while another could be 4,23 and they will be upset if that's not handled :)