diff options
author | Ran Benita <ran234@gmail.com> | 2015-02-03 13:23:50 -0500 |
---|---|---|
committer | Ulrich Sibiller <uli42@gmx.de> | 2016-10-19 21:40:29 +0200 |
commit | 8e3e7bb774beac484c3c74b9f46597a5debad219 (patch) | |
tree | dd9e1d6cc11ba7ca836893bbae318f490d57b60a /nx-X11/lib/X11 | |
parent | 0f1fa85fe03a268c2b3b04978f3a533df1bf3414 (diff) | |
download | nx-libs-8e3e7bb774beac484c3c74b9f46597a5debad219.tar.gz nx-libs-8e3e7bb774beac484c3c74b9f46597a5debad219.tar.bz2 nx-libs-8e3e7bb774beac484c3c74b9f46597a5debad219.zip |
compose: fix the description of modifiers in compose sequences
The Compose format has a feature which allows specifying certain
modifiers must (or must not) be present with a given keysym in the
sequence.
The grammar in imLcPrs.c and the Compose man page both do not match what
the code actually does (see the handling of the variables
`modifier_mask` and `modifier` in parseline() in imLcPrs.c, which are
eventually matched as `ev->state & modifier_mask == modifier`).
Also explicitly list the accepted modifier names, since they are
not standard (e.g. "Ctrl" instead of "Control").
Signed-off-by: Ran Benita <ran234@gmail.com>
Signed-off-by: James Cloos <cloos@jhcloos.com>
Backported-to-NX-by: Ulrich Sibiller <uli42@gmx.de>
Diffstat (limited to 'nx-X11/lib/X11')
-rw-r--r-- | nx-X11/lib/X11/imLcPrs.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/nx-X11/lib/X11/imLcPrs.c b/nx-X11/lib/X11/imLcPrs.c index afc947468..7528d838f 100644 --- a/nx-X11/lib/X11/imLcPrs.c +++ b/nx-X11/lib/X11/imLcPrs.c @@ -68,8 +68,9 @@ static void parsestringfile(FILE *fp, Xim im, int depth); * COMMENT ::= "#" {<any character except null or newline>} * LHS ::= EVENT { EVENT } * EVENT ::= [MODIFIER_LIST] "<" keysym ">" - * MODIFIER_LIST ::= ("!" {MODIFIER} ) | "None" - * MODIFIER ::= ["~"] modifier_name + * MODIFIER_LIST ::= (["!"] {MODIFIER} ) | "None" + * MODIFIER ::= ["~"] MODIFIER_NAME + * MODIFIER_NAME ::= ("Ctrl"|"Lock"|"Caps"|"Shift"|"Alt"|"Meta") * RHS ::= ( STRING | keysym | STRING keysym ) * STRING ::= '"' { CHAR } '"' * CHAR ::= GRAPHIC_CHAR | ESCAPED_CHAR |