From 05d994b7e98c8d090e67c43cb37ac23a36948efc Mon Sep 17 00:00:00 2001 From: Raheman Vaiya Date: Sun, 9 Jan 2022 22:33:50 -0500 Subject: [PATCH] update man page --- README.md | 4 ++-- keyd.1.gz | Bin 5918 -> 6157 bytes man.md | 27 +++++++++++++++++++++++++-- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 878575e..2b7d4c5 100644 --- a/README.md +++ b/README.md @@ -127,8 +127,8 @@ E.G keyd-application-mapper -You will probably want to put `keyd-application-mapper -d` in your -initialization. +You will probably want to put `keyd-application-mapper -d` somewhere in your +display server initialization logic (e.g ~/.xinitrc). Window class names are discoverable with `keyd-application-mapper -m`. See the man page for more details. diff --git a/keyd.1.gz b/keyd.1.gz index 6ae9186bd792198ae456ceeb18a27f40df0ff95d..fd73f3a40a8aa12c6b244dfd1dbcde03b901c083 100644 GIT binary patch literal 6157 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 fJz${e7nOnRgbd6+&usQV!8TD literal 5918 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 is either a valid modifier set (see *MODIFIERS*) or "layout". -Each line within a layer is a mapping of the form: +Each line within a layer is a binding of the form: = | @@ -144,7 +144,7 @@ for the duration of the corresponding key stroke. ## Layouts -The *layout* is a special kind of layer from which mappings are drawn if no +The *layout* is a special kind of layer from which bindings are drawn if no other layers are active. By default all keys are mapped to themselves within a layout. Every config has at least one layout called *main*, but additional layouts may be defined and subsequently activated using the `layout()` action. @@ -222,6 +222,20 @@ control, which means the following: will cause capslock to behave as meta and alt when held. +**NOTE**: While it is technically possible to use individual modifier key codes +like `rightalt` and `rightcontrol` as target sequences, the user is strongly +encouraged to avoid these as they can produce unintuitive results when paired +with their layer counterparts. To this end, it is best to think of modifiers +as just a another kind of layer. + +Thus instead of: + + meta = rightcontrol + +one should do: + + meta = layer(control) + ### Lookup Rules In order to achieve this (un)holy union, the following lookup rules are used: @@ -510,6 +524,15 @@ of \` will thus produce A-tab instead of M-\`. # Map e to € e = macro(compose c =) +# Example 6 + + # Tapping both shift keys will activate capslock. + + [shift] + + leftshift = capslock + rightshift = capslock + # AUTHOR Written by Raheman Vaiya (2017-).