From e43dc09abeac94567fdfae2ea3d64795581c3b38 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Wed, 2 May 2012 03:20:19 +0000 Subject: [PATCH] ok try an alternative bug workaround. seems a LOT of layouts fail 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 | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c index 2a2679780..f9a69b856 100644 --- a/src/bin/e_xkb.c +++ b/src/bin/e_xkb.c @@ -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) {