void RefreshGeneralInfo()
        {
            string generalMsg = string.Format("Controller 01 state : {0} \r\nController 02 state : {1}",
                                              XimmerseControllerInput.IsControllerConnected(0) ? "Connected" : "Disconnected",
                                              XimmerseControllerInput.IsControllerConnected(1) ? "Connected" : "Disconnected");

            DeviceGeneralInfo.text = generalMsg;
        }
        void Update()
        {
            XimmerseControllerInput.Update();

            if (buffer.Length > 0)
            {
                buffer.Remove(0, buffer.Length);
            }
            foreach (var ctrlBtn in buttons)
            {
                if (XimmerseControllerInput.IsControllerConnected(0) && XimmerseControllerInput.IsKey(ctrlBtn, 0))
                {
                    buffer.AppendLine(string.Format("Controller : {0}, key down button: {1}", 0, ctrlBtn));
                }
                if (XimmerseControllerInput.IsControllerConnected(0) && XimmerseControllerInput.IsKeyUp(ctrlBtn, 0))
                {
                    buffer.AppendLine(string.Format("Controller : {0}, key up button: {1}", 0, ctrlBtn));
                }
                if (XimmerseControllerInput.IsControllerConnected(0) && XimmerseControllerInput.IsTap(ctrlBtn, 0))
                {
                    buffer.AppendLine(string.Format("Controller : {0}, tap button: {1}", 0, ctrlBtn));
                }

                if (XimmerseControllerInput.IsControllerConnected(1) && XimmerseControllerInput.IsKey(ctrlBtn, 1))
                {
                    buffer.AppendLine(string.Format("Controller : {0}, key down button: {1}", 1, ctrlBtn));
                }
                if (XimmerseControllerInput.IsControllerConnected(1) && XimmerseControllerInput.IsKeyUp(ctrlBtn, 1))
                {
                    buffer.AppendLine(string.Format("Controller : {0}, key up button: {1}", 0, ctrlBtn));
                }
                if (XimmerseControllerInput.IsControllerConnected(1) && XimmerseControllerInput.IsTap(ctrlBtn, 1))
                {
                    buffer.AppendLine(string.Format("Controller : {0}, tap button: {1}", 0, ctrlBtn));
                }
            }
            if (buffer.Length > 0)
            {
                ButtonEventInfo.text = buffer.ToString();
                buttonLogDirtyTime   = Time.time;
            }

            //Clear log:
            if (ButtonEventInfo.text != string.Empty && (Time.time - buttonLogDirtyTime) >= ButtonLogStayTime)
            {
                ButtonEventInfo.text = string.Empty;
            }
        }
        void Awake()
        {
            //initialize the device and create global handler:
            TagTrackingUtil.InitializeDeviceModule();

            XimmerseControllerInput.Initialize();

            var controllerButtons = System.Enum.GetValues(typeof(ControllerButton));

            buttons = new ControllerButton[controllerButtons.Length];
            for (int i = 0; i < controllerButtons.Length; i++)
            {
                buttons[i] = (ControllerButton)controllerButtons.GetValue(i);
            }

            btnStartPairing.onClick.AddListener(
                new UnityEngine.Events.UnityAction(
                    () =>
            {
                XimmerseControllerInput.StartPairing(controllerTypes[controllerList.value]);
                Debug.LogFormat("Start pairing controller type: {0}", controllerTypes[controllerList.value]);
            }));

            btnUnpairAll.onClick.AddListener(
                new UnityEngine.Events.UnityAction(
                    () =>
            {
                XimmerseControllerInput.UnpairAll();
            }));

            btnTestVibrate.onClick.AddListener(
                new UnityEngine.Events.UnityAction(
                    () =>
            {
                XimmerseControllerInput.Vibrate(1000, 0.5f);
            }));

            btnReload.onClick.AddListener(
                new UnityEngine.Events.UnityAction(
                    () =>
            {
                UnityEngine.SceneManagement.SceneManager.LoadScene(0);
            }));
        }
Exemple #4
0
    // Update is called once per frame
    void Update()
    {
        Quaternion rawRotation = XimmerseControllerInput.GetInputRotation();

        transform.rotation = rawRotation;
    }
Exemple #5
0
 public void Recenter(float finalYaw)
 {
     XimmerseControllerInput.RecenterControllerIMURotation(finalYaw);
 }