Hyprland version
➜ ~ hyprctl version
Hyprland 0.52.1 built from branch v0.52.1 at commit 967c3c7404d4fa00234e29c70df3e263386d2597 clean (version: bump to 0.52.1).
Date: Sun Nov 9 23:31:36 2025
Tag: v0.52.1, commits: 6564
Libraries:
Hyprgraphics: built against 0.3.0, system has 0.3.0
Hyprutils: built against 0.10.2, system has 0.10.2
Hyprcursor: built against 0.1.13, system has 0.1.13
Hyprlang: built against 0.6.3, system has 0.6.3
Aquamarine: built against 0.9.5, system has 0.9.5
no flags were set
Describe your issue / feature…
I never used Print Screen before this, but I wanted to set up keybinds for screenshots, so I only incidentally discovered this weird behavior: When I hit the Print Screen key, it moves the currently focused window to workspace 4, just like hitting Super + Shift + 4, which is my normal key combination for this. If it matters, I have a German keyboard.
Here’s the keyboard section from my hyprland.conf:
input {
kb_layout = de
kb_variant = nodeadkeys
kb_model = pc105
kb_options =
kb_rules =
follow_mouse = 1
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
touchpad {
natural_scroll = false
}
}
I’ve tried leaving kb_variant or kb_model or both blank, to no avail.
Here’s the output of wev after spawning it through a terminal, pressing Print Screen and closing the window with Super + c:
[ 4: wl_seat] name: Hyprland
[ 4: wl_seat] capabilities: pointer keyboard
[ 11: xdg_toplevel] configure: width: 960; height: 525
tiled-left tiled-right tiled-top tiled-bottom
[ 10: xdg_surface] configure: serial: 91966
[ 16: wl_keyboard] keymap: format: 1 (xkb v1), size: 36166
[ 16: wl_keyboard] repeat_info: rate: 25 keys/sec; delay: 600 ms
[ 11: xdg_toplevel] configure: width: 960; height: 525
tiled-left tiled-right tiled-top tiled-bottom maximized
[ 16: wl_keyboard] enter: serial: 91971; surface: 3
sym: Return (65293), utf8: ‘\r’
[ 16: wl_keyboard] modifiers: serial: 91972; group: 0
depressed: 00000000
latched: 00000000
locked: 00000000
[ 12: wl_data_device] data_offer: id: 4278190080
[4278190080: wl_data_offer] source_actions: actions: 7 (copy, move, ask)
[4278190080: wl_data_offer] action: dnd_action: 2 (move)
[4278190080: wl_data_offer] offer: mime_type: application/glfw+clipboard-194057
[4278190080: wl_data_offer] offer: mime_type: TEXT
[4278190080: wl_data_offer] offer: mime_type: STRING
[4278190080: wl_data_offer] offer: mime_type: UTF8_STRING
[4278190080: wl_data_offer] offer: mime_type: text/plain;charset=utf-8
[4278190080: wl_data_offer] offer: mime_type: text/plain
[ 12: wl_data_device] selection: id: 4278190080
[ 11: xdg_toplevel] configure: width: 960; height: 525
tiled-left tiled-right tiled-top tiled-bottom maximized activated
[ 15: wl_pointer] enter: serial: 91974; surface: 3, x, y: 536.687500, 227.285156
[ 15: wl_pointer] frame
[ 10: xdg_surface] configure: serial: 91967
[ 11: xdg_toplevel] configure: width: 941; height: 506
tiled-left tiled-right tiled-top tiled-bottom maximized activated
[ 10: xdg_surface] configure: serial: 91975
[ 16: wl_keyboard] key: serial: 91976; time: 25738013; key: 36; state: 0 (released)
sym: Return (65293), utf8: ‘’
[ 16: wl_keyboard] key: serial: 91977; time: 25739283; key: 50; state: 1 (pressed)
sym: Shift_L (65505), utf8: ‘’
[ 16: wl_keyboard] modifiers: serial: 91978; group: 0
depressed: 00000001: Shift
latched: 00000000
locked: 00000000
[ 16: wl_keyboard] key: serial: 91979; time: 25739284; key: 133; state: 1 (pressed)
sym: Super_L (65515), utf8: ‘’
[ 16: wl_keyboard] modifiers: serial: 91980; group: 0
depressed: 00000041: Shift Mod4
latched: 00000000
locked: 00000000
[ 11: xdg_toplevel] configure: width: 941; height: 506
tiled-left tiled-right tiled-top tiled-bottom maximized
[ 16: wl_keyboard] modifiers: serial: 91982; group: 0
depressed: 00000000
latched: 00000000
locked: 00000000
[ 16: wl_keyboard] leave: serial: 91983; surface: 3
[ 15: wl_pointer] motion: time: 25739292; x, y: 536.687500, 227.285156
[ 16: wl_keyboard] enter: serial: 91990; surface: 3
sym: Shift_L (65505), utf8: ‘’
sym: Super_L (65515), utf8: ‘’
[ 16: wl_keyboard] modifiers: serial: 91991; group: 0
depressed: 00000041: Shift Mod4
latched: 00000000
locked: 00000000
[ 12: wl_data_device] data_offer: id: 4278190081
[4278190081: wl_data_offer] source_actions: actions: 7 (copy, move, ask)
[4278190081: wl_data_offer] action: dnd_action: 2 (move)
[4278190081: wl_data_offer] offer: mime_type: application/glfw+clipboard-194057
[4278190081: wl_data_offer] offer: mime_type: TEXT
[4278190081: wl_data_offer] offer: mime_type: STRING
[4278190081: wl_data_offer] offer: mime_type: UTF8_STRING
[4278190081: wl_data_offer] offer: mime_type: text/plain;charset=utf-8
[4278190081: wl_data_offer] offer: mime_type: text/plain
[ 12: wl_data_device] selection: id: 4278190081
[ 11: xdg_toplevel] configure: width: 941; height: 506
tiled-left tiled-right tiled-top tiled-bottom maximized activated
[ 11: xdg_toplevel] configure: width: 941; height: 1026
tiled-left tiled-right tiled-top tiled-bottom maximized activated
[ 10: xdg_surface] configure: serial: 91981
[ 16: wl_keyboard] key: serial: 91992; time: 25739337; key: 50; state: 0 (released)
sym: Shift_L (65505), utf8: ‘’
[ 16: wl_keyboard] modifiers: serial: 91993; group: 0
depressed: 00000040: Mod4
latched: 00000000
locked: 00000000
[ 16: wl_keyboard] key: serial: 91994; time: 25739338; key: 133; state: 0 (released)
sym: Super_L (65515), utf8: ‘’
[ 16: wl_keyboard] modifiers: serial: 91995; group: 0
depressed: 00000000
latched: 00000000
locked: 00000000
[ 16: wl_keyboard] key: serial: 91996; time: 25740137; key: 133; state: 1 (pressed)
sym: Super_L (65515), utf8: ‘’
[ 16: wl_keyboard] modifiers: serial: 91997; group: 0
depressed: 00000040: Mod4
latched: 00000000
locked: 00000000
[ 11: xdg_toplevel] close
I don’t know what this means or if it’s useful but hopefully you do…
The last thing I tried was commenting out this line from my hyprland.conf:
bind = $mainMod SHIFT, 4, movetoworkspace, 4
This indeed stopped Print Screen from moving the currently focused window to workspace 4, and Print Screen seemed not to do anything in general, but on further inspection, hitting it inside of a text editor for example, made it type “$”.
For reference, this is the bind I’m trying to get working:
bind = , PRINT, exec, hyprshot -m output -m DP-2