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