Bug 395815 - Input in Nexuiz is not recognized until pressing ESC for 3 seconds (Wayland)
Summary: Input in Nexuiz is not recognized until pressing ESC for 3 seconds (Wayland)
Status: RESOLVED FIXED
Alias: None
Product: kwin
Classification: Plasma
Component: input (show other bugs)
Version: git master
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
: 396265 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-06-24 13:40 UTC by Rainer Finke
Modified: 2018-07-07 05:46 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Rainer Finke 2018-06-24 13:40:59 UTC
If I start nexuiz (nexuiz-sdl) on Plasma-Wayland the input is not recognized until pressing for 3 seconds the ESC button (XWayland).
Usually I can start the game and select with the mouse e.g. a single player tutorial, but once the actual game starts, I cannot move the mouse anymore.
Sometimes when I start nexuiz, the mouse pointer is already locked in the main menu and I cannot move the mouse anymore. If this is the case, I can at least immediately use the mouse once starting a game.

Linux 4.17.2
wayland 1.15
libinput 1.11.1
sdl2 2.0.8
Plasma 5.13.1
kwin-git 5.14 (2018-06-24)
kwayland-git 5.14 (2018-06-24)
Comment 1 Roman Gilg 2018-06-24 19:43:45 UTC
Should get fixed with https://phabricator.kde.org/D13257
Comment 2 Roman Gilg 2018-06-26 14:37:32 UTC
Git commit 5e195c2a67ce520803f8936160c5e61d431dcbac by Roman Gilg.
Committed on 26/06/2018 at 14:35.
Pushed by romangilg into branch 'master'.

[server] Send frame event instead of flush on relative pointer motion

Summary:
This solves for me not working relative pointer motion with grab/lock in
Xwayland applications.

Looking at the Xwayland code it is clear, that it expects a frame event on
wl_pointer versions 5 and above after relative motion events. wl_pointer
version 5 support was added to KWayland in b6bd28ab.

If the cursor is locked no absolute motion events are sent. In this case to
make sure relative motion events are processed by the client, send the frame
event after every relative motion.

Test Plan: Manually with Neverball in Xwayland mode.

Reviewers: #plasma, #kwin, #frameworks, davidedmundson

Reviewed By: #plasma, #kwin, davidedmundson

Subscribers: davidedmundson, kde-frameworks-devel

Tags: #frameworks

Maniphest Tasks: T8923

Differential Revision: https://phabricator.kde.org/D13257

M  +1    -1    src/server/pointer_interface.cpp

https://commits.kde.org/kwayland/5e195c2a67ce520803f8936160c5e61d431dcbac
Comment 3 Rainer Finke 2018-06-26 19:05:16 UTC
I've tested the bug fix and it works as expected. Thank you very much!
Comment 4 Martin Flöser 2018-07-07 05:46:29 UTC
*** Bug 396265 has been marked as a duplicate of this bug. ***