Ejemplo n.º 1
0
        /// <summary>
        /// Start the IR Server plugin.
        /// </summary>
        public override void Start()
        {
            LoadSettings();

            _receiverWindow          = new ReceiverWindow(WindowTitle);
            _receiverWindow.ProcMsg += ProcMsg;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Start the IR Server plugin.
        /// </summary>
        public override void Start()
        {
            if (!_running)
            {
                LoadSettings();

                _receiverWindow          = new ReceiverWindow("FireDTV Receiver");
                _receiverWindow.ProcMsg += WndProc;

                _fireDTV = new FireDTVControl(_receiverWindow.Handle);
                if (!_fireDTV.OpenDrivers())
                {
                    throw new InvalidOperationException("Failed to start FireDTV interface");
                }

                // Search for the named sourcefilter
                FireDTVSourceFilterInfo sourceFilter = string.IsNullOrEmpty(_deviceName) ? _fireDTV.SourceFilters.Item(0) : _fireDTV.SourceFilters.ItemByName(_deviceName);

                if (sourceFilter != null)
                {
                    sourceFilter.StartFireDTVRemoteControlSupport();
                    _running = true;
                }
                else
                {
                    throw new InvalidOperationException("Failed to start FireDTV interface");
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Stop the IR Server plugin.
        /// </summary>
        public override void Stop()
        {
            _device.dwFlags |= RawInput.RawInputDeviceFlags.Remove;
            RegisterForRawInput(_device);

            _receiverWindow.ProcMsg -= ProcMessage;
            _receiverWindow.DestroyHandle();
            _receiverWindow = null;
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="IrRemoteWrapper"/> class.
        /// </summary>
        public IrRemoteWrapper()
        {
            string dllPath = GetDllPath();

            if (String.IsNullOrEmpty(dllPath))
            {
                throw new DirectoryNotFoundException("Could not find IrRemote.dll folder");
            }

            SetDllDirectory(dllPath);

            _window         = new ReceiverWindow();
            _window.ProcMsg = WndProc;
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Start the IR Server plugin.
        /// </summary>
        public override void Start()
        {
            LoadSettings();

            _receiverWindow          = new ReceiverWindow("Custom HID Receiver");
            _receiverWindow.ProcMsg += ProcMessage;

            _device.dwFlags    = RawInput.RawInputDeviceFlags.InputSink;
            _device.hwndTarget = _receiverWindow.Handle;

            if (!RegisterForRawInput(_device))
            {
                throw new InvalidOperationException("Failed to register for HID Raw input");
            }
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Stop the IR Server plugin.
 /// </summary>
 public override void Stop()
 {
     if (_running)
     {
         if (_fireDTV != null)
         {
             _fireDTV.CloseDrivers();
         }
         if (_receiverWindow != null)
         {
             _receiverWindow.DestroyHandle();
             _receiverWindow = null;
         }
         _running = false;
     }
 }
Ejemplo n.º 7
0
        /// <summary>
        /// Stop the receiver.
        /// </summary>
        private void Stop_Receiver()
        {
            Debug.WriteLine("Stop_Receiver()");
            RawInput.RAWINPUTDEVICE[] _deviceTreeArray = _deviceList.ToArray();
            if (_deviceTreeArray != null)
            {
                for (int i = 0; i < _deviceTreeArray.Length; i++)
                {
                    _deviceTreeArray[i].dwFlags |= RawInput.RawInputDeviceFlags.Remove;
                }
                RegisterForRawInput(_deviceTreeArray);

                _receiverWindow.ProcMsg -= ProcMessage;
                _receiverWindow.DestroyHandle();
                _receiverWindow = null;
            }
        }
Ejemplo n.º 8
0
        /// <summary>
        /// Start the receiver.
        /// </summary>
        private void Start_Receiver()
        {
            Debug.Open("Philips MCE USB IR Receiver- Spinel plus.log");
            Debug.WriteLine("Start_Receiver()");
            _config = new Config();
            ConfigManagement.LoadSettings(ref _config);

            _firstRepeatDelay = _config.FirstRepeatDelay;
            _heldRepeatDelay  = _config.HeldRepeatDelay;

            if (_config.UseSystemRatesDelay)
            {
                _firstRepeatDelay = 250 + (SystemInformation.KeyboardDelay * 250);
                _heldRepeatDelay  = (int)(1000.0 / (2.5 + (SystemInformation.KeyboardSpeed * 0.888)));
            }

            // create receiver Window
            _receiverWindow          = new ReceiverWindow("Philips MCE USB IR Receiver- Spinel plus Receiver");
            _receiverWindow.ProcMsg += ProcMessage;

            // collect devices
            _deviceList = new List <RawInput.RAWINPUTDEVICE>();
            RawInput.RAWINPUTDEVICE _device;

            foreach (Device device in supportedDevices)
            {
                foreach (DeviceDetails details in device.DeviceDetails)
                {
                    _device             = new RawInput.RAWINPUTDEVICE();
                    _device.usUsage     = details.Usage;
                    _device.usUsagePage = details.UsagePage;
                    _device.dwFlags     = RawInput.RawInputDeviceFlags.InputSink;
                    _device.hwndTarget  = _receiverWindow.Handle;
                    _deviceList.Add(_device);
                }
            }

            if (!RegisterForRawInput(_deviceList.ToArray()))
            {
                Debug.WriteLine("ERROR: Failed to register for HID Raw input");
                throw new InvalidOperationException("Failed to register for HID Raw input");
            }

            Debug.WriteLine("Start_Receiver(): completed");
        }
 /// <summary>
 /// Start the IR Server plugin.
 /// </summary>
 public override void Start()
 {
   _receiverWindow = new ReceiverWindow("CoolCommand Receiver");
   _receiverWindow.ProcMsg += WndProc;
 }
    /// <summary>
    /// Start the IR Server plugin.
    /// </summary>
    public override void Start()
    {
      LoadSettings();

      _receiverWindow = new ReceiverWindow(WindowTitle);
      _receiverWindow.ProcMsg += ProcMsg;
    }
Ejemplo n.º 11
0
 /// <summary>
 /// Stop the IR Server plugin.
 /// </summary>
 public override void Stop()
 {
     _receiverWindow.ProcMsg -= ProcMsg;
     _receiverWindow.ReleaseHandle();
     _receiverWindow = null;
 }
Ejemplo n.º 12
0
    /// <summary>
    /// Start the IR Server plugin.
    /// </summary>
    public override void Start()
    {
      if (!_running)
      {
        LoadSettings();

        _receiverWindow = new ReceiverWindow("FireDTV Receiver");
        _receiverWindow.ProcMsg += WndProc;

        _fireDTV = new FireDTVControl(_receiverWindow.Handle);
        if (!_fireDTV.OpenDrivers())
        {
          throw new InvalidOperationException("Failed to start FireDTV interface");
        }

        // Search for the named sourcefilter
        FireDTVSourceFilterInfo sourceFilter = string.IsNullOrEmpty(_deviceName) ? _fireDTV.SourceFilters.Item(0) : _fireDTV.SourceFilters.ItemByName(_deviceName);

        if (sourceFilter != null)
        {
          sourceFilter.StartFireDTVRemoteControlSupport();
          _running = true;
        }
        else
        {
          throw new InvalidOperationException("Failed to start FireDTV interface");
        }
      }
    }
 /// <summary>
 /// Stop the IR Server plugin.
 /// </summary>
 public override void Stop()
 {
   _receiverWindow.ProcMsg -= ProcMsg;
   _receiverWindow.ReleaseHandle();
   _receiverWindow = null;
 }
        /// <summary>
        /// Stop the IR Server plugin for HID devices.
        /// </summary>
        private void Stop_HID()
        {
            DebugWriteLine("Stop_HID()");
            if (_deviceTree != null)
            {
                _deviceTree[0].dwFlags |= RawInput.RawInputDeviceFlags.Remove;
                _deviceTree[1].dwFlags |= RawInput.RawInputDeviceFlags.Remove;
                _deviceTree[2].dwFlags |= RawInput.RawInputDeviceFlags.Remove;
                RegisterForRawInput(_deviceTree);

                _receiverWindowHID.ProcMsg -= ProcMessage;
                _receiverWindowHID.DestroyHandle();
                _receiverWindowHID = null;
            }
        }
Ejemplo n.º 15
0
    /// <summary>
    /// Initializes a new instance of the <see cref="IrRemoteWrapper"/> class.
    /// </summary>
    public IrRemoteWrapper()
    {
      string dllPath = GetDllPath();
      if (String.IsNullOrEmpty(dllPath))
        throw new DirectoryNotFoundException("Could not find IrRemote.dll folder");

      SetDllDirectory(dllPath);

      _window = new ReceiverWindow();
      _window.ProcMsg = WndProc;
    }
    /// <summary>
    /// Stop the receiver.
    /// </summary>
    private void Stop_Receiver()
    {
      Debug.WriteLine("Stop_Receiver()");
      RawInput.RAWINPUTDEVICE[] _deviceTreeArray = _deviceList.ToArray();
      if (_deviceTreeArray != null)
      {
        for (int i = 0; i < _deviceTreeArray.Length; i++)
        {
          _deviceTreeArray[i].dwFlags |= RawInput.RawInputDeviceFlags.Remove;
        }
        RegisterForRawInput(_deviceTreeArray);

        _receiverWindow.ProcMsg -= ProcMessage;
        _receiverWindow.DestroyHandle();
        _receiverWindow = null;
      }
    }
    /// <summary>
    /// Stop the IR Server plugin.
    /// </summary>
    public override void Stop()
    {
      _device.dwFlags |= RawInput.RawInputDeviceFlags.Remove;
      RegisterForRawInput(_device);

      _receiverWindow.ProcMsg -= ProcMessage;
      _receiverWindow.DestroyHandle();
      _receiverWindow = null;
    }
Ejemplo n.º 18
0
 /// <summary>
 /// Stop the IR Server plugin.
 /// </summary>
 public override void Stop()
 {
   if (_running)
   {
     if (_fireDTV != null)
     {
       _fireDTV.CloseDrivers();
     }
     if (_receiverWindow != null)
     {
       _receiverWindow.DestroyHandle();
       _receiverWindow = null;
     }
     _running = false;
   }
 }
Ejemplo n.º 19
0
 /// <summary>
 /// Stop the IR Server plugin.
 /// </summary>
 public override void Stop()
 {
     _receiverWindow.DestroyHandle();
     _receiverWindow = null;
 }
Ejemplo n.º 20
0
 /// <summary>
 /// Start the IR Server plugin.
 /// </summary>
 public override void Start()
 {
     _receiverWindow          = new ReceiverWindow("CoolCommand Receiver");
     _receiverWindow.ProcMsg += WndProc;
 }
    /// <summary>
    /// Start the IR Server plugin.
    /// </summary>
    public override void Start()
    {
      LoadSettings();

      _receiverWindow = new ReceiverWindow("Custom HID Receiver");
      _receiverWindow.ProcMsg += ProcMessage;

      _device.dwFlags = RawInput.RawInputDeviceFlags.InputSink;
      _device.hwndTarget = _receiverWindow.Handle;

      if (!RegisterForRawInput(_device))
        throw new InvalidOperationException("Failed to register for HID Raw input");
    }
 /// <summary>
 /// Stop the IR Server plugin.
 /// </summary>
 public override void Stop()
 {
   _receiverWindow.DestroyHandle();
   _receiverWindow = null;
 }
        /// <summary>
        /// Start the IR Server plugin for HID device.
        /// </summary>
        private void Start_HID()
        {
            DebugOpen("iMon Receiver.log");
            DebugWriteLine("Start_HID()");
            InitializeKeyboardState();
            LoadSettings();

            // locate the iMon devices
            FindDevices_HID();
            if (_enableRemoteInput & (RemoteDevice > -1))
            {
                DebugWriteLine("Remote Usage: {0}", _deviceTree[RemoteDevice].usUsage);
                DebugWriteLine("Remote UsagePage: {0}", _deviceTree[RemoteDevice].usUsagePage);
                DebugWriteLine("Remote Repeat Delay: {0}", _remoteFirstRepeat);
                DebugWriteLine("Remote Held Delay: {0}", _remoteHeldRepeats);
                DebugWriteLine("");
            }
            if (_enableKeyboardInput & (KeyboardDevice > -1))
            {
                DebugWriteLine("Keyboard Usage: {0}", _deviceTree[KeyboardDevice].usUsage);
                DebugWriteLine("Keyboard UsagePage: {0}", _deviceTree[KeyboardDevice].usUsagePage);
                DebugWriteLine("Keyboard Repeat Delay: {0}", _keyboardFirstRepeat);
                DebugWriteLine("Keyboard Held Delay: {0}", _keyboardHeldRepeats);
                DebugWriteLine("");
            }
            if (_enableMouseInput & (MouseDevice > -1))
            {
                DebugWriteLine("Mouse Usage: {0}", _deviceTree[MouseDevice].usUsage);
                DebugWriteLine("Mouse UsagePage: {0}", _deviceTree[MouseDevice].usUsagePage);
                DebugWriteLine("Mouse Sensitivity: {0}", _mouseSensitivity);
                DebugWriteLine("");
            }

            DebugWriteLine("Configured Hardware Mode: {0}", _remoteMode);
            DebugWriteLine("Configured Remote MouseStick Mode: {0}", _padMode);
            DebugWriteLine("Using Remote MouseStick Mode: {0}\n", _padMode);

            // get a file handle for the HID Remote device

            HID_OpenDevice(ref _deviceHandle);
            int lastError = Marshal.GetLastWin32Error();

            if (_deviceHandle.IsInvalid)
            {   
                DebugWriteLine("Start_HID(): Failed to get open device");
                // throw new Win32Exception(lastError, "Failed to get open device");
            }

            SetHid(_remoteMode);

            // make sure the iMon hardware is in the right state
            if (_remoteMode == RemoteMode.iMON)
            {
                SetHid(_padMode);
            }

            _receiverWindowHID = new ReceiverWindow("iMon HID Receiver");
            _receiverWindowHID.ProcMsg += ProcMessage;

            if (RemoteDevice > -1)
            {
                _deviceTree[RemoteDevice].dwFlags = RawInput.RawInputDeviceFlags.InputSink;
                _deviceTree[RemoteDevice].hwndTarget = _receiverWindowHID.Handle;
            }
            if (KeyboardDevice > -1)
            {
                _deviceTree[KeyboardDevice].dwFlags = RawInput.RawInputDeviceFlags.InputSink |
                                                      RawInput.RawInputDeviceFlags.NoLegacy;
                _deviceTree[KeyboardDevice].hwndTarget = _receiverWindowHID.Handle;
            }
            if (MouseDevice > -1)
            {
                _deviceTree[MouseDevice].dwFlags = RawInput.RawInputDeviceFlags.InputSink;
                _deviceTree[MouseDevice].hwndTarget = _receiverWindowHID.Handle;
            }

            if (!_enableRemoteInput & !_enableKeyboardInput & !_enableMouseInput)
            {
                DebugWriteLine("ERROR: no input devices enabled");
                throw new InvalidOperationException("no input devices enabled");
            }

            if (_deviceTree != null)
            {
                if (_deviceTree.Length == 0)
                {
                    DebugWriteLine("ERROR: no iMon devices found");
                    throw new InvalidOperationException("no iMon devices found");
                }

                if (!RegisterForRawInput(_deviceTree))
                {
                    DebugWriteLine("ERROR: Failed to register for HID Raw input");
                    throw new InvalidOperationException("Failed to register for HID Raw input");
                }
            }
            DebugWriteLine("Start_HID(): completed");
        }
    /// <summary>
    /// Start the receiver.
    /// </summary>
    private void Start_Receiver()
    {
      Debug.Open("Philips MCE USB IR Receiver- Spinel plus.log");
      Debug.WriteLine("Start_Receiver()");
      _config = new Config();
      ConfigManagement.LoadSettings(ref _config);

      _firstRepeatDelay = _config.FirstRepeatDelay;
      _heldRepeatDelay = _config.HeldRepeatDelay;

      if (_config.UseSystemRatesDelay)
      {
        _firstRepeatDelay = 250 + (SystemInformation.KeyboardDelay*250);
        _heldRepeatDelay = (int) (1000.0/(2.5 + (SystemInformation.KeyboardSpeed*0.888)));
      }

      // create receiver Window
      _receiverWindow = new ReceiverWindow("Philips MCE USB IR Receiver- Spinel plus Receiver");
      _receiverWindow.ProcMsg += ProcMessage;

      // collect devices
      _deviceList = new List<RawInput.RAWINPUTDEVICE>();
      RawInput.RAWINPUTDEVICE _device;

      foreach (Device device in supportedDevices)
      {
        foreach (DeviceDetails details in device.DeviceDetails)
        {
          _device = new RawInput.RAWINPUTDEVICE();
          _device.usUsage = details.Usage;
          _device.usUsagePage = details.UsagePage;
          _device.dwFlags = RawInput.RawInputDeviceFlags.InputSink;
          _device.hwndTarget = _receiverWindow.Handle;
          _deviceList.Add(_device);
        }
      }

      if (!RegisterForRawInput(_deviceList.ToArray()))
      {
        Debug.WriteLine("ERROR: Failed to register for HID Raw input");
        throw new InvalidOperationException("Failed to register for HID Raw input");
      }

      Debug.WriteLine("Start_Receiver(): completed");
    }