add --no-repeat option for bindings

This allows e.g. triggering one command while a key is held, then
triggering another to undo the change performed by it afterwards. One
use case for this is triggering push-to-talk functionality for VoIP
tools without granting them full access to all input events.

Fixes #3151
This commit is contained in:
Linus Heckemann 2020-03-23 12:34:04 +01:00 committed by Simon Ser
parent 5e41e6600b
commit df48c48123
4 changed files with 10 additions and 2 deletions

View file

@ -356,7 +356,7 @@ runtime.
for_window <criteria> move container to output <output>
*bindsym* [--whole-window] [--border] [--exclude-titlebar] [--release] [--locked] \
[--to-code] [--input-device=<device>] [--no-warn] [Group<1-4>+]<key combo> \
[--to-code] [--input-device=<device>] [--no-warn] [--no-repeat] [Group<1-4>+]<key combo> \
<command>
Binds _key combo_ to execute the sway command _command_ when pressed. You
may use XKB key names here (*xev*(1) is a good tool for discovering these).
@ -382,6 +382,10 @@ runtime.
define bindings which will be exempt from pass-through to such
software. The same preference logic as for _--locked_ applies.
Unless the flag _--no-repeat_ is set, the command will be run
repeatedly when the key is held, according to the repeat
settings specified in the input configuration.
Bindings to keysyms are layout-dependent. This can be changed with the
_--to-code_ flag. In this case, the keysyms will be translated into the
corresponding keycodes in the first configured layout.