ok try an alternative bug workaround. seems a LOT of layouts fail
authorCarsten Haitzler <raster@rasterman.com>
Wed, 2 May 2012 03:20:19 +0000 (03:20 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Wed, 2 May 2012 03:20:19 +0000 (03:20 +0000)
without a , after "basic". my list being:

az in br bg ma ca ir jp ru lk tw ua uz kr nec_vndr/jp pk brai tz ke bw

all kbd layotus of basic variant work with a , at the end. dvorak
seems not to, so add , always if basic, and remove if not. thats the
workaround for now.

SVN revision: 70592

src/bin/e_xkb.c

index 2a26797..f9a69b8 100644 (file)
@@ -42,12 +42,15 @@ e_xkb_update(void)
    eina_strbuf_append(buf, cl->name);
    eina_strbuf_append(buf, "'");
    
-   eina_strbuf_append(buf, " -variant '");
-   eina_strbuf_append(buf, cl->variant);
-   /* workaround xkb bug where japanese (only one with a / in name)
-    * doesnt work without a , at the end */
-   if ((cl->name) && (strchr(cl->name, '/'))) eina_strbuf_append(buf, ",");
-   eina_strbuf_append(buf, "'");
+   if (cl->variant)
+     {
+        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->model)
      {