xkb lauout patch from jeremy! :)
authorCarsten Haitzler <raster@rasterman.com>
Wed, 22 Aug 2012 11:56:12 +0000 (11:56 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Wed, 22 Aug 2012 11:56:12 +0000 (11:56 +0000)
SVN revision: 75543

AUTHORS
src/bin/e_xkb.c

diff --git a/AUTHORS b/AUTHORS
index d93288e..85ffc91 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -35,3 +35,4 @@ Thomas Gstädtner <thomas@gstaedtner.net>
 q66 <quaker66@gmail.com>
 Tom Hacohen (TAsn) <tom@stosb.com>
 Maxime Villard <rustyBSD@gmx.fr>
+Jeremy Zurcher <jeremy@asynk.ch>
index 352fbe9..4737703 100644 (file)
@@ -48,21 +48,26 @@ e_xkb_update(int cur_group)
              eina_strbuf_append(buf, ",");
           }
      }
-    eina_strbuf_append(buf, "'");
-   /* use first entry in used layouts */
-   cl = e_config->xkb.used_layouts->data;
+   eina_strbuf_append(buf, "' -variant '");
 
-   if ((cl->variant)
-/* workaround xkb bug */
-       && (!(!strcmp(cl->variant, "basic"))))
+   EINA_LIST_FOREACH(e_config->xkb.used_layouts, l, cl)
      {
-        eina_strbuf_append(buf, " -variant '");
-        eina_strbuf_append(buf, cl->variant);
-        /* workaround xkb bug where basic variants work with ',' at the
-         * end, but dvorak (and mayby others) don't */
-//        if (!strcmp(cl->variant, "basic")) eina_strbuf_append(buf, ",");
-        eina_strbuf_append(buf, "'");
+        if (cl->variant)
+          {
+             if (strcmp(cl->variant, "basic"))
+               eina_strbuf_append(buf, cl->variant);
+             eina_strbuf_append(buf, ",");
+             /* workaround xkb bug where basic variants work with ',' at the
+             * end, but dvorak (and mayby others) don't */
+//           if (!strcmp(cl->variant, "basic")) eina_strbuf_append(buf, ",");
+          }
+        else
+          eina_strbuf_append(buf, ",");
      }
+   eina_strbuf_append(buf, "'");
+
+   /* use first entry in used layouts */
+   cl = e_config->xkb.used_layouts->data;
 
    if (cl->model)
      {