On Sun, Apr 28, 2013 at 10:18 PM, Peter Hutterer
<peter.hutte...@who-t.net>wrote:
> Punctuation marks and others map to XK_* keysyms but only in their named
> form, not in their single-character symbol form.
>
> Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net>
>
Reviewed-by: Ping Cheng <pingli...@gmail.com> for all three key related
patches.
> ---
> Turned out that these didn't actually work...
>
No wonder strange things happened with expresskeys. Thank you for the fix.
Ping
>
> tools/xsetwacom.c | 61
> ++++++++++++++++++++++++++++++++++++++++++++++++++++---
> 1 file changed, 58 insertions(+), 3 deletions(-)
>
> diff --git a/tools/xsetwacom.c b/tools/xsetwacom.c
> index 69b5486..d8ece68 100644
> --- a/tools/xsetwacom.c
> +++ b/tools/xsetwacom.c
> @@ -573,6 +573,40 @@ static struct modifier specialkeys[] = {
> {"del", "Delete"}, {"home", "Home"},
> {"end", "End"},
>
> + {"`", "quoteleft"},
+ {"-", "minus"},
> + {"=", "equal"},
> + {"[", "bracketleft"},
> + {"]", "bracketright"},
> + {"\\", "backslash"},
> + {";", "semicolon"},
> + {"'", "apostrophe"},
> + {",", "comma"},
> + {".", "period"},
> + {"/", "slash"},
> +
> + {"~", "asciitilde"},
> + {"!", "exclam"},
> + {"@", "at"},
> + {"#", "numbersign"},
> + {"$", "dollar"},
> + {"%", "percent"},
> + {"^", "asciicircum"},
> + {"&", "ampersand"},
> + {"*", "asterisk"},
> + {"(", "parenleft"},
> + {")", "parenright"},
> + {"_", "underscore"},
> + {"+", "plus"},
> + {"{", "braceleft"},
> + {"}", "braceright"},
> + {"|", "bar"},
> + {":", "colon"},
> + {"\"", "quotedbl"},
> + {"<", "less"},
> + {">", "greater"},
> + {"?", "question"},
> +
> { NULL, NULL }
> };
>
> @@ -2687,15 +2721,36 @@ static void test_convert_specialkey(void)
> char buff[5];
> struct modifier *m;
>
> - /* make sure at least the default keys (ascii 33 - 126) aren't
> - * specialkeys */
> - for (i = '!'; i <= '~'; i++)
> + /* make sure a-zA-Z aren't specialkeys */
> + for (i = 'a'; i <= 'z'; i++)
> + {
> + sprintf(buff, "%c", i);
> + converted = convert_specialkey(buff);
> + assert(strcmp(converted, buff) == 0);
> + }
> +
> + for (i = 'A'; i <= 'Z'; i++)
> {
> sprintf(buff, "%c", i);
> converted = convert_specialkey(buff);
> assert(strcmp(converted, buff) == 0);
> }
>
> + /* punctuation are specialkeys */
> + for (i = '!'; i <= '/'; i++)
> + {
> + sprintf(buff, "%c", i);
> + converted = convert_specialkey(buff);
> + assert(strcmp(converted, buff) != 0);
> + }
> + for (i = ':'; i <= '?'; i++)
> + {
> + sprintf(buff, "%c", i);
> + converted = convert_specialkey(buff);
> + assert(strcmp(converted, buff) != 0);
> + }
> +
> +
> for (m = specialkeys; m->name; m++)
> {
> converted = convert_specialkey(m->name);
> --
> 1.8.1.4
>
>
>
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
> _______________________________________________
> Linuxwacom-devel mailing list
> Linuxwacom-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel
>
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel