Skip to content

Releases: TolikPylypchuk/SharpHook

v5.3.0

24 Feb 16:13
135289f

Choose a tag to compare

This release adds the ability to run keyboard-only and mouse-only global hooks. It also fixes an issue with simulating key press/release events for some keys on Windows. libuiohook was updated to commit 963415f.

v5.2.3

01 Feb 22:58
eaadf9e

Choose a tag to compare

This release fixes Windows x86 support for .NET Framework.

v5.2.2

13 Jan 15:34
472d8d9

Choose a tag to compare

This release fixes libuiohook resolution for Linux Arm64 in package targets. Also, package targets are now executed only for .NET Framework since they aren't needed for .NET/.NET Core.

v5.2.1

03 Jan 20:34
b66bde0

Choose a tag to compare

This release fixes HookEventArgs.IsEventSimulated - previously it always returned true. Also, libuiohook was updated to commit 7dbdc09 which includes a fix for kCGEventTapDisabledByTimeout breaking the global hook on macOS. Additionally, the packages are now marked as AOT-compatible.

v5.2.0

16 Dec 21:58
adddf0c

Choose a tag to compare

This release adds the ability to distinguish real and simulated events and deprecates key codes which don't exist on modern keyboards. libuiohook was updated to commit d710f0f.

v5.1.2

25 Nov 20:40
5c70465

Choose a tag to compare

This release fixes an issue with key events changing the way some applications handle Alt keys on Windows. It also adds .NET 8 as a target. libuiohook was updated to commit 9027a77.

v5.1.1

13 Oct 20:56
1ed8bd8

Choose a tag to compare

This release fixes an issue with key events not being simulated on Linux without a running global hook. libuiohook was updated to commit a8b6506.

v5.1.0

08 Oct 20:25
7df0785

Choose a tag to compare

This release adds a way to simulate multiple mouse clicks on macOS. Also, mouse coordinates were fixed for event simulation on Windows with multiple screens, as well as some events being ignored. libuiohook was updated to commit 2712b31.

v5.0.0

10 Aug 20:42
6151700

Choose a tag to compare

This is probably the largest release since v1.0.0 and it contains multiple new features and bug fixes, as well as breaking changes.

Platform Support

  • Support for Mac Catalyst was added which makes it possible to use SharpHook in .NET MAUI apps on macOS.

  • The minimum .NET Framework version was bumped to 4.6.2.

  • Support for Windows on Arm32 was removed.

Breaking Changes

  • Almost all KeyCode values were changed. New codes were added and some were removed. The actual enum values are meaningless and may be changed again in the future.

  • MouseWheelEventData doesn't contain Amount anymore.

  • Mouse wheel simulation doesn't accept the amount anymore. Instead it accepts the scroll direction and type which makes it possible to simulate horizontal scrolling.

  • The meaning of the mouse wheel rotation value was changed - a positive value indicates that the wheel is rotated up or left, and a negative value indicates that the wheel is rotated down or right.

  • KeyboardEventData.KeyChar was renamed to KeyboardEventData.RawKeyChar and the KeyboardEventData.KeyChar property was added.

  • LogEntryParser is now a singleton and doesn't have a public constructor.

  • The constants in the MouseWheelScrollDirection enum were shortened: VerticalDirection to Vertical and HorizontalDirection to Horizontal.

New Features

  • Text entry simulation was added.

  • Low-level functionality providers were added - they can be used instead of directly using the UioHook class.

  • Horizontal mouse wheel simulation is now possible.

  • Classes which help with testing were added.

  • Reactive global hook can now accept a default scheduler which will be used for all observables.

  • Extension methods for SharpHook.Native.ModifierMask were added.

Bug Fixes

  • Global hooks can now be created and disposed multiple times on Windows without problems.

  • Many key code mappings to OS-specific key codes were fixed.

  • KeyTyped events are now better at determining which characters should be produced by key presses on Windows.

Other Changes

  • libuiohook was updated to commit 6f42599.

  • All methods in all structs in the UioHook.Native namespace are now marked as readonly.

  • SharpHook.Reactive now depends on Rx.NET 6.0.0.

  • Docs now use a new theme.

v4.2.1

18 Jun 19:42
7c5eac3

Choose a tag to compare

In this release libuiohook was updated to commit 34f279c which fixes a problem with getting screen info for multiple screens on Windows. Also, a memory leak from getting screen info was fixed.