private static void Log(object?sender, IHookEventArgs e) { if (e is IKeyboardEventArgs keyboard) { Console.WriteLine("[{0}] Keyboard: {1}, {2}, {3}", e.Time, keyboard.Key, keyboard.KeyState, keyboard.KeyChar); } else if (e is IMouseEventArgs mouse) { Console.WriteLine("[{0}] Mouse: ({1}; {2}){3}, {4}, {5}, {6}, {7}, {8}", e.Time, mouse.Coords.X, mouse.Coords.Y, mouse.Coords.IsRelative ? "R" : string.Empty, mouse.MouseEventType, mouse.Key, mouse.KeyState, mouse.IsDoubleClick, mouse.Delta); } else { Console.WriteLine("[{0}] Unknown", e.Time); } }
private void InvokeOnEvent(object sender, IHookEventArgs e) => OnEvent?.Invoke(sender, e);