KeyboardHook 1.3.0
dotnet add package KeyboardHook --version 1.3.0
NuGet\Install-Package KeyboardHook -Version 1.3.0
<PackageReference Include="KeyboardHook" Version="1.3.0" />
<PackageVersion Include="KeyboardHook" Version="1.3.0" />
<PackageReference Include="KeyboardHook" />
paket add KeyboardHook --version 1.3.0
#r "nuget: KeyboardHook, 1.3.0"
#:package KeyboardHook@1.3.0
#addin nuget:?package=KeyboardHook&version=1.3.0
#tool nuget:?package=KeyboardHook&version=1.3.0
KeyboardHook
KeyboardHook provides a cross-platform global hook for keyboard, mouse and event simulation.
Supported Platforms
| Windows | macOS | Linux (only X11) | |
|---|---|---|---|
| x86 | Yes | N/A | N/A |
| x64 | Yes | N/A | Yes |
| Arm32 | N/A | N/A | N/A |
| Arm64 | N/A | Yes | N/A |
Global Hooks
KeyboardHook provides the IKeyboardHook interface. Here's a basic usage example:
IKeyboardHook keyboardHook = KeyboardHookFactory.Create();
keyboardHook.KeyDown += KeyboardHook_KeyDown;
keyboardHook.KeyUp += KeyboardHook_KeyUp;
.........................................................
private void KeyboardHook_KeyUp(Enums.KeyboardKey key)
{
KeyUpStr = key.ToString();
}
private void KeyboardHook_KeyDown(Enums.KeyboardKey key)
{
KeyDownStr = key.ToString();
}
KeyboardHook provides the IMouseHook interface. Here's a basic usage example
IMouseHook _mouseHook = MouseHookFactory.Create();
_mouseHook.ButtonUp += _mouseHook_ButtonUp;
_mouseHook.ButtonDown += _mouseHook_ButtonDown;
.........................................................
private void _mouseHook_ButtonDown(MouseButton btn)
{
MouseButtonDownStr = btn.ToString();
}
private void _mouseHook_ButtonUp(Enums.MouseButton btn)
{
MouseButtonUpStr = btn.ToString();
}
Emulate keystrokes and mouse buttons
You can emulate keystrokes using SendKey and SendKeyCombo. Here is a basic example of using keyboard emulation:
IKeyboardHook hook = KeyboardHookFactory.Create();
// Demonstrate sending a single key programmatically.
hook.SendKey(KeyboardKey.A);
// Demonstrate sending a key combination (Ctrl+C).
hook.SendKeyCombo(KeyboardKey.LControl, KeyboardKey.L);
Here is a basic example of using mouse button emulation:
IMouseHook hook = KeyboardHookFactory.Create();
// Demonstrate sending a single mouse button programmatically.
hook.SendButton(MouseButton.Left);
// Demonstrate sending a double left click programmatically.
hook.SendButton(MouseButton.Left, MouseButton.Left);
The library is experimental, if you suddenly have any questions or problems, write an issue or make a fork.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.