config: implement shortcut latching
This commit is contained in:
parent
90dbde99ab
commit
6f55675bdb
14 changed files with 367 additions and 93 deletions
|
|
@ -438,6 +438,10 @@
|
|||
"action": {
|
||||
"description": "The action to execute.\n\nOmitting this is the same as setting it to `\"none\"`.\n",
|
||||
"$ref": "#/$defs/Action"
|
||||
},
|
||||
"latch": {
|
||||
"description": "An action to execute when the key is released.\n\nThis registers an action to be executed when the key triggering the shortcut is\nreleased. The active modifiers are ignored for this purpose.\n\n- Example:\n\n To mute audio while the key is pressed:\n\n ```toml\n [complex-shortcuts.alt-x]\n action = { type = \"exec\", exec = [\"pactl\", \"set-sink-mute\", \"0\", \"1\"] }\n latch = { type = \"exec\", exec = [\"pactl\", \"set-sink-mute\", \"0\", \"0\"] }\n ```\n\n Audio will be un-muted once `x` key is released, regardless of any other keys\n that are pressed at the time.\n",
|
||||
"$ref": "#/$defs/Action"
|
||||
}
|
||||
},
|
||||
"required": []
|
||||
|
|
|
|||
|
|
@ -639,6 +639,28 @@ The table has the following fields:
|
|||
|
||||
The value of this field should be a [Action](#types-Action).
|
||||
|
||||
- `latch` (optional):
|
||||
|
||||
An action to execute when the key is released.
|
||||
|
||||
This registers an action to be executed when the key triggering the shortcut is
|
||||
released. The active modifiers are ignored for this purpose.
|
||||
|
||||
- Example:
|
||||
|
||||
To mute audio while the key is pressed:
|
||||
|
||||
```toml
|
||||
[complex-shortcuts.alt-x]
|
||||
action = { type = "exec", exec = ["pactl", "set-sink-mute", "0", "1"] }
|
||||
latch = { type = "exec", exec = ["pactl", "set-sink-mute", "0", "0"] }
|
||||
```
|
||||
|
||||
Audio will be un-muted once `x` key is released, regardless of any other keys
|
||||
that are pressed at the time.
|
||||
|
||||
The value of this field should be a [Action](#types-Action).
|
||||
|
||||
|
||||
<a name="types-Config"></a>
|
||||
### `Config`
|
||||
|
|
|
|||
|
|
@ -2131,3 +2131,24 @@ ComplexShortcut:
|
|||
The action to execute.
|
||||
|
||||
Omitting this is the same as setting it to `"none"`.
|
||||
latch:
|
||||
ref: Action
|
||||
required: false
|
||||
description: |
|
||||
An action to execute when the key is released.
|
||||
|
||||
This registers an action to be executed when the key triggering the shortcut is
|
||||
released. The active modifiers are ignored for this purpose.
|
||||
|
||||
- Example:
|
||||
|
||||
To mute audio while the key is pressed:
|
||||
|
||||
```toml
|
||||
[complex-shortcuts.alt-x]
|
||||
action = { type = "exec", exec = ["pactl", "set-sink-mute", "0", "1"] }
|
||||
latch = { type = "exec", exec = ["pactl", "set-sink-mute", "0", "0"] }
|
||||
```
|
||||
|
||||
Audio will be un-muted once `x` key is released, regardless of any other keys
|
||||
that are pressed at the time.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue