Skip to main content

Keybindings Reference

This page provides a complete reference of all keyboard shortcuts configured in Config-Sway. The configuration uses Vim-style HJKL navigation keys for consistency and efficiency.

Key Legend

KeyMeaning
SuperWindows key (Mod4)
ShiftShift key
CtrlControl key
AltAlt key (Mod1)
H/J/K/LLeft/Down/Up/Right (Vim-style)
The modifier key $mod is set to Mod4 (Super/Windows key) by default. All keybindings use this as the primary modifier.

Application Launchers

Quick access to frequently used applications:
KeybindingActionDescription
Super+EnterLaunch KittyOpens the Kitty terminal emulator
Super+FLaunch FirefoxOpens Firefox web browser
Super+ZFlameshot GUIOpens Flameshot screenshot tool in GUI mode

Rofi Menus

Config-Sway includes several Rofi-based menus for quick access to common tasks:
KeybindingMenuScript Location
Super+DApp launcher~/.config/rofi/scripts/selector-app.sh
Super+QPower menu~/.config/rofi/scripts/power-menu.sh
Super+ATheme switcher~/.config/rofi/scripts/theme-switcher.sh
Super+WWallpaper switcher~/.config/rofi/scripts/wallpaper-switcher.sh
Super+EIcon/emoji menu~/.config/rofi/scripts/menu-iconos.sh
Super+Shift+EnterHacker mode layout~/.config/scripts/mode-hacker.sh
Hacker Mode creates a custom terminal layout with:
  • Left pane: Main terminal shell
  • Top right: tty-clock displaying time
  • Bottom right: cava audio visualizer

Window Management

Control windows and their behavior:
KeybindingActionDescription
Super+CKill windowClose the focused window
Super+OToggle split layoutSwitch between horizontal and vertical splits
Super+Shift+RReload configReload Sway configuration
Super+Button3Toggle floatingRight-click with Super to toggle floating mode
The keybindings for floating toggle (Super+U), fullscreen (Super+P), and exit (Super+M) are commented out in the default config. Uncomment line 17 in ~/.config/sway/config if you need these.

Focus Navigation (Vim-style)

Move focus between windows using Vim-style HJKL keys:
KeybindingDirection
Super+HFocus left
Super+JFocus down
Super+KFocus up
Super+LFocus right

Moving Floating Windows

Two modes for moving floating windows with different step sizes:

Small Movements (50px)

KeybindingDirection
Super+Shift+HMove left 50px
Super+Shift+JMove down 50px
Super+Shift+KMove up 50px
Super+Shift+LMove right 50px

Large Movements (150px)

KeybindingDirection
Super+Alt+HMove left 150px
Super+Alt+JMove down 150px
Super+Alt+KMove up 150px
Super+Alt+LMove right 150px

Resizing Floating Windows

Resize floating windows in 50px increments:
KeybindingAction
Super+Ctrl+HShrink width (left)
Super+Ctrl+LGrow width (right)
Super+Ctrl+JShrink height (down)
Super+Ctrl+KGrow height (up)

Workspace Management

Switching Workspaces

KeybindingAction
Super+1 to Super+9Switch to workspace 1-9
Super+0Switch to workspace 10
Super+SSwitch to “magic” workspace

Moving Windows to Workspaces

KeybindingAction
Super+Shift+1 to Super+Shift+9Move window to workspace 1-9
Super+Shift+0Move window to workspace 10
Super+Shift+SMove window to “magic” workspace
The “magic” workspace is a special workspace accessible via Super+S. Use it as a scratchpad or temporary workspace for windows you want to access quickly.

Workspace Navigation with Mouse

KeybindingAction
Super+Scroll UpNext workspace
Super+Scroll DownPrevious workspace

Mouse Bindings

Enhance window management with mouse gestures:
KeybindingAction
Super+Left ClickMove window (drag)
Super+Middle ClickResize window (drag)
Super+Right ClickToggle floating mode

Multimedia Keys

Audio Control

Control system audio with dedicated multimedia keys:
KeyActionCommand
XF86AudioRaiseVolumeIncrease volumewpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+
XF86AudioLowerVolumeDecrease volumewpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
XF86AudioMuteToggle mutewpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
XF86AudioMicMuteToggle mic mutewpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
Audio controls use wpctl (WirePlumber) with a volume limit of 100% (-l 1) to prevent accidental audio damage.

Brightness Control

KeyActionCommand
XF86MonBrightnessUpIncrease brightnessbrightnessctl -e 4 -n 2 set 5%+
XF86MonBrightnessDownDecrease brightnessbrightnessctl -e 4 -n 2 set 5%-
Brightness control uses exponential scaling (-e 4) and maintains a minimum value (-n 2) for better control at low brightness levels.

Media Playback

Control media playback with playerctl:
KeyActionCommand
XF86AudioNextNext trackplayerctl next
XF86AudioPrevPrevious trackplayerctl previous
XF86AudioPlayPlay/Pauseplayerctl play-pause
XF86AudioPausePlay/Pauseplayerctl play-pause

Notification Control (Mako)

Manage notifications with Mako:
KeybindingActionCommand
Super+NDismiss all notificationsmakoctl dismiss -a
Super+Shift+NToggle Do Not Disturb modemakoctl mode -a dnd

Input Configuration

The following input settings are configured in ~/.config/sway/config:140-148:

Keyboard

  • Layouts: US and Latin American (us,latam)
  • Layout switching: Alt+Shift toggles between layouts

Touchpad

  • Tap to click: Enabled
  • Natural scrolling: Disabled
You can customize input settings by modifying the input blocks in ~/.config/sway/config. See the Sway input documentation for all available options.

Autostart Programs

These programs launch automatically when Sway starts:
ProgramPurposeConfiguration
setwallpaper.shSets wallpaper~/.config/scripts/setwallpaper.sh
nm-appletNetwork Manager traySystem tray applet
waybarStatus bar~/.config/waybar/config-sway.jsonc
makoNotification daemon~/.config/mako/config
autostart.shCustom autostart apps~/.config/scripts/autostart.sh
The autostart.sh script automatically launches Firefox (workspace 1), VSCode (workspace 2), and Kitty (workspace 3) on startup. Comment out lines in ~/.config/scripts/autostart.sh if you don’t want these applications to start automatically.

Build docs developers (and LLMs) love