SIL.Windows.Forms.Keyboarding 17.0.0

Prefix Reserved
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package SIL.Windows.Forms.Keyboarding --version 17.0.0
                    
NuGet\Install-Package SIL.Windows.Forms.Keyboarding -Version 17.0.0
                    
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="SIL.Windows.Forms.Keyboarding" Version="17.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SIL.Windows.Forms.Keyboarding" Version="17.0.0" />
                    
Directory.Packages.props
<PackageReference Include="SIL.Windows.Forms.Keyboarding" />
                    
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 SIL.Windows.Forms.Keyboarding --version 17.0.0
                    
#r "nuget: SIL.Windows.Forms.Keyboarding, 17.0.0"
                    
#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 SIL.Windows.Forms.Keyboarding@17.0.0
                    
#: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=SIL.Windows.Forms.Keyboarding&version=17.0.0
                    
Install as a Cake Addin
#tool nuget:?package=SIL.Windows.Forms.Keyboarding&version=17.0.0
                    
Install as a Cake Tool

The SIL.Windows.Forms.Keyboarding library provides cross-platform functionality for keyboard selection and switching in Windows Forms applications. Currently, this library supports system and Keyman keyboards on Windows, and X keyboard extension (XKB) and Intelligent Input Bus (IBus) keyboards on Linux.

Product Compatible and additional computed target framework versions.
.NET net8.0-windows7.0 is compatible.  net9.0-windows was computed.  net10.0-windows was computed. 
.NET Framework net462 is compatible.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on SIL.Windows.Forms.Keyboarding:

Package Downloads
SIL.Windows.Forms.WritingSystems

SIL.Windows.Forms.WritingSystems contains Windows Forms UI elements for displaying and editing writing systems as defined by the SIL.WritingSystems assembly.

SIL.Windows.Forms.Keyboarding.Tests

Unit tests for SIL.Windows.Forms.Keyboarding

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
18.0.0-beta0001 44 2/4/2026
17.0.0 97 2/2/2026
17.0.0-beta0097 61 1/5/2026
17.0.0-beta0095 235 12/18/2025
17.0.0-beta0094 228 12/17/2025
17.0.0-beta0093 227 12/16/2025
17.0.0-beta0092 206 12/15/2025
17.0.0-beta0091 82 12/12/2025
17.0.0-beta0089 796 12/10/2025
17.0.0-beta0088 392 12/9/2025
17.0.0-beta0087 398 12/8/2025
17.0.0-beta0084 384 12/8/2025
17.0.0-beta0082 140 12/5/2025
17.0.0-beta0080 220 11/4/2025
17.0.0-beta0079 186 10/28/2025
17.0.0-beta0077 148 10/27/2025
17.0.0-beta0075 149 10/23/2025
17.0.0-beta0072 556 10/2/2025
17.0.0-beta0070 161 9/30/2025
16.2.0 575 9/30/2025
Loading failed

Changes since version 16.2.0

Added:
- [SIL.Core.Clearshare] Added new classes MetadataCore, CreativeCommonsLicenseInfo, and CustomLicenseInfo; these are Winforms-free base versions of the classes Metadata, CreativeCommonsLicense, and CustomLicense.
- [SIL.Core.Clearshare and SIL.Windows.Forms.Clearshare] Added LicenseUtils and LicenseWithImageUtils to handle the FromXmp method for creating a license. LicenseUtils constructs a bare license object that is Winforms-independent; LicenseWithImageUtils constructs a Winforms-dependent license object with access to license images.
- [SIL.Core.Clearshare] New methods "GetIsStringAvailableForLangId" and "GetDynamicStringOrEnglish" were added to Localizer for use in LicenseInfo's "GetBestLicenseTranslation" method, to remove LicenseInfo's L10NSharp dependency.
- [SIL.Windows.Forms.Clearshare] New ILicenseWithImage interface handles "GetImage" method for Winforms-dependent licenses, implemented in CreativeCommonsLicense and CustomLicense, and formerly included in LicenseInfo.
- [SIL.Core.Clearshare] New tests MetadataBareTests are based on previous MetadataTests in SIL.Windows.Forms.Clearshare. The tests were updated to use ImageSharp instead of Winforms for handling images.

