public void LoadCulture(KeyboardBrand brand, String culture) { keyboard.Clear(); var fileName = "layout." + culture + ".json"; switch (brand) { case (KeyboardBrand.Corsair): fileName = "corsair_" + fileName; break; default: break; } var layoutPath = Path.Combine(cultures_folder, fileName); if (!File.Exists(layoutPath)) { LoadDefault(); } string content = File.ReadAllText(layoutPath, Encoding.UTF8); keyboard = JsonConvert.DeserializeObject <List <KeyboardKey> >(content, new JsonSerializerSettings { ObjectCreationHandling = ObjectCreationHandling.Replace }); }
public KeyboardLayouts(KeyboardBrand brand = KeyboardBrand.Logitech) { try { if (Directory.Exists(Path.Combine(cultures_folder))) { switch (System.Threading.Thread.CurrentThread.CurrentCulture.Name) { case ("de-DE"): case ("hsb-DE"): case ("dsb-DE"): LoadCulture(brand, "de"); break; case ("fr-FR"): case ("br-FR"): case ("oc-FR"): case ("co-FR"): case ("gsw-FR"): LoadCulture(brand, "fr"); break; case ("cy-GB"): case ("gd-GB"): case ("en-GB"): LoadCulture(brand, "uk"); break; case ("ru-RU"): case ("tt-RU"): case ("ba-RU"): case ("sah-RU"): LoadCulture(brand, "ru"); break; default: LoadCulture(brand, "us"); break; } } } catch (Exception e) { Console.WriteLine(e); LoadDefault(); } }
public void LoadCulture(KeyboardBrand brand, String culture) { keyboard.Clear(); var fileName = "layout." + culture + ".json"; switch (brand) { case (KeyboardBrand.Corsair): fileName = "corsair_" + fileName; break; default: break; } var layoutPath = Path.Combine(cultures_folder, fileName); if (!File.Exists(layoutPath)) LoadDefault(); string content = File.ReadAllText(layoutPath, Encoding.UTF8); keyboard = JsonConvert.DeserializeObject<List<KeyboardKey>>(content, new JsonSerializerSettings { ObjectCreationHandling = ObjectCreationHandling.Replace }); }