I am using Hindi Indic Input 3 Language Pack for Hindi language. I need to provide multiple layout options for this language but when I check the installed language types it shows same Layout Id for all the layouts within this language pack. My objective is to allow users to switch between Mangal - CBI and Mangal - GAIL input from my WinForms application. Below is the code:
void ChangeCulture(string culture)
{
original = InputLanguage.CurrentInputLanguage;
var _culture = System.Globalization.CultureInfo.GetCultureInfo(culture);
var _language = InputLanguage.FromCulture(_culture);
if (InputLanguage.InstalledInputLanguages.IndexOf(_language) >= 0)
InputLanguage.CurrentInputLanguage = _language;
else
InputLanguage.CurrentInputLanguage = InputLanguage.DefaultInputLanguage;
}
I also used this native method for changing the keyboard layout using the layout id. But the problem is the layout id is same for all Hindi Indic Input 3 layout types.
[DllImport("user32.dll")]
private static extern IntPtr LoadKeyboardLayout(string pwszKLID, uint Flags);
LoadKeyboardLayout("hi-IN", 0xf0c00439);
I am unable to find any documentation on this language pack. Below is how it is selected from language bar. I need to select these two GAIL and CBI types from C# code. Please help.
