Skip to content

Add Bluetooth mouse pointing source #2330

@dimatomp

Description

@dimatomp

Overview

A Bluetooth mouse as an input source could be a nice extension to Gaze and Gestures on HoloLens (and maybe also on other MR devices, but I cannot be sure about them). The logic could be as follows:

  • When mouse is not used, the cursor points at center of the screen.
  • When a mouse is connected and a move/button event occurs, cursor stops following the Gaze and changes its position further according to mouse, like in Windows Holographic shell.
  • Move and Navigation for mouse can also be implemented.
  • When the mouse appears to be inactive for >2sec, cursor gets back to center of the screen and follows the Gaze.

As far as I understood it, CustomInputSource is intended for Editor debugging purposes only, but if the above or similar functionality is already implemented, I will be glad to hear about it.

Implementation details

According to my observations, UnityEngine.Input.mousePosition produces invalid and huge numbers on device; looks like the implementaion should use UWP classes directly.
The corresponding input source can rely on another pointing source and produce pointing input as well:

class MouseInputSource: BaseInputSource, IPointingSource
{
    [SerializeField] private GameObject basePointingSource;
    [SerializeField] private float inactivityTimeout = 2;

    // ...
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions