On Wed, Aug 03, 2016 at 10:13:48PM -0700, Ping Cheng wrote: > xsetwacom accepts keys in X11 KeySyms format. To make the interface > user friendly, we mapped a set of modifiers to aliases that can be > recognized by most users. But, there are a few less recognizable or > confusing keys/modifiers left. This patch tells users where to find > the X11 KeySyms code they are looking for. > > Return key is added as a bonus (by-product ;).
No, please don't add this in the same patch. it's completely unrelated and for stable branch cherry-picking, etc. hiding these things in the same patch is a bad idea. Golden rule: when you need to write "Also..." in a commit message you probably need two patches :) Same goes for typo fixes (which IMO you can just push directly, they're usually safe anyway). > Signed-off-by: Ping Cheng <pi...@wacom.com> > Tested-by: Kelly Price <strredw...@gmail.com> > --- > man/xsetwacom.man | 13 +++++++------ > tools/xsetwacom.c | 4 ++++ > 2 files changed, 11 insertions(+), 6 deletions(-) > > diff --git a/man/xsetwacom.man b/man/xsetwacom.man > index 1930d67..8276e32 100644 > --- a/man/xsetwacom.man > +++ b/man/xsetwacom.man > @@ -109,17 +109,18 @@ button-number will produce a press of X11 button 3 > (i.e. right click). > Action mappings allow button presses to perform many events. They take the > form > of a string of keywords and arguments. > > -The "key" keyword is following by a list of key names. These can optionally > +The "key" keyword is followed by a list of key names. These can optionally > be preceded by "+" for press and "-" for release. If +/- is not given, > press-and-release is assumed, except for modifier keys which are left > pressed. > -Key names can be X11 KeySyms or some aliases such as 'shift' or 'f1' (the > +Key names can be X11 KeySyms code or some aliases such as 'shift' or 'f1' > (the don't use keysyms code, that's confusing because key code is a specific term in X. "Key names can be an X11 KeySym or ...." > full list can be seen with the > .B list modifiers > -command). > +command). To assign a key that is not in the modifiers list, look for its > KeySyms > +code in keysymdef.h under /usr/include/X11 on your system. hmm, that makes me wonder why we have special treatment for modifiers. IIRC they're just special so we can use "shift" instead of "Shift_L". but we should parse the actual keysym as well. maybe a future patch. either way: "To assign a key that is not in the modifiers list use the KeySym in /usr/include/X11/keysymdef.h with the XK_ prefix removed. For exampmle, XK_BackSpace should be specified as "BackSpace". " > -For example, "key +a +shift b -shift -a" converts the button into a series of > -keystrokes, in this example "press a, press shift, press and release b, > -release shift, release a". > +For example, "key +a +shift b -shift -a 0xff0d" converts the button into a > +series of keystrokes, in this example "press a, press shift, press and > release b, > +release shift, release a, then enter". whoah, does this actually work? I didn't know that we parsed hex codes correctly. > The "button" keyword is similar except that its arguments are X11 button > numbers. > diff --git a/tools/xsetwacom.c b/tools/xsetwacom.c > index 2f75d78..aa5f7a1 100644 > --- a/tools/xsetwacom.c > +++ b/tools/xsetwacom.c > @@ -605,6 +605,8 @@ static struct modifier specialkeys[] = { > > {"backspace", "BackSpace"}, {"Backspace", "BackSpace"}, > > + {"return", "Return"}, > + as said above, this needs to be a separate patch (feel free to push, no need for re-review here if it's just that one line anyway). But do make a note in the commmit message about the "Enter" vs "Return" controversy :) > {"tab", "Tab"}, > > {"PgUp", "Prior"}, {"PgDn", "Next"}, > @@ -937,6 +939,8 @@ static void list_mod(Display *dpy) > m = specialkeys; > while(m->name) > printf(" %s\n", m++->name); > + > + printf("If you don't see your special key listed above, please use its > keysyms code or refer to man page for details.\n"); "Keys not listed above can be specified via their KeySym. See the man page for details." Cheers, Peter > } > > static void list(Display *dpy, int argc, char **argv) > -- > 1.9.1 > ------------------------------------------------------------------------------ _______________________________________________ Linuxwacom-devel mailing list Linuxwacom-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel