Skip to main content

JioGlass Controller

Controllers are representations of a physical controller. They are created by device managers and are responsible for communicating with the corresponding underlying system and translating that data.

Paradigms of Controller Based Interaction

Controller Based Interaction Paradigms

Controller based interactions can be further categorised into three paradigms based on the input mechanism and the physics of focusing on objects and interacting

  • Abstracted
    The abstracted method of interaction is like using a mouse on a traditional 2D Graphical User Interface. Here the motion of the interaction tool (mouse) is in a different coordinate system than the action (mouse pointer)​
  • Ray
    The ray method utilizes the depth information in any Spatial User Interface to projected an extended control emitting from the interaction tool (mouse)​
  • Volumetric
    Volumetric method is the most natural form of interaction since it allows the user to directly manipulate the virtual objects in 3D just as if they were real objects.​

JioGlass Controller

JioGlass Controller

Generally, a controller's lifecycle will involve:

  1. A controller gets created by a device manager upon detection of a new source (for example, the detects and starts tracking a hand).
  2. In the controller's Update() loop, it calls into its underlying API system.
  3. In the same update loop, it raises input event changes by calling directly into the core input system itself (for example, raising HandMeshUpdated, or HandJointsUpdated).

Interactions in Tesseract Mixed Reality​

Tesseract Mixed Reality Interactions

ActionDescriptions
SelectSingle click button for carrying out any app-related interaction​. Maps to ISelectHandler and ISelectClickHandler
ManipulateLong press and move controller/gaze to grab and move any grabbable object. Release to drop the grabbed object. ​Maps to IManipulationHandler.
Trackpad2 Axis gesture-enabled joystick​. Maps to ISwipeHandler and ITouchHandler
Special Fn 1Application-specific special button. Can be used for system-wide functions within the application such as toggling head tracking.
Special Fn 2Application-specific special button. Can be used for system-wide functions within the application such as toggling head tracking. ​
BackSingle click button to navigate the application one step below in their UX hierarchy. You are expected to implement the IBackHandler Interface and manage the application flow within your application yourself. Maps to IBackHandler.
Activate VoiceLong press button for enabling voice interactions. Coming Soon​
HomeSingle click button that takes the user back to the home screen.
RecentreLong press button to the re-center head and controller orientation during an application​.
MenuDouble press the button that opens System Menu. Coming Soon.
IPD CalibrationDouble press the button that opens the IPD Calibration screen to update the view to your eyesight so that you don't see blurred or dual images.

Input Actions Key Bindings

Action NameButton EventJioGlass Controller Button
SelectSingle ClickTrigger
ManipulateLong Press + Swipe/RotateTrigger + Pointer
SwipeDual AxisTouchpad
TouchDual AxisTouchpad
Special Fn1Single ClickTouchpad
Special Fn2Double ClickTouchpad
BackSingle ClickApp Button
Voice TriggerLong PressApp Button
HomeSingle ClickHome Button
RecenterLong PressHome Button
MenuDouble ClickHome Button
IPD CalibrationDouble Click + SwipeApp Button + Touchpad