예제 #1
0
        public Core_Interception()
        {
            _providerDescriptor = new ProviderDescriptor
            {
                ProviderName = ProviderName
            };
            ProcessSettingsFile();

            _deviceLibrary = new IceptDeviceLibrary(_providerDescriptor, _blockingEnabled);
            if (_deviceLibrary.GetInputList().Devices?.Count > 0)
            {
                _isLive       = true;
                _errorMessage = string.Empty;
            }
            else
            {
                _isLive       = false;
                _errorMessage = "No Interception devices found, driver assumed to not be installed";
            }

            _deviceContext = ManagedWrapper.CreateContext();

            StartPollingIfNeeded();
            //_pollThreadDesired = true;
            _timer = new MultimediaTimer()
            {
                Interval = _pollRate
            };
            _timer.Elapsed += DoPoll;
        }
예제 #2
0
 public IceptMouseHandler(DeviceDescriptor deviceDescriptor,
                          EventHandler <DeviceDescriptor> deviceEmptyHandler,
                          EventHandler <BindModeUpdate> bindModeHandler,
                          IInputOutputDeviceLibrary <int> deviceLibrary,
                          bool blockingEnabled)
 {
     _deviceDescriptor = deviceDescriptor;
     _bindModeHandler  = bindModeHandler;
     _deviceLibrary    = deviceLibrary;
     _blockingEnabled  = blockingEnabled;
     _subHandler       = new SubscriptionHandler(deviceDescriptor, deviceEmptyHandler, CallbackHandler);
 }
예제 #3
0
        public Core_Interception()
        {
            _providerDescriptor = new ProviderDescriptor
            {
                ProviderName = ProviderName
            };
            _deviceLibrary = new IceptDeviceLibrary(_providerDescriptor);

            ProcessSettingsFile();

            _deviceContext = ManagedWrapper.CreateContext();

            StartPollingIfNeeded();
            //_pollThreadDesired = true;
            _timer = new MultimediaTimer()
            {
                Interval = _pollRate
            };
            _timer.Elapsed += DoPoll;
        }
예제 #4
0
        private readonly object _lockObj = new object();  // When changing mode (Bind / Sub) or adding / removing devices, lock this object

        public Core_Midi()
        {
            _deviceLibrary = new DeviceLibraries.MidiDeviceLibrary(new ProviderDescriptor {
                ProviderName = ProviderName
            });
        }