Commit 8e3e7bb7 authored by Ran Benita's avatar Ran Benita Committed by Ulrich Sibiller

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: 's avatarRan Benita <ran234@gmail.com> Signed-off-by: 's avatarJames Cloos <cloos@jhcloos.com> Backported-to-NX-by: 's avatarUlrich Sibiller <uli42@gmx.de>
parent 0f1fa85f
...@@ -68,8 +68,9 @@ static void parsestringfile(FILE *fp, Xim im, int depth); ...@@ -68,8 +68,9 @@ static void parsestringfile(FILE *fp, Xim im, int depth);
* COMMENT ::= "#" {<any character except null or newline>} * COMMENT ::= "#" {<any character except null or newline>}
* LHS ::= EVENT { EVENT } * LHS ::= EVENT { EVENT }
* EVENT ::= [MODIFIER_LIST] "<" keysym ">" * EVENT ::= [MODIFIER_LIST] "<" keysym ">"
* MODIFIER_LIST ::= ("!" {MODIFIER} ) | "None" * MODIFIER_LIST ::= (["!"] {MODIFIER} ) | "None"
* MODIFIER ::= ["~"] modifier_name * MODIFIER ::= ["~"] MODIFIER_NAME
* MODIFIER_NAME ::= ("Ctrl"|"Lock"|"Caps"|"Shift"|"Alt"|"Meta")
* RHS ::= ( STRING | keysym | STRING keysym ) * RHS ::= ( STRING | keysym | STRING keysym )
* STRING ::= '"' { CHAR } '"' * STRING ::= '"' { CHAR } '"'
* CHAR ::= GRAPHIC_CHAR | ESCAPED_CHAR * CHAR ::= GRAPHIC_CHAR | ESCAPED_CHAR
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment