/// <param name="eventReceiver">A instance of <see cref="IKeyboardEventReceiver"/> which receives keyboard events.</param> public InputSource(IKeyboardEventReceiver eventReceiver) { if (eventReceiver == null) { throw new ArgumentNullException(nameof(eventReceiver)); } _keyboardEventReceiver = new WeakReference <IKeyboardEventReceiver>( eventReceiver); _keyboardHook = SetupKeyboardHook(OnRawKeyboardInputProcessed); }
public InputSource( IKeyboardEventReceiver keyboardEventReceiver = null, IMouseEventReceiver mouseEventReceiver = null) { if (keyboardEventReceiver == null && mouseEventReceiver == null) { throw new InvalidOperationException(); } if (keyboardEventReceiver != null) { keyboardEventReceiverRef = new WeakReference <IKeyboardEventReceiver>(keyboardEventReceiver); keyboardHook = new KeyboardHook(); keyboardHook.RawInputProcessed += OnRawKeyboardInputProcessed; } if (mouseEventReceiver != null) { mouseEventReceiverRef = new WeakReference <IMouseEventReceiver>(mouseEventReceiver); mouseHook = new MouseHook(); mouseHook.RawInputProcessed += OnRawMouseInputProcessed; } }
/// <param name="keyboardEventReceiver">A instance of <see cref="IKeyboardEventReceiver"/> which receives keyboard events.</param> /// <param name="mouseEventReceiver">A instance of <see cref="IMouseEventReceiver"/> which receives mouse events.</param> public InputSource( IKeyboardEventReceiver keyboardEventReceiver, IMouseEventReceiver mouseEventReceiver) { if (keyboardEventReceiver == null) { throw new ArgumentNullException(nameof(keyboardEventReceiver)); } if (mouseEventReceiver == null) { throw new ArgumentNullException(nameof(mouseEventReceiver)); } _keyboardEventReceiver = new WeakReference <IKeyboardEventReceiver>( keyboardEventReceiver); _mouseEventReceiver = new WeakReference <IMouseEventReceiver>( mouseEventReceiver); _keyboardHook = SetupKeyboardHook(OnRawKeyboardInputProcessed); _mouseHook = SetupMouseHook(OnRawMouseInputProcessed); }