aboutsummaryrefslogtreecommitdiff
path: root/nx-X11
diff options
context:
space:
mode:
authorRan Benita <ran234@gmail.com>2015-02-03 13:23:50 -0500
committerUlrich Sibiller <uli42@gmx.de>2016-10-19 21:40:29 +0200
commit8e3e7bb774beac484c3c74b9f46597a5debad219 (patch)
treedd9e1d6cc11ba7ca836893bbae318f490d57b60a /nx-X11
parent0f1fa85fe03a268c2b3b04978f3a533df1bf3414 (diff)
downloadnx-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')
-rw-r--r--nx-X11/lib/X11/imLcPrs.c5
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