KEYBINDINGS.md

July 31, 2026 · View on GitHub

Dynamic JSON Badge
// design by t2

hyde_banner

es de nl 中文 fr ar pt-br



 Window Management 
  
Misc 
  
Launcher 
  
 Hardware Controls 
  
Utilities 
  
 Theming and Wallpaper 
  
 Workspaces 
  



Arch Linux CachyOS EndeavourOS Garuda NixOS

Here are all HyDE specific keybindings listed.

Tip

Super + / shows the keybindings.

KeysAction
SUPER + Qclose focused window
ALT + F4close focused window
SUPER + ALT + F4kill focused window
SUPER + Deleteexit hyprland session
SUPER + Wtoggle float
SUPER + Gtoggle group
ALT + Ptoggle pseudotile
Shift + F11cycle fullscreen states
SUPER + Llock screen
SUPER + SHIFT + Ftoggle pin on focused window
ALT + CTRL + Deletelogout menu
SUPER + CTRL + Btoggle waybar
SUPER + Jtoggle split

Group Navigation

KeysAction
SUPER + CTRL + Hchange active group backwards
SUPER + CTRL + Lchange active group forwards

Change focus

KeysAction
SUPER + Leftfocus left
SUPER + Rightfocus right
SUPER + Upfocus up
SUPER + Downfocus down

Alt-tab switcher

Holding ALT keeps the switcher open; releasing it applies the selection.

KeysAction
ALT + Tabnext window
ALT + SHIFT + Tabprevious window

Resize Active Window

KeysAction
SUPER + SHIFT + Rightresize window right
SUPER + SHIFT + Leftresize window left
SUPER + SHIFT + Upresize window up
SUPER + SHIFT + Downresize window down

Move & Resize with mouse

KeysAction
SUPER + mouse:272hold to move window
SUPER + mouse:273hold to resize window
SUPER + Zhold to move window
SUPER + Xhold to resize window

KeysAction
SUPER + CTRL + SHIFT + leftmove activewindow to the left
SUPER + CTRL + SHIFT + rightmove activewindow to the right
SUPER + CTRL + SHIFT + upmove activewindow up
SUPER + CTRL + SHIFT + downmove activewindow down

Apps

KeysAction
SUPER + Tterminal emulator
SUPER + ALT + Tdropdown terminal
SUPER + Efile explorer
SUPER + Ctext editor
SUPER + Bweb browser
CTRL + SHIFT + Escapesystem monitor

Rofi menus

KeysAction
SUPER + Aapplication finder
SUPER + TABwindow switcher
SUPER + SHIFT + Efile finder
SUPER + slashkeybindings hint
SUPER + commaemoji picker
SUPER + periodglyph picker
SUPER + Vclipboard
SUPER + SHIFT + Vclipboard manager
SUPER + SHIFT + Aselect rofi launcher
SUPER + SHIFT + Kcalculator
SUPER + SHIFT + slashweb search

Audio

KeysAction
None + F10toggle mute output
None + XF86AudioMutetoggle mute output
None + F11decrease volume
None + F12increase volume
None + XF86AudioMicMuteun/mute microphone
None + XF86AudioLowerVolumedecrease volume
None + XF86AudioRaiseVolumeincrease volume

Media

KeysAction
None + XF86AudioPlayplay media
None + XF86AudioPausepause media
None + XF86AudioNextnext media
None + XF86AudioPrevprevious media
SUPER + CTRL + Mun/mute the focused window

Brightness

KeysAction
None + XF86MonBrightnessUpincrease brightness
None + XF86MonBrightnessDowndecrease brightness

KeysAction
SUPER + Ktoggle keyboard layout
SUPER + ALT + Ggame mode
SUPER + SHIFT + Ggame launcher

Screen Capture

KeysAction
SUPER + SHIFT + Pcolor picker
SUPER + Psnip screen
SUPER + CTRL + Pfreeze and snip screen
SUPER + ALT + Pprint monitor
None + Printprint all monitors
SUPER + CTRL + Sscan text on screen

KeysAction
SUPER + ALT + Rightnext wallpaper
SUPER + ALT + Leftprevious wallpaper
SUPER + SHIFT + Wselect a wallpaper
SUPER + ALT + Upnext waybar layout
SUPER + ALT + Downprevious waybar layout
SUPER + SHIFT + Rwallbash mode selector
SUPER + SHIFT + Tselect a theme
SUPER + SHIFT + Yselect animations
SUPER + SHIFT + Uselect hyprlock layout

