2024-02-20 22:16:07 +02:00
---
weight: 5
title: Binds
---
2022-09-24 16:32:40 +03:00
2024-02-20 22:16:07 +02:00
## Basic
2022-09-24 16:32:40 +03:00
2022-09-24 17:03:37 +03:00
```ini
2024-07-30 22:59:15 +03:00
bind = MODS, key, dispatcher, params
2022-09-24 16:32:40 +03:00
```
for example,
2022-09-24 17:03:37 +03:00
```ini
2024-07-30 22:59:15 +03:00
bind = SUPER_SHIFT, Q, exec, firefox
2022-09-24 16:32:40 +03:00
```
2024-04-21 10:35:48 -04:00
will bind opening Firefox to < key > SUPER< / key > + < key > SHIFT< / key > + < key > Q< / key >
2022-09-24 16:32:40 +03:00
2025-10-29 20:52:11 +01:00
> [!NOTE]
> For binding keys without a modkey, leave it empty:
>
> ```ini
> bind = , Print, exec, grim
> ```
2022-09-24 16:32:40 +03:00
2024-03-17 14:44:39 +02:00
_For a complete mod list, see [Variables ](../Variables/#variable-types )._
2022-09-24 21:04:35 +03:00
2024-02-20 22:16:07 +02:00
_The dispatcher list can be found in
2024-03-17 14:44:39 +02:00
[Dispatchers ](../Dispatchers/#list-of-dispatchers )._
2022-09-24 16:32:40 +03:00
## Uncommon syms / binding with a keycode
See the
[xkbcommon-keysyms.h header ](https://github.com/xkbcommon/libxkbcommon/blob/master/include/xkbcommon/xkbcommon-keysyms.h )
2023-12-05 17:47:29 +03:00
for all the keysyms. The name you should use is the segment after `XKB_KEY_` .
2022-09-24 16:32:40 +03:00
2024-04-21 10:35:48 -04:00
If you want to bind by a keycode, you can put it in the KEY position with
2024-02-20 22:16:07 +02:00
a `code:` prefix, e.g.:
2022-09-24 16:32:40 +03:00
2022-09-24 17:03:37 +03:00
```ini
2024-07-30 22:59:15 +03:00
bind = SUPER, code:28, exec, amongus
2022-09-24 16:32:40 +03:00
```
2025-08-11 09:24:07 +02:00
This will bind < key > SUPER< / key > + < key > t< / key > since < key > t< / key > is keycode 28.
2025-10-29 20:52:11 +01:00
> [!NOTE]
> If you are unsure of what your key's name or keycode is, you can use [`wev`](https://github.com/jwrdegoede/wev) to find out.
2022-09-24 16:32:40 +03:00
2024-02-20 22:16:07 +02:00
## Misc
2022-10-23 17:35:39 +03:00
2025-08-11 09:24:07 +02:00
### Workspace bindings on non-QWERTY layouts
2024-10-25 00:48:14 +02:00
2025-08-11 09:24:07 +02:00
Keys used for keybinds need to be accessible without any modifiers in your layout.
For instance, the [French AZERTY ](https://en.wikipedia.org/wiki/AZERTY ) layout uses < key > SHIFT</ key > + _`unmodified key`_ to write `0-9` numbers. As such, the workspace keybinds for this layout need to use the names of the _`unmodified keys`_ , and will not work when using the `0-9` numbers.
2024-10-25 00:48:14 +02:00
2025-10-29 20:52:11 +01:00
> [!NOTE]
> To get the correct name for an `unmodified_key`, refer to [the section on uncommon syms](#uncommon-syms--binding-with-a-keycode)
2024-10-25 00:48:14 +02:00
```ini
2025-08-11 09:24:07 +02:00
# On a French layout, instead of:
2024-10-25 00:48:14 +02:00
# bind = $mainMod, 1, workspace, 1
2024-12-16 01:02:19 +01:00
# Use
2024-10-25 00:48:14 +02:00
bind = $mainMod, ampersand, workspace, 1
```
2025-08-11 09:24:07 +02:00
For help configuring the French AZERTY layout, see this [article ](https://rherault.dev/articles/hyprland-fr-layout ).
2024-10-25 00:48:14 +02:00
2024-02-20 22:16:07 +02:00
### Unbind
2022-09-24 16:32:40 +03:00
2025-10-04 16:42:54 +05:30
You can also unbind a key with the `unbind` keyword, e.g.:
2022-09-24 16:32:40 +03:00
2022-09-24 17:03:37 +03:00
```ini
2024-07-30 22:59:15 +03:00
unbind = SUPER, O
2022-09-24 16:32:40 +03:00
```
2025-08-11 09:24:07 +02:00
This may be useful for dynamic keybindings with `hyprctl` , e.g.:
2022-09-24 16:32:40 +03:00
2024-07-30 22:59:15 +03:00
```bash
hyprctl keyword unbind SUPER, O
2022-10-23 17:35:39 +03:00
```
2025-10-29 20:52:11 +01:00
> [!NOTE]
> In `unbind`, key is case-sensitive It must exactly match the case of the `bind` you are unbinding.
>
> ```ini
> bind = SUPER, TAB, workspace, e+1
> unbind = SUPER, Tab # this will NOT unbind
> unbind = SUPER, TAB # this will unbind
> ```
2025-09-09 01:01:03 -07:00
2025-08-11 09:24:07 +02:00
## Bind flags
2022-10-23 17:35:39 +03:00
2025-08-11 09:24:07 +02:00
`bind` supports flags in this format:
2022-09-24 16:32:40 +03:00
2022-09-24 17:03:37 +03:00
```ini
2025-08-11 09:24:07 +02:00
bind[flags] = ...
2022-09-24 16:32:40 +03:00
```
2025-08-11 09:24:07 +02:00
e.g.:
2022-09-24 16:32:40 +03:00
2025-08-11 09:24:07 +02:00
```ini
bindrl = MOD, KEY, exec, amongus
```
2022-10-23 17:35:39 +03:00
2025-08-11 09:24:07 +02:00
Available flags:
| Flag | Name | Description |
|------|------|-------------|
| `l` | locked | Will also work when an input inhibitor (e.g. a lockscreen) is active. |
| `r` | release | Will trigger on release of a key. |
| `c` | click | Will trigger on release of a key or button as long as the mouse cursor stays inside `binds:drag_threshold` . |
| `g` | drag | Will trigger on release of a key or button as long as the mouse cursor moves outside `binds:drag_threshold` . |
| `o` | long press | Will trigger on long press of a key. |
| `e` | repeat | Will repeat when held. |
| `n` | non-consuming | Key/mouse events will be passed to the active window in addition to triggering the dispatcher. |
| `m` | mouse | See the dedicated [Mouse Binds ](#mouse-binds ) section. |
| `t` | transparent | Cannot be shadowed by other binds. |
| `i` | ignore mods | Will ignore modifiers. |
| `s` | separate | Will arbitrarily combine keys between each mod/key, see [Keysym combos ](#keysym-combos ). |
| `d` | has description | Will allow you to write a description for your bind. |
| `p` | bypass | Bypasses the app's requests to inhibit keybinds. |
2025-11-11 22:59:33 +00:00
| `u` | submap universal | Will be active no matter the submap. |
2025-08-11 09:24:07 +02:00
Example Usage:
```ini
# Example volume button that allows press and hold, volume limited to 150%
binde = , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK @ 5%+
# Example volume button that will activate even while an input inhibitor is active
bindl = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK @ 5%-
# Open wofi on first press, closes it on second
bindr = SUPER, SUPER_L, exec, pkill wofi || wofi
# Describe a bind
bindd = SUPER, Q, Open my favourite terminal, exec, kitty
# Skip player on long press and only skip 5s on normal press
bindo = SUPER, XF86AudioNext, exec, playerctl next
bind = SUPER, XF86AudioNext, exec, playerctl position +5
```
### Mouse buttons
You can also bind or unbind mouse buttons by prefacing the mouse keycode with `mouse:` , e.g.:
2022-09-24 16:32:40 +03:00
2022-09-24 17:03:37 +03:00
```ini
2025-08-11 09:24:07 +02:00
bind = SUPER, mouse:272, exec, amongus # bind `exec amogus` to SUPER + LMB.
2022-09-24 16:32:40 +03:00
```
2025-08-11 09:24:07 +02:00
### Binding modkeys only
To only bind modkeys, you need to use the TARGET modmask (with the
activating mod) and the `r` flag, e.g.:
```ini
bindr = SUPER ALT, Alt_L, exec, amongus # bind `exec amongus` to SUPER + ALT.
```
2024-07-21 16:47:38 +02:00
2024-05-16 10:48:05 +00:00
### Keysym combos
2024-06-13 17:19:47 -04:00
For an arbitrary combination of multiple keys, separate keysyms with `&` between
2025-08-11 09:24:07 +02:00
each mod/key, and use the `s` flag, e.g.:
2024-05-16 10:48:05 +00:00
```ini
# You can use a single mod with multiple keys.
binds = Control_L, A& Z, exec, kitty
# You can also specify multiple specific mods.
binds = Control_L& Shift_L, K, exec, kitty
# You can also do both!
binds = Control_R& Super_R& Alt_L, J& K& L, exec, kitty
# If you are feeling a little wild... you can use other keys for binds...
binds = Escape& Apostrophe& F7, T& O& A& D, exec, battletoads 2: retoaded
```
2025-10-29 20:52:11 +01:00
> [!NOTE]
> Please note that this is only valid for keysyms and it makes all mods keysyms.
> If you don't know what a keysym is use `wev` and press the key you want to use.
2024-05-16 10:48:05 +00:00
2024-02-20 22:16:07 +02:00
### Mouse wheel
2022-10-23 17:35:39 +03:00
2025-08-11 09:24:07 +02:00
You can also bind mouse wheel events with `mouse_up` and `mouse_down` (or
`mouse_left` and `mouse_right` if your mouse supports horizontal scrolling):
2022-10-23 17:35:39 +03:00
2022-09-24 17:03:37 +03:00
```ini
2024-07-30 22:59:15 +03:00
bind = SUPER, mouse_down, workspace, e-1
2022-09-24 16:32:40 +03:00
```
2022-10-23 17:35:39 +03:00
2025-10-29 20:52:11 +01:00
> [!NOTE]
> You can control the reset time with `binds:scroll_event_delay`.
2025-08-11 09:24:07 +02:00
2024-02-20 22:16:07 +02:00
### Switches
2022-10-23 17:35:39 +03:00
2025-08-11 09:24:07 +02:00
Switches are useful for binding events like closing and opening a laptop's lid:
2022-10-23 17:35:39 +03:00
```ini
2025-08-11 09:24:07 +02:00
# Trigger when the switch is toggled.
2024-07-30 22:59:15 +03:00
bindl = , switch:[switch name], exec, swaylock
2025-08-11 09:24:07 +02:00
# Trigger when the switch is turning on.
2024-07-30 22:59:15 +03:00
bindl = , switch:on:[switch name], exec, hyprctl keyword monitor "eDP-1, disable"
2025-08-11 09:24:07 +02:00
# Trigger when the switch is turning off.
2024-07-30 22:59:15 +03:00
bindl = , switch:off:[switch name], exec, hyprctl keyword monitor "eDP-1, 2560x1600, 0x0, 1"
2022-10-04 20:11:56 +01:00
```
2022-10-23 17:35:39 +03:00
2025-10-29 20:52:11 +01:00
> [!WARNING]
> Systemd `HandleLidSwitch` settings in `logind.conf` may conflict with Hyprland's laptop lid switch configurations.
2022-10-30 22:50:10 +00:00
2025-10-29 20:52:11 +01:00
> [!NOTE]
> You can view your switches with `hyprctl devices`.
2022-10-30 22:50:10 +00:00
2025-08-11 09:24:07 +02:00
### Multiple binds to one key
2024-06-11 19:49:58 +02:00
2025-08-11 09:24:07 +02:00
You can trigger multiple actions with the same keybind by assigning it multiple times, with different `disapatcher` s and `param` s:
2024-06-11 19:49:58 +02:00
```ini
2025-08-11 09:24:07 +02:00
# To switch between windows in a floating workspace:
bind = SUPER, Tab, cyclenext # Change focus to another window
bind = SUPER, Tab, bringactivetotop # Bring it to the top
2024-06-11 19:49:58 +02:00
```
2025-10-29 20:52:11 +01:00
> [!WARNING]
> The keybinds will be executed top to bottom, in the order they were written in.
2024-06-11 19:49:58 +02:00
2025-08-11 09:24:07 +02:00
### Description
2022-09-24 16:32:40 +03:00
2025-08-11 09:24:07 +02:00
You can describe your keybind with the `d` flag.
Your description always goes in front of the `dispatcher` , and must not include commas (`,` )!
2022-09-24 16:32:40 +03:00
2022-09-24 17:03:37 +03:00
```ini
2025-08-11 09:24:07 +02:00
bindd = MODS, key, description, dispatcher, params
2022-09-24 16:32:40 +03:00
```
2025-08-11 09:24:07 +02:00
For example:
2022-09-24 16:32:40 +03:00
2022-09-24 17:03:37 +03:00
```ini
2025-08-11 09:24:07 +02:00
bindd = SUPER, Q, Open my favourite terminal, exec, kitty
2022-09-24 16:32:40 +03:00
```
2025-08-11 09:24:07 +02:00
If you want to access your description you can use `hyprctl binds` .
For more information have a look at [Using Hyprctl ](../Using-hyprctl ).
2024-06-11 19:49:58 +02:00
2024-02-20 22:16:07 +02:00
## Mouse Binds
2022-10-23 17:35:39 +03:00
2025-08-11 09:24:07 +02:00
These are binds that rely on mouse movement. They will have one less arg.
2025-04-26 15:53:36 -04:00
`binds:drag_threshold` can be used to differentiate between clicks and drags with the same button:
2022-09-24 16:32:40 +03:00
2022-10-23 17:35:39 +03:00
```ini
2025-04-26 15:53:36 -04:00
binds {
2025-08-11 09:24:07 +02:00
drag_threshold = 10 # Fire a drag event only after dragging for more than 10px
2025-04-12 10:43:17 -04:00
}
2025-08-11 09:24:07 +02:00
bindm = ALT, mouse:272, movewindow # ALT + LMB: Move a window by dragging more than 10px.
bindc = ALT, mouse:272, togglefloating # ALT + LMB: Floats a window by clicking
2022-09-24 16:32:40 +03:00
```
2025-08-11 09:24:07 +02:00
Available mouse binds:
2022-09-24 16:32:40 +03:00
2023-08-08 16:53:03 +00:00
| Name | Description | Params |
2025-08-11 09:24:07 +02:00
| ---- | ----------- | ------ |
| movewindow | moves the active window | None |
| resizewindow | resizes the active window | `1` -> Resize and keep window aspect ratio. < br > `2` -> Resize and ignore `keepaspectratio` window rule/prop. < br > None or anything else for normal resize |
2022-09-24 16:32:40 +03:00
2025-08-11 09:24:07 +02:00
Common mouse button key codes (check `wev` for other buttons):
2022-10-23 17:35:39 +03:00
```txt
2022-09-24 16:32:40 +03:00
LMB -> 272
RMB -> 273
2025-10-04 16:42:54 +05:30
MMB -> 274
2022-09-24 16:32:40 +03:00
```
2025-10-29 20:52:11 +01:00
> [!NOTE]
> Mouse binds, despite their name, behave like normal binds.
> You are free to use whatever keys / mods you please. When held, the mouse function will be
> activated.
2022-09-24 16:32:40 +03:00
2024-04-24 23:46:40 +02:00
### Touchpad
2025-08-11 09:24:07 +02:00
As clicking and moving the mouse on a touchpad is unergonomic, you can also use keyboard keys instead of mouse clicks.
2024-04-24 23:46:40 +02:00
```ini
2024-07-30 22:59:15 +03:00
bindm = SUPER, mouse:272, movewindow
bindm = SUPER, Control_L, movewindow
bindm = SUPER, mouse:273, resizewindow
bindm = SUPER, ALT_L, resizewindow
2024-04-24 23:46:40 +02:00
```
2024-02-20 22:16:07 +02:00
## Global Keybinds
### Classic
2022-10-23 17:35:39 +03:00
2025-08-11 09:24:07 +02:00
Yes, you heard this right, Hyprland does support global keybinds for _ALL_ apps,
2022-09-24 16:32:40 +03:00
including OBS, Discord, Firefox, etc.
2025-09-09 01:01:03 -07:00
See the [`pass` ](../Dispatchers/#list-of-dispatchers ) and
2025-08-11 09:24:07 +02:00
[`sendshortcut` ](../Dispatchers/#list-of-dispatchers ) dispatchers for keybinds.
2022-09-24 16:32:40 +03:00
2024-02-20 22:16:07 +02:00
Let's take OBS as an example: the "Start/Stop Recording" keybind is set to
2025-08-11 09:24:07 +02:00
< key > SUPER< / key > + < key > F10< / key > , to make it work globally, simply add:
2022-09-24 16:32:40 +03:00
2022-09-24 17:03:37 +03:00
```ini
2024-12-29 12:16:59 +01:00
bind = SUPER, F10, pass, class:^(com\.obsproject\.Studio)$
2022-09-24 16:32:40 +03:00
```
2022-10-23 17:35:39 +03:00
2022-09-24 16:32:40 +03:00
to your config and you're done.
2025-08-11 09:24:07 +02:00
`pass` will pass the `PRESS` and `RELEASE` events by itself, no need for a `bindr` .
This also means that push-to-talk will work flawlessly with one `pass` , e.g.:
2022-09-24 16:32:40 +03:00
2022-09-24 17:03:37 +03:00
```ini
2025-08-11 09:24:07 +02:00
bind = , mouse:276, pass, class:^(TeamSpeak 3)$ # Pass MOUSE5 to TeamSpeak3.
2022-09-24 16:32:40 +03:00
```
2024-05-24 20:59:09 +02:00
You may also add shortcuts, where other keys are passed to the window.
```ini
2025-08-11 09:24:07 +02:00
bind = SUPER, F10, sendshortcut, SUPER, F4, class:^(com\.obsproject\.Studio)$ # Send SUPER + F4 to OBS when SUPER + F10 is pressed.
2024-05-24 20:59:09 +02:00
```
2025-10-29 20:52:11 +01:00
> [!WARNING]
> This works flawlessly with all native Wayland applications, however, XWayland is a bit wonky.
> Make sure that what you're passing is a "global Xorg keybind", otherwise passing from a different XWayland app may not work.
2024-02-20 22:16:07 +02:00
### DBus Global Shortcuts
2023-04-10 23:02:23 +01:00
2024-02-20 22:16:07 +02:00
Some applications may already support the GlobalShortcuts portal in
2025-08-11 09:24:07 +02:00
xdg-desktop-portal.
If that's the case, it's recommended to use the following method instead of `pass` :
2023-04-09 13:53:09 +01:00
2025-08-11 09:24:07 +02:00
Open your desired app and run `hyprctl globalshortcuts` in a terminal.
This will give you a list of currently registered shortcuts with their description(s).
2023-04-09 13:53:09 +01:00
2024-07-30 22:59:15 +03:00
Choose whichever you like, for example `coolApp:myToggle` , and bind it to
whatever you want with the `global` dispatcher:
2023-04-09 13:53:09 +01:00
2024-06-11 19:49:58 +02:00
```ini
2023-04-09 13:53:09 +01:00
bind = SUPERSHIFT, A, global, coolApp:myToggle
```
2025-10-29 20:52:11 +01:00
> [!NOTE]
> Please note that this function will _only_ work with
> [XDPH](../../Hypr-Ecosystem/xdg-desktop-portal-hyprland).
2024-02-20 22:16:07 +02:00
## Submaps
2022-09-24 16:32:40 +03:00
2024-04-21 10:35:48 -04:00
Keybind submaps, also known as _modes_ or _groups_ , allow you to activate a
2025-08-11 09:24:07 +02:00
separate set of keybinds.
For example, if you want to enter a `resize` _mode_ that allows you to resize windows with the arrow keys, you can do it like this:
2022-09-24 16:32:40 +03:00
2022-09-24 17:03:37 +03:00
```ini
2025-08-11 09:24:07 +02:00
# Switch to a submap called `resize`.
2024-07-30 22:59:15 +03:00
bind = ALT, R, submap, resize
2022-09-24 16:32:40 +03:00
2025-08-11 09:24:07 +02:00
# Start a submap called "resize".
2024-07-30 22:59:15 +03:00
submap = resize
2022-09-24 16:32:40 +03:00
2025-08-11 09:24:07 +02:00
# Set repeatable binds for resizing the active window.
2024-07-30 22:59:15 +03:00
binde = , right, resizeactive, 10 0
binde = , left, resizeactive, -10 0
binde = , up, resizeactive, 0 -10
binde = , down, resizeactive, 0 10
2022-09-24 16:32:40 +03:00
2025-08-11 09:24:07 +02:00
# Use `reset` to go back to the global submap
2024-12-16 01:02:19 +01:00
bind = , escape, submap, reset
2022-09-24 16:32:40 +03:00
2025-08-11 09:24:07 +02:00
# Reset the submap, which will return to the global submap
2024-07-30 22:59:15 +03:00
submap = reset
2022-09-24 16:32:40 +03:00
2025-08-11 09:24:07 +02:00
# Keybinds further down will be global again...
2022-09-24 16:32:40 +03:00
```
2025-10-29 20:52:11 +01:00
> [!WARNING]
> Do not forget a keybind (`escape`, in this case) to reset the keymap while inside it!
>
> If you get stuck inside a keymap, you can use `hyprctl dispatch submap reset` to go back.
> If you do not have a terminal open, tough luck buddy. You have been warned.
2022-10-18 18:08:17 +03:00
You can also set the same keybind to perform multiple actions, such as resize
and close the submap, like so:
```ini
2024-07-30 22:59:15 +03:00
bind = ALT, R, submap, resize
2022-10-18 18:08:17 +03:00
2024-07-30 22:59:15 +03:00
submap = resize
2022-10-18 18:08:17 +03:00
2024-07-30 22:59:15 +03:00
bind = , right, resizeactive, 10 0
bind = , right, submap, reset
2022-10-18 18:08:17 +03:00
# ...
2024-07-30 22:59:15 +03:00
submap = reset
2022-10-18 18:08:17 +03:00
```
This works because the binds are executed in the order they appear, and
assigning multiple actions per bind is possible.
2024-02-13 14:11:37 -05:00
2025-11-11 22:59:33 +00:00
You can set a keybind that will be active no matter the current submap with the submap universal bind flag.
```ini
bindu = $mainMod, K, exec, kitty
```
2024-12-16 01:02:19 +01:00
### Nesting
Submaps can be nested, see the following example:
```ini
bind = $mainMod, M, submap, main_submap
submap = main_submap
# ...
# nested_one
bind = , 1, submap, nested_one
submap = nested_one
# ...
bind = SHIFT, escape, submap, reset
bind = , escape, submap, main_submap
submap = main_submap
# /nested_one
# nested_two
bind = , 2, submap, nested_two
submap = nested_two
# ...
bind = SHIFT, escape, submap, reset
bind = , escape, submap, main_submap
submap = main_submap
# /nested_two
bind = , escape, submap, reset
submap = reset
```
2025-10-11 02:40:34 +02:00
### Automatically close a submap on dispatch
Submaps can be automatically closed or sent to another submap by appending ``,` ` followed by a submap or _reset_ .
```ini
bind = SUPER,a, submap, submapA
# Sets the submap to submapB after pressing a.
submap = submapA, submapB
bind = ,a,exec, someCoolThing.sh
submap = reset
# Reset submap to default after pressing a.
submap = submapB, reset
bind = ,a,exec, soemOtherCoolThing.sh
submap = reset
```
2024-12-16 01:02:19 +01:00
### Catch-All
2024-03-03 04:23:13 +01:00
2024-02-20 22:16:07 +02:00
You can also define a keybind via the special `catchall` keyword, which
2025-08-11 09:24:07 +02:00
activates no matter which key is pressed.
This can be used to prevent any keys from passing to your active application
while in a submap or to exit it immediately when any unknown key is pressed:
2024-03-03 04:23:13 +01:00
```ini
2024-07-30 22:59:15 +03:00
bind = , catchall, submap, reset
2024-03-03 04:23:13 +01:00
```
2024-02-20 22:16:07 +02:00
## Example Binds
2024-02-13 14:11:37 -05:00
2024-02-20 22:16:07 +02:00
### Media
2024-02-13 14:11:37 -05:00
These binds set the expected behavior for regular keyboard media volume keys,
including when the screen is locked:
```ini
2024-07-30 22:59:15 +03:00
bindel = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK @ 5%+
bindel = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK @ 5%-
bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK @ toggle
2024-07-07 09:10:14 -04:00
# Requires playerctl
2024-07-30 22:59:15 +03:00
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous
bindl = , XF86AudioNext, exec, playerctl next
2024-02-13 14:11:37 -05:00
```