xkb lauout patch from jeremy! :)

SVN revision: 75543
This commit is contained in:
Carsten Haitzler 2012-08-22 11:56:12 +00:00
parent 043bbd8cb9
commit 28d0ae8d0e
2 changed files with 19 additions and 13 deletions

View File

@ -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>

View File

@ -48,22 +48,27 @@ e_xkb_update(int cur_group)
eina_strbuf_append(buf, ",");
}
}
eina_strbuf_append(buf, "'");
eina_strbuf_append(buf, "' -variant '");
EINA_LIST_FOREACH(e_config->xkb.used_layouts, l, cl)
{
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->variant)
/* workaround xkb bug */
&& (!(!strcmp(cl->variant, "basic"))))
{
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)
{
eina_strbuf_append(buf, " -model '");