public void InstalledKeyboards_Belgium() { XklEngineResponder.SetGroupNames = new string[] { KeyboardBelgium }; XkbKeyboardAdaptor.SetXklEngineType <XklEngineResponder>(); KeyboardController.Manager.SetKeyboardAdaptors(new [] { new XkbKeyboardAdaptor() }); var keyboards = KeyboardController.InstalledKeyboards; // It seems that Dutch (Belgium) got added recently, so some machines are missing // this. Assert.That(keyboards.Count == 3 || keyboards.Count == 2); keyboards.Sort((x, y) => { return(x.Id.CompareTo(y.Id)); }); var expectedKeyboards = new List <IKeyboardDescription>() { new KeyboardDescription(2060, "French (Belgium)", null) }; // Windows doesn't define German (Belgium), so there is no LCID defined. ICU returns // some arbitrary number (7 in my case). We cheat and expect what we get here. expectedKeyboards.Add(new KeyboardDescription(keyboards[0].Id, "German (Belgium)", null)); if (keyboards.Count > 2) { expectedKeyboards.Add(new KeyboardDescription(2067, "Dutch (Belgium)", null)); } CollectionAssert.AreEquivalent(expectedKeyboards, keyboards); Assert.AreEqual(0, KeyboardController.ErrorKeyboards.Count); }
public void ErrorKeyboards() { XklEngineResponder.SetGroupNames = new string[] { "Fake" }; XkbKeyboardAdaptor.SetXklEngineType <XklEngineResponder>(); KeyboardController.Manager.SetKeyboardAdaptors(new [] { new XkbKeyboardAdaptor() }); var keyboards = KeyboardController.InstalledKeyboards; Assert.AreEqual(0, keyboards.Count); Assert.AreEqual(1, KeyboardController.ErrorKeyboards.Count); Assert.AreEqual("Fake", KeyboardController.ErrorKeyboards[0].Details); }
public void ActivateKeyboard_FirstTime_NotCrash() { XklEngineResponder.SetGroupNames = new string[] { KeyboardUSA }; var adaptor = new XkbKeyboardAdaptor(new XklEngineResponder()); KeyboardController.Manager.SetKeyboardAdaptors(new [] { adaptor }); var keyboards = Keyboard.Controller.AllAvailableKeyboards; adaptor.ActivateKeyboard(keyboards.First()); }
public void InstalledKeyboards_NorthernSami() { XklEngineResponder.SetGroupNames = new string[] { KeyboardFinlandNorthernSaami }; XkbKeyboardAdaptor.SetXklEngineType <XklEngineResponder>(); KeyboardController.Manager.SetKeyboardAdaptors(new [] { new XkbKeyboardAdaptor() }); var keyboards = KeyboardController.InstalledKeyboards; Assert.AreEqual(1, keyboards.Count); Assert.AreEqual(59, keyboards[0].Id); Assert.AreEqual(ExpectedKeyboardFinlandNorthernSaami, keyboards[0].Name); Assert.AreEqual(0, KeyboardController.ErrorKeyboards.Count); }
public void InstalledKeyboards_Germany_GermanCulture() { XklEngineResponder.SetGroupNames = new string[] { KeyboardGermany }; XkbKeyboardAdaptor.SetXklEngineType <XklEngineResponder>(); KeyboardController.Manager.SetKeyboardAdaptors(new [] { new XkbKeyboardAdaptor() }); var keyboards = KeyboardController.InstalledKeyboards; Assert.AreEqual(1, keyboards.Count); Assert.AreEqual(1031, keyboards[0].Id); Assert.AreEqual("Deutsch (Deutschland)", keyboards[0].Name); Assert.AreEqual(0, KeyboardController.ErrorKeyboards.Count); }
public void InstalledKeyboards_FrenchWithVariant() { XklEngineResponder.SetGroupNames = new string[] { KeyboardFranceEliminateDeadKeys }; XkbKeyboardAdaptor.SetXklEngineType <XklEngineResponder>(); KeyboardController.Manager.SetKeyboardAdaptors(new [] { new XkbKeyboardAdaptor() }); var keyboards = KeyboardController.InstalledKeyboards; Assert.AreEqual(1, keyboards.Count); Assert.AreEqual(1036, keyboards[0].Id); Assert.AreEqual(ExpectedKeyboardFranceEliminateDeadKeys, keyboards[0].Name); Assert.AreEqual(0, KeyboardController.ErrorKeyboards.Count); }
public void InstalledKeyboards_Multiple() { XklEngineResponder.SetGroupNames = new string[] { KeyboardUSA, KeyboardGermany }; XkbKeyboardAdaptor.SetXklEngineType <XklEngineResponder>(); KeyboardController.Manager.SetKeyboardAdaptors(new [] { new XkbKeyboardAdaptor() }); var keyboards = KeyboardController.InstalledKeyboards; Assert.AreEqual(2, keyboards.Count); Assert.AreEqual(1033, keyboards[0].Id); Assert.AreEqual(ExpectedKeyboardUSA, keyboards[0].Name); Assert.AreEqual(1031, keyboards[1].Id); Assert.AreEqual(ExpectedKeyboardGermany, keyboards[1].Name); Assert.AreEqual(0, KeyboardController.ErrorKeyboards.Count); }
private static XkbKeyboardDescription CreateMockXkbKeyboard(string name, string layout, string locale, string layoutName, int group, XkbKeyboardAdaptor adapter) { var keyboard = new XkbKeyboardDescription(name, layout, locale, new InputLanguageWrapper(locale, IntPtr.Zero, layoutName), adapter, group); KeyboardController.Manager.RegisterKeyboard(keyboard); return(keyboard); }