void InitWheel() { if (inited == null) { inited = this; } else { return; } if (SystemInfo.operatingSystemFamily == OperatingSystemFamily.Windows) { try { DirectInputWrapper.Init(); } catch (DllNotFoundException) { // in case DirectInput wrapper dll file is not found Debug.Log("DirectInput wrapper dll file is not found"); available = false; return; } for (int i = 0; i < DirectInputWrapper.DevicesCount(); i++) { if (!DirectInputWrapper.HasForceFeedback(i)) { continue; } wheelIndex = i; available = true; break; } if (!available) { Debug.Log("STEERINGWHEEL: Multiple devices and couldn't find steering wheel device index"); return; } } else { // WARNING: Input.GetJoystickNames or GetAxis/Buttons will crash if no valid Joystick is connected available = Environment.GetEnvironmentVariable("SDL_GAMECONTROLLERCONFIG") != null; // if (available) // { // foreach (var joy in Input.GetJoystickNames()) // { // Debug.Log($"Available joystick: {joy}, Preconfigured = {Input.IsJoystickPreconfigured(joy)}"); // } // } } }
protected override void Start() { base.Start(); debugStyle = new GUIStyle(); debugStyle.fontSize = 45; debugStyle.normal.textColor = Color.white; if (inited == null) { inited = this; } else { return; } DirectInputWrapper.Init(); bool ff0 = DirectInputWrapper.HasForceFeedback(0); if (DirectInputWrapper.DevicesCount() > 1) { bool ff1 = DirectInputWrapper.HasForceFeedback(1); if (ff1 && !ff0) { wheelIndex = 1; pedalIndex = 0; } else if (ff0 && !ff1) { wheelIndex = 0; pedalIndex = 1; } else { //Debug.Log("STEERINGWHEEL: Multiple devices and couldn't find steering wheel device index"); wheelIndex = 0; pedalIndex = 1; } } minBrake = AppController.Instance.appSettings.minBrake; maxBrake = AppController.Instance.appSettings.maxBrake; minGas = AppController.Instance.appSettings.minGas; maxGas = AppController.Instance.appSettings.maxGas; gasAxis = AppController.Instance.appSettings.gasAxis; brakeAxis = AppController.Instance.appSettings.brakeAxis; FFBGain = AppController.Instance.appSettings.FFBMultiplier; }
void Start() { Debug.Log("init: " + DirectInputWrapper.Init()); Debug.Log("Count: " + DirectInputWrapper.DevicesCount()); for (int i = 0; i < DirectInputWrapper.DevicesCount(); i++) { Debug.Log("Name: " + DirectInputWrapper.GetProductNameManaged(i)); Debug.Log("FFB: " + DirectInputWrapper.HasForceFeedback(i)); for(int j = 0; j < DirectInputWrapper.GetNumEffects(i); j++) { Debug.Log("EFFECT: " + DirectInputWrapper.GetEffectNameManaged(i, j)); } } }
// Use this for initialization void Start() { DirectInputWrapper.Init(); /*LogitechGSDK.LogiControllerPropertiesData properties = new LogitechGSDK.LogiControllerPropertiesData(); * properties.wheelRange = 900; * properties.forceEnable = true; * properties.overallGain = 80; * properties.springGain = 80; * properties.damperGain = 80; * properties.allowGameSettings = true; * properties.combinePedals = true; * properties.defaultSpringEnabled = false; * properties.defaultSpringGain = 0; * LogitechGSDK.LogiSetPreferredControllerProperties(properties); */ bool ff0 = DirectInputWrapper.HasForceFeedback(0); if (DirectInputWrapper.DevicesCount() > 1) { bool ff1 = DirectInputWrapper.HasForceFeedback(1); if (ff1 && !ff0) { wheelIndex = 1; pedalIndex = 0; } else if (ff0 && !ff1) { wheelIndex = 0; pedalIndex = 1; } else { Debug.Log("STEERINGWHEEL: Multiple devices and couldn't find steering wheel device index"); } } }
protected override void Start() { base.Start(); debugStyle = new GUIStyle(); debugStyle.fontSize = 45; debugStyle.normal.textColor = Color.white; if (inited == null) { inited = this; } else { return; } DirectInputWrapper.Init(); MasterSteeringWheel = false; masterIndex = reportMasterWheel("FANATEC CSL Elite Wheel Base"); if (masterIndex > -1) { MasterSteeringWheel = true; } bool ff0 = DirectInputWrapper.HasForceFeedback(0); /// Thios part mworks for now as the main inputs are always 0 or 1 we need code here though tat jumps over the master wheel shpould it be present if (DirectInputWrapper.DevicesCount() > 1) // steering one and two should be padles and participant steering wheel { bool ff1 = DirectInputWrapper.HasForceFeedback(1); if (ff1 && !ff0) { wheelIndex = 1; pedalIndex = 0; } else if (ff0 && !ff1) { wheelIndex = 0; pedalIndex = 1; } else { Debug.Log("STEERINGWHEEL: Multiple devices and couldn't find steering wheel device index"); } } if (MasterSteeringWheel) { minBrake = AppController.Instance.appSettings.minBrakeFanatec; maxBrake = AppController.Instance.appSettings.maxBrakeFanatec; minGas = AppController.Instance.appSettings.minGasFanatec; maxGas = AppController.Instance.appSettings.maxGasFanatec; } else { minBrake = AppController.Instance.appSettings.minBrake; maxBrake = AppController.Instance.appSettings.maxBrake; minGas = AppController.Instance.appSettings.minGas; maxGas = AppController.Instance.appSettings.maxGas; } gasAxis = AppController.Instance.appSettings.gasAxis; brakeAxis = AppController.Instance.appSettings.brakeAxis; // FWheel = AppController.Instance.appSettings.FantacWheel; FFBGain = AppController.Instance.appSettings.FFBMultiplier; }