public IDevice ResolveDevice (IHIDDevice hidDevice) { if (hidDevice.PID == 46675 && hidDevice.VID == 1103) { this.__hidInterface = hidDevice.hidInterface; //check for profile DeviceProfile profile = hidDevice.loadProfile();; JoystickDevice device = new ThrustmasterRGTFFDDevice (hidDevice.index, hidDevice.PID, hidDevice.VID, hidDevice.ID, 8, 10, this); device.Name = hidDevice.Name; device.profile = profile; //JoystickDevice joystick = new JoystickDevice(hidDevice.index, hidDevice.PID, hidDevice.VID, 8, 10, this); int index = 0; for (; index < 10; index++) { device.Buttons [index] = new ButtonDetails (); if (profile != null && profile.buttonNaming.Length > index) { device.Buttons [index].name = profile.buttonNaming [index]; } } for (index = 0; index < 8; index++) { device.Axis [index] = new AxisDetails (); if (profile != null && profile.axisNaming.Length > index && device.Axis [index] != null) { device.Axis [index].name = profile.axisNaming [index]; } } return device; } return null; }
void OnGUI() { // if (InputManager.Devices.ContainsIndex(0)) // XDevice = InputManager.Devices.GetDeviceAt(0) as XInputDevice; // // if (GUI.Button(new Rect(150, 590, 100, 130), "Rumble")) // { // // // // XDevice.SetMotor(0x80,0xFF); // // // // // // // } //don't take device here in the loop this is just for demo //don't take device here in the loop this is just for demo List<ThrustmasterRGTFFDDevice> devices = InputManager.GetDevices<ThrustmasterRGTFFDDevice> (); if (devices.Count>0) TTFFDDevice = devices[0]; if (TTFFDDevice == null) return; //#if UNITY_ANDROID vSliderValue = GUI.HorizontalSlider(new Rect(25, 520, 400, 100), vSliderValue, 255.0F, 0.0F); // #endif if (vSliderValue != vSliderValuePrev) // device.SetMotor(Convert.ToByte(vSliderValue), 0xA7, onMotorSet); TTFFDDevice.SetMotor(Convert.ToByte(vSliderValue), Convert.ToByte(vSliderValue), onMotorSet); vSliderValuePrev = vSliderValue; if (GUI.Button(new Rect(25, 590, 100, 130), "Stop Motor")) { //timer.Stop(); if (runEffectEnumerator != null) StopCoroutine(runEffectEnumerator); TTFFDDevice.StopMotor(onMotorStop); vSliderValue = 128; } if (GUI.Button(new Rect(150, 590, 100, 130), "Rumble")) { runEffectEnumerator = runEffect(); TTFFDDevice.StopMotor(onMotorStop); StartCoroutine(runEffectEnumerator); //char buf[] = {0x00, 0x01, 0x0f, 0xc0, 0x00, large, small, 0x00, 0x00, 0x00, 0x00, 0x00}; } }