SIL.Windows.Forms.Keyboarding
17.0.0
Prefix Reserved
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
<PackageReference Include="SIL.Windows.Forms.Keyboarding" Version="17.0.0" />
<PackageVersion Include="SIL.Windows.Forms.Keyboarding" Version="17.0.0" />
<PackageReference Include="SIL.Windows.Forms.Keyboarding" />
paket add SIL.Windows.Forms.Keyboarding --version 17.0.0
#r "nuget: SIL.Windows.Forms.Keyboarding, 17.0.0"
#:package SIL.Windows.Forms.Keyboarding@17.0.0
#addin nuget:?package=SIL.Windows.Forms.Keyboarding&version=17.0.0
#tool nuget:?package=SIL.Windows.Forms.Keyboarding&version=17.0.0
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 | Versions 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. |
-
.NETFramework 4.6.2
- ibusdotnet (>= 2.0.3)
- icu.net (>= 3.0.1)
- KeymanLegacyBundle (>= 1.0.0)
- L10NSharp (>= 9.0.0-beta0001)
- L10NSharp.Windows.Forms (>= 9.0.0-beta0001)
- Mono.Unix (>= 7.1.0-final.1.21458.1)
- SIL.Core (>= 17.0.0)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
-
.NETFramework 4.8
- ibusdotnet (>= 2.0.3)
- icu.net (>= 3.0.1)
- KeymanLegacyBundle (>= 1.0.0)
- L10NSharp (>= 9.0.0-beta0001)
- L10NSharp.Windows.Forms (>= 9.0.0-beta0001)
- Mono.Unix (>= 7.1.0-final.1.21458.1)
- SIL.Core (>= 17.0.0)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
-
net8.0-windows7.0
- ibusdotnet (>= 2.0.3)
- icu.net (>= 3.0.1)
- KeymanLegacyBundle (>= 1.0.0)
- L10NSharp (>= 9.0.0-beta0001)
- L10NSharp.Windows.Forms (>= 9.0.0-beta0001)
- Mono.Unix (>= 7.1.0-final.1.21458.1)
- SIL.Core (>= 17.0.0)
- System.Runtime.CompilerServices.Unsafe (>= 6.1.2)
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 |
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