[gnome-shell] keyboard: Try harder to find a matching layout



commit c1ec7b2ffa5b4e5f8b6a31d9cb3eaed0712bd03a
Author: Florian Müllner <fmuellner gnome org>
Date:   Sat Nov 16 13:48:35 2019 +0100

    keyboard: Try harder to find a matching layout
    
    While we support a reasonable list of layouts nowadays, we don't
    include many variants like `fr+oss`. Instead of directly falling
    back to the `us` layout, try stripping the variant first, as the
    base layout is likely closer to the expectation than `us`.
    
    https://gitlab.gnome.org/GNOME/gnome-shell/issues/1907

 js/ui/keyboard.js | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)
---
diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js
index 8e1f34bacc..c6984cc36d 100644
--- a/js/ui/keyboard.js
+++ b/js/ui/keyboard.js
@@ -478,10 +478,17 @@ var Key = GObject.registerClass({
 
 var KeyboardModel = class {
     constructor(groupName) {
-        try {
-            this._model = this._loadModel(groupName);
-        } catch (e) {
-            this._model = this._loadModel('us');
+        let names = [groupName];
+        if (names.includes('+'))
+            names.push(groupName.replace(/\+.*/, ''));
+        names.push('us');
+
+        for (let i = 0; i < names.length; i++) {
+            try {
+                this._model = this._loadModel(names[i]);
+                break;
+            } catch (e) {
+            }
         }
     }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]