diff --git a/changes/api/+modern-rules.feature.md b/changes/api/+modern-rules.feature.md index d27af48b..fb1c00a8 100644 --- a/changes/api/+modern-rules.feature.md +++ b/changes/api/+modern-rules.feature.md @@ -7,8 +7,9 @@ Rules: Added support for special layouts indexes: `layout[2]` .. `layout[4]`. - *any*: matches layout at any position. This is an index range. -Also added the special index `%i` which correspond to the index of the matched -layout. +Also added: +- the special index `%i` which correspond to the index of the matched layout. +- the `:all` qualifier: it applies the qualified item to all layouts. See the [documentation](https://xkbcommon.org/doc/current/rule-file-format.html) for further information. diff --git a/doc/rules-format.md b/doc/rules-format.md index 99c4dc80..43615e4d 100644 --- a/doc/rules-format.md +++ b/doc/rules-format.md @@ -12,9 +12,9 @@ components. @tableofcontents{html:2} -`xkbcomp` uses the `xkb_component_names` struct internally, which maps -directly to [include statements] of the appropriate [sections] \(called -[KcCGST] for short): +`libxkbcommon`’s keymap compiler `xkbcomp` uses the `xkb_component_names` +struct internally, which maps directly to [include statements] of the +appropriate [sections] \(called [KcCGST] for short): - [key codes], - [compatibility], @@ -150,7 +150,8 @@ Kccgst ::= "keycodes" | "symbols" | "types" | "compat" | "geometry" Rule ::= { MlvoValue } "=" { KccgstValue } "\n" MlvoValue ::= "*" | GroupName | -KccgstValue ::= +KccgstValue ::= [ { Qualifier } ] +Qualifier ::= ":" ({ NumericIndex } | "all") ```