/// <summary> /// Start the IR Server plugin. /// </summary> public override void Start() { LoadSettings(); _receiverWindow = new ReceiverWindow(WindowTitle); _receiverWindow.ProcMsg += ProcMsg; }
/// <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() { _device.dwFlags |= RawInput.RawInputDeviceFlags.Remove; RegisterForRawInput(_device); _receiverWindow.ProcMsg -= ProcMessage; _receiverWindow.DestroyHandle(); _receiverWindow = null; }
/// <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> /// 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() { if (_running) { if (_fireDTV != null) { _fireDTV.CloseDrivers(); } if (_receiverWindow != null) { _receiverWindow.DestroyHandle(); _receiverWindow = null; } _running = false; } }
/// <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> /// 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> /// 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; } }
/// <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 IR Server plugin. /// </summary> public override void Stop() { _receiverWindow.DestroyHandle(); _receiverWindow = null; }
/// <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> /// 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"); }