InputManager: Fix touch monitor focus ordering - #14310
Merged
Merged
Conversation
|
Hello and thank you for making a PR to Hyprland! Please check the PR Guidelines and make sure your PR follows them. If your code can be tested, please always add tests. See more here. beep boop, I'm just a bot. A real human will review your PR soon. |
Member
|
the crash was merged rebase |
Member
|
needs another rebase xD |
vaxerski
approved these changes
May 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains two small fixes.
Fix touch handling for monitor-bound touch devices
When a touch device is bound to a specific monitor,
onTouchDown()computes touch coordinates and callsrefocus()before updating Hyprland's focused monitor. This causes touch input on layer-shell surfaces, such as bars, to not be recognised when another monitor is focused. Normal windows still receive the touch correctly, but layer-shell surfaces like Waybar or quickshell bars do not activate unless the touch-bound monitor is already focused. This should be the same issue discussed here, but their "solution" is just a dirty hack, while my patches fix this completely in my tests.The patch simply moves
rawMonitorFocus(PMONITOR)before coordinate handling, so Hyprland focuses the monitor associated with the touch device before routing the touch event.Fix zoom factor crash
While debugging, I noticed a startup crash due to a typo in
src/config/supplementary/propRefresher/PropRefresher.cppdue to a typo:CPropRefresher::scheduleRefresh()requestedcursor.zoom_factor, while it should becursor:zoom_factor. This path also fixes that.