OpenTK.Input 5.0.0-pre.11

Prefix Reserved
This is a prerelease version of OpenTK.Input.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package OpenTK.Input --version 5.0.0-pre.11
                    
NuGet\Install-Package OpenTK.Input -Version 5.0.0-pre.11
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="OpenTK.Input" Version="5.0.0-pre.11" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="OpenTK.Input" Version="5.0.0-pre.11" />
                    
Directory.Packages.props
<PackageReference Include="OpenTK.Input" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add OpenTK.Input --version 5.0.0-pre.11
                    
#r "nuget: OpenTK.Input, 5.0.0-pre.11"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package OpenTK.Input@5.0.0-pre.11
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=OpenTK.Input&version=5.0.0-pre.11&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=OpenTK.Input&version=5.0.0-pre.11&prerelease
                    
Install as a Cake Tool

Hid/Controller input library.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net8.0

    • No dependencies.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on OpenTK.Input:

Package Downloads
BioImager

A .NET microscopy imaging application based on Bio library. Supports various microscopes by using imported libraries & GUI automation. Supported libraries include Prior® & Zeiss® & all devices supported by Micromanager 2.0 and python-microscope.

RocketEngine.RERL

Rocket Engine Rendering Library

Pilz.Drawing.Drawing3D.OpenGLFactory

Package Description

OpenTKAvalonia

Package Description

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on OpenTK.Input:

Repository Stars
hybridizer-io/hybridizer-basic-samples
Examples of C# code compiled to GPU by hybridizer
Version Downloads Last Updated
5.0.0-pre.15 5,424 2025/8/24
5.0.0-pre.14 1,346 2025/7/11
5.0.0-pre.13 8,073 2024/11/11
5.0.0-pre.12 2,671 2024/9/25
5.0.0-pre.11 1,664 2024/8/9
5.0.0-pre.10 6,195 2024/3/7
5.0.0-pre.9 3,226 2023/10/16
5.0.0-pre.8 17,614 2022/10/28
4.9.4 2,110,690 2025/3/17
4.9.3 49,890 2024/12/10
4.9.2 1,144 2024/12/10
4.9.1 4,378 2024/12/2
4.8.2 314,447 2023/12/2
4.8.1 24,751 2023/9/27
4.8.0 55,619 2023/7/17
4.7.7 76,718 2023/2/23
4.7.6 8,968 2023/2/22
4.7.5 86,693 2022/9/8
4.7.4 42,521 2022/6/17
4.7.3 5,586 2022/6/17
Loading failed