Fixed:
- [SIL.DictionaryServices] Fix memory leak in LiftWriter
- [SIL.WritingSystems] Fix IetfLanguageTag.GetGeneralCode to handle cases when zh-CN or zh-TW is a prefix and not the whole string.
- [SIL.WritingSystems] More fixes to consistently use 繁体中文 and 简体中文 for Traditional and Simplified Chinese native language names, and Chinese (Traditional) and Chinese (Simplified) for their English names.
- [SIL.Windows.Forms] Prevent BetterLabel from responding to OnTextChanged when it has been disposed.
- [SIL.Windows.Forms] Prevent ContributorsListControl.GetContributionFromRow from throwing an exception when the DataGridView has no valid rows selected.

Changed:
- [SIL.Windows.Forms.i18n, SIL.Core.Desktop.i18n] BREAKING CHANGE: Move L10NSharpLocalizer from Windows.Forms to Core.Desktop so it can be accessed without Winforms dependency.
- [SIL.Windows.Forms.Clearshare] BREAKING CHANGE: Made LicenseInfo class independent of Windows Forms and moved it from SIL.Windows.Forms.Clearshare to SIL.Core.Clearshare.
- The FromXmp method was moved to LicenseUtils and LicenseWithImageUtils to construct Winforms-independent and Winforms-dependent license types respectively.
- The FromToken method was moved from LicenseInfo to LicenseWithLogo, so it can return the Winforms-dependent license types. FromToken is only used in libpalaso tests and examples, and a Winforms-independent version of this method is not needed.
- The GetImage method from LicenseInfo was moved to the ILicenseWithImage interface, which is implemented by CreativeCommonsLicense and CustomLicense.
   - GetBestLicenseTranslation in LicenseInfo now uses Localizer instead of using L10NSharp.LocalizationManager.
- [SIL.Windows.Forms.Clearshare] Winforms-independent metadata and license functionality of Metadata, CreativeCommonsLicense, and CustomLicense were moved to new classes MetadataCore, CreativeCommonsLicenseInfo, and CustomLicenseInfo in SIL.Core.Clearshare. Metadata, CreativeCommonsLicense, and CustomLicense inherit from the Bare Winforms-free metadata and license versions.
- [SIL.Windows.Forms.Tests.Clearshare] Many tests from MetadataTests in SIL.Windows.Forms.Clearshare were moved to MetadataCoreTests in Core.Clearshare. Tests that use Winforms-specific versions of methods (e.g. Metadata.FromFile) were retained. Added checks to test that the correct (Winforms-dependent) License objects are created when loading from xmp, round tripping a license in a png, or saving metadata to tag.
- [SIL.Windows.Forms.Tests.Clearshare] LicenseInfoTests renamed LicenseWithLogoTests.
- [SIL.Windows.Forms] BREAKING CHANGE: Upgraded to L10nSharp v9. Any clients which also use L10nSharp must also upgrade to v9.
- [SIL.Windows.Forms] Add a reference to L10nSharp.Windows.Forms v9.
- [SIL.Windows.Forms.Keyboarding] BREAKING CHANGE: Upgraded to L10nSharp v9. Any clients which also use L10nSharp must also upgrade to v9.
- [SIL.Windows.Forms.Keyboarding] Add a reference to L10nSharp.Windows.Forms v9.
- [SIL.Windows.Forms] BREAKING CHANGE: ToolStripExtensions.InitializeWithAvailableUILocales() removed the ILocalizationManager parameter.  This method no longer provides functionality to display the localization dialog box in response to the user clicking More.

Removed:
- [SIL.Windows.Forms] In .NET 8 builds, removed Scanner and Camera options from the Image Toolbox.

See full changelog at https://github.com/sillsdev/libpalaso/blob/master/CHANGELOG.md