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 32 2/4/2026
17.0.0 73 2/2/2026
17.0.0-beta0097 59 1/5/2026
17.0.0-beta0095 232 12/18/2025
17.0.0-beta0094 228 12/17/2025
17.0.0-beta0093 225 12/16/2025
17.0.0-beta0092 202 12/15/2025
17.0.0-beta0091 76 12/12/2025
17.0.0-beta0089 746 12/10/2025
17.0.0-beta0088 387 12/9/2025
17.0.0-beta0087 394 12/8/2025
17.0.0-beta0084 380 12/8/2025
17.0.0-beta0082 136 12/5/2025
17.0.0-beta0080 216 11/4/2025
17.0.0-beta0079 181 10/28/2025
17.0.0-beta0077 144 10/27/2025
17.0.0-beta0075 146 10/23/2025
17.0.0-beta0072 555 10/2/2025
17.0.0-beta0070 159 9/30/2025
16.2.0 572 9/30/2025
16.2.0-beta0043 88 9/26/2025
16.2.0-beta0040 240 9/15/2025
16.2.0-beta0037 231 9/15/2025
16.2.0-beta0034 162 9/9/2025
16.2.0-beta0029 110 9/5/2025
16.2.0-beta0027 160 9/4/2025
16.2.0-beta0025 158 9/3/2025
16.2.0-beta0022 146 8/21/2025
16.2.0-beta0020 135 8/21/2025
16.2.0-beta0018 222 8/7/2025
16.2.0-beta0016 217 8/7/2025
16.2.0-beta0013 368 7/25/2025
16.2.0-beta0008 398 7/25/2025
16.2.0-beta0005 490 7/24/2025
16.1.0 328 7/18/2025
16.1.0-beta0022 96 7/18/2025
16.1.0-beta0009 94 7/11/2025
16.1.0-beta0006 83 7/11/2025
16.1.0-beta0005 154 7/10/2025
16.1.0-beta0004 322 6/12/2025
16.0.1-beta0002 166 5/20/2025
16.0.1-beta0001 155 5/26/2025
16.0.0 303 5/20/2025
16.0.0-beta0162 153 5/20/2025
16.0.0-beta0159 147 5/20/2025
16.0.0-beta0158 137 5/17/2025
16.0.0-beta0146 236 5/13/2025
16.0.0-beta0145 232 5/12/2025
16.0.0-beta0144 93 4/25/2025
16.0.0-beta0143 101 4/25/2025
16.0.0-beta0141 208 4/16/2025
16.0.0-beta0140 159 4/7/2025
16.0.0-beta0127 119 4/4/2025
16.0.0-beta0126 136 3/28/2025
16.0.0-beta0125 171 3/27/2025
16.0.0-beta0124 152 3/27/2025
16.0.0-beta0109 156 3/26/2025
16.0.0-beta0104 477 3/24/2025
16.0.0-beta0103 152 3/18/2025
16.0.0-beta0102 157 3/18/2025
16.0.0-beta0090 156 3/18/2025
16.0.0-beta0088 94 3/14/2025
16.0.0-beta0083 164 3/12/2025
16.0.0-beta0079 177 3/8/2025
16.0.0-beta0068 211 3/5/2025
16.0.0-beta0067 229 3/5/2025
16.0.0-beta0066 211 3/5/2025
16.0.0-beta0063 212 3/5/2025
16.0.0-beta0061 211 3/4/2025
16.0.0-beta0052 107 2/24/2025
16.0.0-beta0051 95 2/21/2025
16.0.0-beta0050 109 2/21/2025
16.0.0-beta0049 88 2/20/2025
16.0.0-beta0048 122 2/20/2025
16.0.0-beta0047 110 2/18/2025
16.0.0-beta0046 123 2/18/2025
16.0.0-beta0045 112 2/17/2025
16.0.0-beta0034 127 2/17/2025
16.0.0-beta0033 121 2/17/2025
16.0.0-beta0032 106 2/13/2025
16.0.0-beta0031 117 2/13/2025
16.0.0-beta0021 108 2/12/2025
16.0.0-beta0020 113 2/12/2025
16.0.0-beta0019 127 2/11/2025
16.0.0-beta0017 96 2/7/2025
16.0.0-beta0016 107 2/7/2025
16.0.0-beta0012 90 2/6/2025
16.0.0-beta0011 90 2/6/2025
16.0.0-beta0010 101 2/5/2025
16.0.0-beta0009 107 2/5/2025
15.0.1-beta0007 108 1/27/2025
15.0.1-beta0004 97 1/24/2025
15.0.1-beta0003 132 1/23/2025
15.0.1-beta0002 96 1/13/2025
15.0.0 407 1/7/2025
15.0.0-beta0170 95 1/7/2025
15.0.0-beta0165 107 1/2/2025
15.0.0-beta0163 110 12/20/2024
15.0.0-beta0135 119 12/20/2024
15.0.0-beta0133 95 12/3/2024
15.0.0-beta0128 91 11/19/2024
15.0.0-beta0122 86 11/19/2024
15.0.0-beta0117 1,271 11/14/2024
15.0.0-beta0115 105 11/12/2024
15.0.0-beta0114 103 11/7/2024
15.0.0-beta0112 106 10/30/2024
15.0.0-beta0111 106 10/28/2024
15.0.0-beta0102 92 10/25/2024
15.0.0-beta0101 99 10/24/2024
15.0.0-beta0099 100 10/24/2024
15.0.0-beta0098 95 10/24/2024
15.0.0-beta0097 108 10/17/2024
15.0.0-beta0096 103 10/11/2024
15.0.0-beta0093 105 10/10/2024
15.0.0-beta0091 108 10/8/2024
15.0.0-beta0083 133 9/6/2024
15.0.0-beta0082 106 8/28/2024
15.0.0-beta0081 260 8/28/2024
15.0.0-beta0079 113 8/27/2024
15.0.0-beta0067 122 8/23/2024
15.0.0-beta0051 150 8/20/2024
14.2.0-beta0022 121 8/15/2024
14.2.0-beta0021 116 8/15/2024
14.2.0-beta0020 100 8/12/2024
14.2.0-beta0019 119 8/1/2024
14.2.0-beta0014 91 8/1/2024
14.2.0-beta0012 102 8/1/2024
14.2.0-beta0010 91 8/1/2024
14.2.0-beta0009 114 6/10/2024
14.1.2-beta0002 141 6/7/2024
14.1.1 406 5/23/2024
14.1.1-beta0004 111 5/23/2024
14.1.1-beta0002 105 5/14/2024
14.1.0 149 5/13/2024
14.1.0-beta0007 87 5/13/2024
14.1.0-beta0005 106 5/9/2024
14.0.1-beta0003 84 5/1/2024
14.0.1-beta0001 118 4/15/2024
14.0.0 219 4/9/2024
13.0.1 446 1/9/2024
13.0.0 232 12/8/2023
12.0.1 423 5/26/2023
12.0.0 466 2/15/2023
11.0.1 256 1/27/2023
11.0.0 353 1/21/2023
10.1.0 354 8/26/2022
10.0.0 432 8/4/2022
9.0.0 740 6/3/2022
8.0.0 13,614 3/4/2021
7.0.0 925 8/29/2019

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