Updated all projects to target .net8.0. (@NogginBops)
Removed `MathHelper` functions that just called directly into `Math` and `MathF`. (@BoyBaykiller)
Removed old quake inverse sqrt implementation in `MathHelper.InverseSqrtFast` in favour of `Math(F).ReciprocalSqrtEstimate`. (@BoyBaykiller)
SIMD optimized all MatrixNxM and VectorN equals checks. (@BoyBayKiller, @NogginBops)
Vector2d.SizeInBytes returns 16 instead of 8. (@BoyBayKiller)
Merged latest OpenTK 4.8.3 changes onto 5.0-pre.11. (@NogginBops)
This means that some changes from the upcoming 4.8.3 are also in this release.
See https://github.com/opentk/opentk/pull/1734 for full details.
Some of these changes includes:
Update to GLFW 3.4. (@NogginBops)
Add swizzle matrices and general math fixes. (@NogginBops)
Add `VectorN.Slerp` (spherical interpolation) and `VectorN.Elerp` (exponential interpolation). (@NogginBops)
Unclamp `MathHelper.Lerp` so t outside [0, 1] can be used. (@NogginBops)
[OpenAL fixes.](https://github.com/opentk/opentk/pull/1716) (@NogginBops)
Vulkan bindings changes:**
Added Vulkan API bindings in `OpenTK.Graphics.Vulkan`. Feedback welcome! (@NogginBops)
OpenGL bindings changes:**
Removed all automatic length calculations from the OpenGL bindings. (@NogginBops)
Added `Span&lt;T&gt;` and `T[]` overloads for functions without specified size. (@NogginBops)
Switch to using `out` by default, and use automatic and manual marking for `in` and `ref`. (@NogginBops)
Only convert `out` parameters to return values if they are the last `out` parameter. This removes some weird overloads. (@NogginBops)
Update to latest gl.xml and wgl.xml, resulting in more up to date API definition. (@NogginBops)
Don't generate return overloads for functions that return more than one item. (@NogginBops)
PAL2 changes:**
Introduced the `Toolkit` static class and `ToolkitOptions` which are the main interface for PAL2. (@NogginBops)
[Added Bejeweled PAL2 demo project.](https://github.com/opentk/opentk/tree/opentk5.0/tests/Bejeweled) (@NogginBops)
Removed the old `ComponentSet` class. (@NogginBops)
Added `IDialogComponent` for opening message boxes and open/save file dialogs. (@NogginBops)
Added `OpenGLGraphicsAPIHints.ContextValueSelector` callback which allows users to enumerate available backbuffer formats when creating a context. Defaults to `ContextValues.DefaultValuesSelector`. (@NogginBops)
Added `IWindowComponent.GetFramebufferSize` and `WindowFramebufferSize` event. (@NogginBops)
Added `IWindowComponent.IsFocused`. (@NogginBops)
Added `IWindowComponent.GetScaleFactor` (@NogginBops)
Added raw mouse motion API to `IMouseComponent`. (@NogginBops)
Added `PixelFormat`, `SwapMethod`, `RobustnessFlag`, `ResetNotificationStrategy`, `ResetIsolationFlag`, `NoErrorFlag`, `UseFlushControl`, and `ReleaseBehaviour` to `OpenGLGraphicsApiHints`. (@NogginBops)
Removed `IClipboardComponent.GetClipboardHTML`. (@NogginBops)
win32:
win32: Implemented `IDialogComponent`. (@NogginBops)
win32: Implemented `ContextValueSelector`. (@NogginBops)
win32: Add `OpenTK.Platform.Windows.OpenGLComponent.UseDwmFlushIfApplicable()` to control whether OpenTK should call `DwmFlush` to potentially fix Vsync issues. (@NogginBops)
win32: Fix issue where `ShellComponent.SetImmersiveDarkMode` wouldn't trigger a redraw of the window frame. (@NogginBops)
win32: Added `ShellComponent.SetWindowCornerPreference` to control Windows 11 rounded corners. (@NogginBops)
win32: Implemented `WindowComponent.GetScaleFactor`. (@NogginBops)
win32: Fixed issue where `WindowBorderStyle.FixedBorder` would still have the maximize button enabled. (@NogginBops)
win32: Fixed issue where `ContextStencilBits.None` and `ContextDepthBits.None` would throw an exception. (@NogginBops)
win32: Implemented `IWindowComponent.ProcessEvents(waitForEvents: true)`. (@NogginBops)
win32: Added `ToolkitOptions.Windows.EnableVisualStyles` (default true) which enables visual styles for message dialogs to work. (@NogginBops)
win32: Added `PixelFormat`, `SwapMethod`, `RobustnessFlag`, `ResetNotificationStrategy`, `ResetIsolationFlag`, `NoErrorFlag`, `UseFlushControl`, and `ReleaseBehaviour` in `OpenGLGraphicsApiHints`. (@NogginBops)
macOS:
macOS: Implemented `WindowMode.WindowedFullscreen`. (@NogginBops)
macOS: Implemented `MacOSDialogComponent.OpenFileDialog/SaveFileDialog`. (@NogginBops)
macOS: Implemented `MacOSClipboardComponent` except `MacOSClipboardComponent.GetClipboardAudio`. (@NogginBops)
macOS: Implemented `ClipboardUpdate` event. (@NogginBops)
macOS: Implemented `ContextValuesSelector` with default `OpenGLGraphicsApiHints.UseSelectorOnMacOS = false` due to large overhead enumerating context values on macOS. (@NogginBops)
macOS: Implemented `MacOSWindowComponent.GetFullscreenDisplay/SetFullscreenDisplay`. (@NogginBops)
macOS: Add `MacOSWindowComponent.SetFullscreenNoSpace` to set an window as fullscreen without opening a new space for the window. (@NogginBops)
macOS: Implemented `MacOSWindowComponent.SetCursorCaptureMode/GetCursorCaptureMode`. (@NogginBops)
macOS: Implemented `MacOSClipboardComponent.SetClipboardBitmap`. (@NogginBops)
macOS: Implemented `FileDrop` event. (@NogginBops)
macOS: Implemented `WindowScaleChange` event. (@NogginBops)
macOS: Implemented `MacOSWindowComponent.SetClientPosition`. (@NogginBops)
macOS: Implemented `MacOSWindowComponent.SetClientBounds`. (@NogginBops)
macOS: Implemented `MacOSWindowComponent.ScreenToClient/ClientToScreen`. (@NogginBops)
macOS: Implemented `MacOSWindowComponent.GetScaleFactor`. (@NogginBops)
macOS: Fixed Y flipping issue in `MacOSMouseComponent`. (@NogginBops)
macOS: Fixed invisible cursor. (@NogginBops)
macOS: Fix bug where `MacOSWindowComponent.SetMaxClientSize` would set the minimum client size. (@NogginBops)
x11:
x11: Implemented `X11DialogComponent` using Zenity when available. (@NogginBops)
x11: Set `WM_CLASS` to get proper window name in app switcher. (@NogginBops)
x11: Implemented `ThemeChange` event. (@NogginBops)
x11: Detect high contrast mode through `org.gnome.desktop.a11y.interface` when available. (@NogginBops)
x11: Detect power saver mode. (@NogginBops)
x11: Added `X11WindowComponent.GetIconifiedTitle/SetIconifiedTitle`. (@NogginBops)
x11: Fixed XRandR loading the correct .so file. (@NogginBops)
x11: Fixed color byte order for `X11CursorComponent.Create()`. (@NogginBops)
x11: Fixed issue where `ContextStencilBits.None` and `ContextDepthBits.None` would throw an exception. (@NogginBops)
x11: Implemented `FramebufferResize` event. (@NogginBops)
x11: Implemented `ContextValuesSelector`. (@NogginBops)
x11: Implemented `PixelFormat`, `SwapMethod`, `RobustnessFlag`, `ResetNotificationStrategy`, `ResetIsolationFlag`, `NoErrorFlag`, `UseFlushControl`, and `ReleaseBehaviour` in `OpenGLGraphicsApiHints`. (@NogginBops)
ANGLE:
ANGLE: Implemented `ContextValuesSelector`. (@NogginBops)
ANGLE: Known issue on x11 is that `ANGLEOpenGLComponent` will throw an exception.