// Update is called once per frame void Update() { if (LogitechGSDK.LogiUpdate() && LogitechGSDK.LogiIsConnected(0)) { LogitechGSDK.DIJOYSTATE2ENGINES rec; rec = LogitechGSDK.LogiGetStateUnity(0); xAxes = rec.lX / 32769f; gasInput = rec.lY; } else { print("Nicht verbunden."); } }
// Update is called once per frame void Update() { if (LogitechGSDK.LogiUpdate() && LogitechGSDK.LogiIsConnected(0)) { actualState = "Steering wheel current state : \n\n"; LogitechGSDK.DIJOYSTATE2ENGINES rec; rec = LogitechGSDK.LogiGetStateUnity(0); actualState += "x-axis position :" + rec.lX + "\n"; float actualState_450 = rec.lX * 0.01373f; Debug.Log("actualState_450:" + actualState_450); LogitchSteelRotation = actualState_450; LogitchGasRotation = MapValue(32767, -32767, 0, 25, rec.lY); LogitchBreakRotation = MapValue(32767, -32767, 0, 25, rec.lRz); LogitchCluthRotation = MapValue(32767, -32767, 0, 25, rec.rglSlider[0]); //Button status : string buttonStatus = "Button pressed : "; for (int i = 0; i < 128; i++) { if (rec.rgbButtons[i] == 128) { buttonStatus += "Button " + i + " pressed\n"; Debug.Log(" buttonStatus: " + buttonStatus); } if (rec.rgbButtons[3] == 128) { ForkUp = true; } else if (rec.rgbButtons[3] != 128) { ForkUp = false; } if (rec.rgbButtons[0] == 128) { ForkDown = true; } else if (rec.rgbButtons[0] != 128) { ForkDown = false; } if (rec.rgbButtons[1] == 128) { MastTiltForwards = true; } else if (rec.rgbButtons[1] != 128) { MastTiltForwards = false; } if (rec.rgbButtons[2] == 128) { MastTiltBackwards = true; } else if (rec.rgbButtons[2] != 128) { MastTiltBackwards = false; } if (rec.rgbButtons[14] == 128) { FrontMove = true; } else if (rec.rgbButtons[14] != 128) { FrontMove = false; } if (rec.rgbButtons[15] == 128) { BackMove = true; } else if (rec.rgbButtons[15] != 128) { BackMove = false; } } } //Spring Force -> S if (Input.GetKeyUp(KeyCode.S)) { if (LogitechGSDK.LogiIsPlaying(0, LogitechGSDK.LOGI_FORCE_SPRING)) { LogitechGSDK.LogiStopSpringForce(0); Debug.Log("A"); } else { LogitechGSDK.LogiPlaySpringForce(0, 0, 50, 50); Debug.Log("B"); } } }
void ProcessInput() { //Logitech Steering wheel car input if (LogitechGSDK.LogiUpdate() && LogitechGSDK.LogiIsConnected(0)) { StringBuilder deviceName = new StringBuilder(256); LogitechGSDK.LogiGetFriendlyProductName(0, deviceName, 256); propertiesEdit = "Current Controller : " + deviceName + "\n"; propertiesEdit += "Current controller properties : \n\n"; LogitechGSDK.LogiControllerPropertiesData actualProperties = new LogitechGSDK.LogiControllerPropertiesData(); LogitechGSDK.LogiGetCurrentControllerProperties(0, ref actualProperties); LogitechGSDK.DIJOYSTATE2ENGINES rec; rec = LogitechGSDK.LogiGetStateUnity(0); float xaxis = (float)rec.lX; steeringWheel = xaxis / 32000.0f; gasPedal = Mathf.InverseLerp(32000, -32000, rec.lY); brakePedal = Mathf.InverseLerp(32000, -32000, rec.lRz); for (int i = 0; i < 128; i++) { switch (i) { case 1: break; case 2: break; case 3: break; case 4: break; case 5: break; case 6: break; case 7: break; case 8: break; case 9: break; case 10: break; case 11: break; case 12: if (rec.rgbButtons[i] == 128) { if (gearUpReleased) { gearUpReleased = false; gearUp = true; } } else if (rec.rgbButtons[i] != 128) { gearUpReleased = true; } break; case 13: if (rec.rgbButtons[i] == 128) { if (gearDownReleased) { gearDownReleased = false; gearDown = true; } } else if (rec.rgbButtons[i] != 128) { gearDownReleased = true; } break; case 14: //start engine if (rec.rgbButtons[i] == 128) { startEngine = true; } break; } } } #if UNITY_EDITOR //Mouse and keyboard input float turningRate = 1f; if (!LogitechGSDK.LogiIsConnected(0)) { if (Input.GetKeyDown(KeyCode.W)) { gasPedal = 1f; } if (Input.GetKeyUp(KeyCode.W)) { gasPedal = 0f; } if (Input.GetKeyDown(KeyCode.S)) { brakePedal = 1f; } if (Input.GetKeyUp(KeyCode.S)) { brakePedal = 0f; } if (Input.GetKey(KeyCode.A)) { if (steeringWheel > -1) { steeringWheel -= turningRate * Time.deltaTime; } } if (Input.GetKey(KeyCode.D)) { if (steeringWheel < 1) { steeringWheel += turningRate * Time.deltaTime; } } if (!Input.GetKey(KeyCode.A) && !Input.GetKey(KeyCode.D)) { steeringWheel = 0; } if (Input.GetKeyDown(KeyCode.UpArrow)) { gearUp = true; } if (Input.GetKeyDown(KeyCode.DownArrow)) { gearDown = true; } if (Input.GetKeyDown(KeyCode.K)) { startEngine = true; } if (Input.GetKeyDown(KeyCode.Q)) { blinkerLeft = true; } if (Input.GetKeyDown(KeyCode.E)) { blinkerRight = true; } if (Input.GetKeyDown(KeyCode.X)) { longLights = true; } if (Input.GetKeyDown(KeyCode.Z)) { lightsModeLeft = true; } if (Input.GetKeyDown(KeyCode.C)) { lightsModeRight = true; } } #endif }