KeysAction
SUPER + 1navigate to workspace 1
SUPER + 2navigate to workspace 2
SUPER + 3navigate to workspace 3
SUPER + 4navigate to workspace 4
SUPER + 5navigate to workspace 5
SUPER + 6navigate to workspace 6
SUPER + 7navigate to workspace 7
SUPER + 8navigate to workspace 8
SUPER + 9navigate to workspace 9
SUPER + 0navigate to workspace 10
SUPER + KP_1KP_0navigate to workspaces 11-20
SUPER + CTRL + Downnavigate to the nearest empty workspace
SUPER + mouse_downnext workspace
SUPER + mouse_upprevious workspace

The numpad binds work with Num Lock on or off: each key is bound under both keysyms it can emit.

Relative workspace

KeysAction
SUPER + CTRL + Rightchange active workspace forwards
SUPER + CTRL + Leftchange active workspace backwards

Special workspace

KeysAction
SUPER + SHIFT + Smove to scratchpad
SUPER + ALT + Smove to scratchpad (silent)
SUPER + Stoggle scratchpad

Move window silently

KeysAction
SUPER + ALT + 1move to workspace 1 (silent)
SUPER + ALT + 2move to workspace 2 (silent)
SUPER + ALT + 3move to workspace 3 (silent)
SUPER + ALT + 4move to workspace 4 (silent)
SUPER + ALT + 5move to workspace 5 (silent)
SUPER + ALT + 6move to workspace 6 (silent)
SUPER + ALT + 7move to workspace 7 (silent)
SUPER + ALT + 8move to workspace 8 (silent)
SUPER + ALT + 9move to workspace 9 (silent)
SUPER + ALT + 0move to workspace 10 (silent)

Move window to workspace

KeysAction
SUPER + SHIFT + 1move to workspace 1
SUPER + SHIFT + 2move to workspace 2
SUPER + SHIFT + 3move to workspace 3
SUPER + SHIFT + 4move to workspace 4
SUPER + SHIFT + 5move to workspace 5
SUPER + SHIFT + 6move to workspace 6
SUPER + SHIFT + 7move to workspace 7
SUPER + SHIFT + 8move to workspace 8
SUPER + SHIFT + 9move to workspace 9
SUPER + SHIFT + 0move to workspace 10
SUPER + SHIFT + KP_1KP_0move to workspaces 11-20
KeysAction
SUPER + ALT + CTRL + Rightmove window to next relative workspace
SUPER + ALT + CTRL + Leftmove window to previous relative workspace

Your own keybindings go in:

~/.config/hypr/hyprland.lua

That file is yours — updates never overwrite it. HyDE's own binds live in ~/.local/share/hypr/lua/key_binds.lua, which is overwritten on every update, so edits there are lost. Your file loads after HyDE's binds, which is why anything you write there wins. The one thing loaded after it is your selected workflow, which can override compositor settings.

For example, to bind the HyDE Game Launcher to SUPER + Space:

hl.bind("SUPER + SPACE", hl.dsp.exec_cmd(hyde.sh.gamelauncher()), {
    description = "[Utilities] game launcher",
})

Add a description in the [Group|Subgroup] text shape and your bind shows up in the keybinding hint under that group. Without one it appears as a raw dispatcher call under "Misc".

hyde.sh.<name>() builds a hyde-shell command — here hyde-shell gamelauncher, the same thing you can run from a terminal. Some names are shortcuts for something longer: hyde.sh.screenshot.snip() is hyde-shell screenshot s, hyde.sh.menu.binds() is hyde-shell keybinds_hint. The full list is hyde.command_map in ~/.local/share/hypr/lua/hyde/dispatcher.lua.

Rebinding something HyDE already uses

Bind the same combination again and yours replaces it — but copy the flags too. A bind counts as the same one only when its flags match, and description is not a flag. Thirty-three of HyDE's binds carry one:

FlagsBinds
lockedmedia keys, mute, keyboard layout, game mode, and every screen-capture bind
locked and repeatingvolume up and down, brightness up and down — on both the function row and the media keys
repeatingresize active window, move active window
transparent, and release on the apply stepthe alt-tab switcher

Miss one and you end up with both binds firing on that combination.

So to move the mute key from F10 to F9, carry locked across:

hl.unbind("F10")
hl.bind("F9", hl.dsp.exec_cmd(hyde.sh.volumecontrol("-o", "m")), {
    locked = true,
    description = "[Hardware Controls|Audio] un/mute output",
})

hl.unbind takes the combination exactly as the bind was registered, with single spaces around each +. Copy the spelling from key_binds.lua rather than guessing: several binds are written there with CONTROL where you might expect CTRL. Rebinding is the safer route — HyDE replaces the old bind for you, so you never have to match a string.

Seeing your live keybindings

SUPER + / reads the binds from the compositor itself, so it shows your own alongside HyDE's and reflects whatever replaced a default. This table describes the shipped defaults only.

The list is cached, and the cache is refreshed when you close it — so right after adding a bind, the first press may still show the previous list. Press it twice, or run hyde-shell keybinds_hint --reload.



 🡅 
Last edited on: 30/07/2026