Пример #1
0
        public bool Initialize()
        {
            _initOk = false;
            try
            {
                _deviceCallback    = DeviceCallback;
                _enumerateCallback = EnumerateCallback;

                if (!File.Exists(@"C:\Program Files\Saitek\DirectOutput\DirectOutput.dll"))
                {
                    //Did not find Saitek drivers
                    Common.LogError(1, "INFO : No Saitek FIP driver found. FIP support not loaded. (assuming no FIPs are connected)");
                    return(false);
                }

                var retVal = DirectOutputClass.Initialize("ABC");
                if (retVal != ReturnValues.S_OK)
                {
                    Common.LogError(1, "FIPHandler failed to init DirectOutputClass. retval = " + retVal);
                    return(false);
                }
                Debug.Print("Init returned: " + retVal);

                retVal = DirectOutputClass.RegisterDeviceCallback(_deviceCallback);
                Debug.Print("Register Device Callback returned: " + retVal);

                retVal = DirectOutputClass.Enumerate(_enumerateCallback);
                if (retVal != ReturnValues.S_OK)
                {
                    Common.LogError(1, "FIPHandler failed to Enumerate DirectOutputClass. retval = " + retVal);
                    return(false);
                }
                Debug.Print("Enumerate Callback returned: " + retVal);
            }
            catch (Exception ex)
            {
                Common.LogError(1, ex, "FIPHandler failed to init.");
                return(false);
            }
            _initOk = true;
            return(true);
        }
Пример #2
0
        public bool Initialize()
        {
            InitOk = false;
            try
            {
                _deviceCallback    = DeviceCallback;
                _enumerateCallback = EnumerateCallback;

                var key = Registry.LocalMachine.OpenSubKey(DirectOutputKey);

                var value = key?.GetValue("DirectOutput");
                if (value is string)
                {
                    var retVal = DirectOutputClass.Initialize("fiphwinfo");
                    if (retVal != ReturnValues.S_OK)
                    {
                        Console.WriteLine("FIPHandler failed to init DirectOutputClass. " + retVal);
                        return(false);
                    }

                    DirectOutputClass.RegisterDeviceCallback(_deviceCallback);

                    retVal = DirectOutputClass.Enumerate(_enumerateCallback);
                    if (retVal != ReturnValues.S_OK)
                    {
                        Console.WriteLine("FIPHandler failed to Enumerate DirectOutputClass. " + retVal);
                        return(false);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);

                return(false);
            }
            InitOk = true;
            Console.WriteLine("Number of devices: " + _fipPanels.Count);
            numPanels = _fipPanels.Count;
            return(true);
        }
Пример #3
0
        public bool Initialize()
        {
            InitOk = false;
            try
            {
                _deviceCallback    = DeviceCallback;
                _enumerateCallback = EnumerateCallback;

                var key = Registry.LocalMachine.OpenSubKey(DirectOutputKey);

                var value = key?.GetValue("DirectOutput");
                if (value is string)
                {
                    var retVal = DirectOutputClass.Initialize("fiphwinfo");
                    if (retVal != ReturnValues.S_OK)
                    {
                        App.Log.Error("FIPHandler failed to init DirectOutputClass. " + retVal);
                        return(false);
                    }

                    DirectOutputClass.RegisterDeviceCallback(_deviceCallback);

                    retVal = DirectOutputClass.Enumerate(_enumerateCallback);
                    if (retVal != ReturnValues.S_OK)
                    {
                        App.Log.Error("FIPHandler failed to Enumerate DirectOutputClass. " + retVal);
                        return(false);
                    }
                }
            }
            catch (Exception ex)
            {
                App.Log.Error(ex);

                return(false);
            }
            InitOk = true;
            return(true);
        }