diff options
author | Carsten Haitzler <raster@rasterman.com> | 2012-08-22 11:56:12 +0000 |
---|---|---|
committer | Carsten Haitzler <raster@rasterman.com> | 2012-08-22 11:56:12 +0000 |
commit | 28d0ae8d0e15d146f021042c99b66b8c041b4267 (patch) | |
tree | 966326777435c7d531e414aa4eab76a143db1af3 | |
parent | 043bbd8cb9812fa0bf3f589297bab7aa02740b40 (diff) | |
download | enlightenment-28d0ae8d0e15d146f021042c99b66b8c041b4267.tar.gz |
xkb lauout patch from jeremy! :)
SVN revision: 75543
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | src/bin/e_xkb.c | 29 |
2 files changed, 18 insertions, 12 deletions
@@ -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> diff --git a/src/bin/e_xkb.c b/src/bin/e_xkb.c index 352fbe9ecd..473770359f 100644 --- a/src/bin/e_xkb.c +++ b/src/bin/e_xkb.c @@ -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) { |