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>
---
Turned out that these didn't actually work...

 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

Reply via email to