On Wed, Aug 3, 2016 at 10:52 PM, Peter Hutterer
<[email protected]> wrote:
> 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 <[email protected]>
>> Tested-by: Kelly Price <[email protected]>
>> ---
>> 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 ...."
I guess key code is not the same as keysym code. What does "The new
keysym code" mean in the following description (from keysymdef.h)?
Does it mean the set of keysym + value?
"
* For any future extension of the keysyms with characters already
* found in ISO 10646 / Unicode, the following algorithm shall be
* used. The new keysym code position will simply be the character's
* Unicode number plus 0x01000000. The keysym values in the range
* 0x01000100 to 0x0110ffff are reserved to represent Unicode
* characters in the range U+0100 to U+10FFFF.
"
Then what term do I use for the value of a keysym? That value can be
used directly without any confusion or extra work.
Cheers,
Ping
>> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel