https://bugs.kde.org/show_bug.cgi?id=514628
Zamundaaa <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|REPORTED |CONFIRMED Ever confirmed|0 |1 --- Comment #6 from Zamundaaa <[email protected]> --- It looks like a bug in the game to me. Here it locks the pointer, and leaves it locked for some time > [2128517.570] {Default Queue} -> > zwp_pointer_constraints_v1#14.lock_pointer(new id zwp_locked_pointer_v1#69, > wl_surface#46, wl_pointer#41, nil, 2) > [2128517.573] {Default Queue} -> wl_pointer#41.set_cursor(34341, nil, 0, 0) > [2128523.645] {Default Queue} zwp_locked_pointer_v1#69.locked() but it never sets the position hint on that, and instead does > [2129776.851] {Default Queue} -> zwp_locked_pointer_v1#69.destroy() > [2129776.856] {Default Queue} -> > zwp_pointer_constraints_v1#14.lock_pointer(new id zwp_locked_pointer_v1#68, > wl_surface#46, wl_pointer#41, nil, 2) > [2129776.859] {Default Queue} -> > zwp_locked_pointer_v1#68.set_cursor_position_hint(3153.00000000, 565.00000000) > [2129776.862] {Default Queue} -> zwp_locked_pointer_v1#68.destroy() > [2129776.867] {Default Queue} -> wl_pointer#41.set_cursor(34341, > wl_surface#57, 0, 0) > [2129776.873] {Default Queue} -> > zwp_pointer_constraints_v1#14.lock_pointer(new id zwp_locked_pointer_v1#70, > wl_surface#46, wl_pointer#41, nil, 2) > [2129776.875] {Default Queue} -> > zwp_locked_pointer_v1#70.set_cursor_position_hint(960.00000000, 540.00000000) > [2129776.876] {Default Queue} -> zwp_locked_pointer_v1#70.destroy() which is to say, instead of just setting the position hint before unlocking, it - unlocks the pointer - locks it again - sets the position hint to a position that's completely out of the window - unlocks the pointer again - locks the pointer again - sets the position hint to what would be the center of a 1080p window - unlocks the pointer again There's two issues with this: 1. setting the position outside of the window is wrong (obviously). We can add checks in KWin to prevent this from causing issues though 2. lock + set position + unlock without waiting for the pointer to be actually locked is not something you can expect to work reliably If the game wants to warp the cursor, it should use the pointer-warp-v1 protocol, but really it should set the correct position hint before unlocking the pointer in the first place. -- You are receiving this mail because: You are watching all bug changes.
