SharpHook

SharpHook provides a cross-platform global keyboard and mouse hook, event simulation, and text entry simulation for .NET

MIT License

Stars
302
SharpHook - v4.0.0

Published by TolikPylypchuk almost 2 years ago

This release contains a couple breaking changes and new features. Refer to the migration guide for specifics.

  • .NET 7 support was added, and .NET Core 3.1/.NET 5 support was removed (though still available through .NET Standard 2.0).
  • HookEventArgs now contains the SuppressEvent property instead of Reserved.
  • KeyboardEventData.KeyChar is now of type ushort instead of char.
  • Simulating mouse presses and releases now requires providing mouse pointer coordinates.
  • The ability to make RunAsync create a background thread was added.
  • KeyCode.VcPrintscreen was renamed to KeyCode.VcPrintScreen.
  • Versioned libuiohook binaries for macOS and Linux were removed from the NuGet package as they were bit-for-bit same as the unversioned binaries.
  • libuiohook is at commit 1ece4c4.
SharpHook - v3.1.3

Published by TolikPylypchuk almost 2 years ago

This release fixes copying libuiohook to the build output folder for .NET Framework-based projects.

SharpHook - v3.1.2

Published by TolikPylypchuk about 2 years ago

With this release simulated keyboard events now add scan code info on Windows.

SharpHook - v3.1.1

Published by TolikPylypchuk about 2 years ago

This release fixes the trackpad scrolling issue on Windows - previously the rotation value was always 0 which meant that the direction of the scroll couldn't be determined.

SharpHook - v3.1.0

Published by TolikPylypchuk about 2 years ago

With this release SharpHook now doesn't require Visual C++ Redistributable on Windows (except when the logging functionality is used). Also, an empty log source was added.

SharpHook - v3.0.2

Published by TolikPylypchuk over 2 years ago

This release fixes Windows x86 support.

SharpHook - v3.0.1

Published by TolikPylypchuk over 2 years ago

This release fixes a memory issue which arose only when debugging. Also, libuiohook was updated to commit de3f683.

SharpHook - v3.0.0

Published by TolikPylypchuk over 2 years ago

This release contains several breaking changes and new features. Refer to the migration guide for specifics.

  • The ability to get libuiohook logs was added.
  • Event simulation now ignores event masks not only on Windows, but everywhere, and returns a result.
  • UioHookEvent.Time now contains the event's UNIX timestamp.
  • IGlobalHook and IReactiveGlobalHook now contain the IsDisposed property.
  • The HookEvent<TArgs> class was removed from SharpHook.Reactive.
  • Several minor (but breaking) changes in the UioHook class.
  • libuiohook is now at version 1.3 and commit a887cde.
SharpHook - v2.0.0

Published by TolikPylypchuk over 2 years ago

This release contains several breaking changes and new features. Refer to the migration guide for specifics.

  • Global hooks now support both blocking and non-blocking running via the Run and RunAsync methods, and the Start method was removed.
  • Support for suppressing event propagation.
  • UioHookEvent.Time now has the correct type - ulong instead of ushort.
  • Global hooks now throw an exception if they are started when already running.
SharpHook - v1.1.0

Published by TolikPylypchuk almost 3 years ago

This release contains multiple new features:

  • Cross-platform input event simulation using libuiohook.

  • Support for Windows on Arm64.

  • MouseWheelEventData.Rotation now has the correct type - short instead of ushort. This is a tiny breaking change, but had to be fixed.

  • libuiohook was updated to commit 5cf864d.

SharpHook - v1.0.1

Published by TolikPylypchuk almost 3 years ago

This release includes one thing: libuiohook was updated to commit 28ccf9c.

SharpHook - v1.0.0

Published by TolikPylypchuk almost 3 years ago

The first stable release. It's basically the same as v1.0.0 Preview 4, but built with a GA release of .NET 6.

SharpHook - v1.0.0-preview.4

Published by TolikPylypchuk almost 3 years ago

This release fixes a bug in reactive global hooks - now the HookDisabled event is emitted correctly. Also, when global hooks are disposed, they now unset the hook callback function.

SharpHook - v1.0.0-preview.3

Published by TolikPylypchuk almost 3 years ago

This release makes the Dispose() method of global hooks safe to call when the hook is not running, and adds the ability to check whether a hook is running. Also, libuiohook was updated to the latest commit.

SharpHook - v1.0.0-preview.2

Published by TolikPylypchuk almost 3 years ago

A very minor release. The only changes are adding SharpHook.Native.ModifierMask.None and cleaning up package descriptions.

SharpHook - v1.0.0-preview.1

Published by TolikPylypchuk almost 3 years ago

This is the first usable release of SharpHook. All planned features have been implemented.

Currently in preview since it's built with an RC version of .NET 6. Also, some CI stuff might need fixing.

Badges
Extracted from project README
NuGet NuGet