// -------------------------------------------------------------------------------------------------------------------- // // Copyright (c) VRMADA, All rights reserved. // // -------------------------------------------------------------------------------------------------------------------- using System.Collections.Generic; using UltimateXR.Core; namespace UltimateXR.Devices.Integrations.Pico { /// /// Pico Neo 3 controller input using PicoXR SDK. /// public class UxrPicoNeo3Input : UxrUnityXRControllerInput { #region Public Overrides UxrControllerInput /// /// Gets the SDK dependency: PicoXR. /// public override string SDKDependency => UxrConstants.SdkPicoXR; /// public override UxrControllerSetupType SetupType => UxrControllerSetupType.Dual; /// public override bool IsHandednessSupported => true; /// public override bool MainJoystickIsTouchpad => false; /// public override bool HasControllerElements(UxrHandSide handSide, UxrControllerElements controllerElements) { uint validElements = (uint)(UxrControllerElements.Joystick | UxrControllerElements.Grip | UxrControllerElements.Trigger | UxrControllerElements.Button1 | UxrControllerElements.Button2 | UxrControllerElements.Menu | UxrControllerElements.Back | UxrControllerElements.DPad); return (validElements & (uint)controllerElements) == (uint)controllerElements; } #endregion #region Public Overrides UxrUnityXRControllerInput /// public override IEnumerable ControllerNames { get { yield return "PicoXR Controller-Left"; yield return "PicoXR Controller-Right"; yield return "PICO Controller-Left"; yield return "PICO Controller-Right"; yield return "PICO Live Preview Controller-Left"; yield return "PICO Live Preview Controller-Right"; } } #endregion } }