diff --git a/doc/Custom-layouts.md b/doc/Custom-layouts.md index 91e89b8..0e0dd30 100644 --- a/doc/Custom-layouts.md +++ b/doc/Custom-layouts.md @@ -106,15 +106,23 @@ In a layout, a key value can also start with the `loc` prefix. These are place-h ## Modmap The ``...`` pair encloses custom mappings for modifier keys. The modmap is placed inside the ``...`` pair, but outside any row. A layout can have at most one modmap. -A modmap can contain the following tags, each of which must have an `a` and a `b` property: -* `` If the Shift modifier is on, the key `before` is changed into `after`. -* `` If the Fn modifier is on, the key `before` is changed into `after`. - +A `` can contain any number of elements of the form: +```xml + +``` +This means that when the Shift modifier is on, the key `before` is changed into `after`. Valid values for `before` and `after` are listed in [Possible key values](Possible-key-values.md). -There can be as many of these tags inside `` as needed. +The supported modmaps are: ``, `` and ``. -The clockwise circle and the round-trip gestures are affected by both Shift and Fn modmaps. The Shift mappings are used first and if that did not modify the key, the Fn mappings are used instead. +The `` modmap is special in that the built-in Ctrl modifier will then be applied to `after`. +For example, this will map Ctrl+в to Ctrl+V (not to v): + +```xml + +``` + +The clockwise circle and the round-trip gestures are affected by both `` and `` modmaps. The Shift mappings are used first and if that did not modify the key, the Fn mappings are used instead. ### Example Turkish keyboards use the Latin alphabet, but when "i" is shifted, it should produce "İ". This is achieved with the following modmap: