-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Resizing windows with tablet pen is extremely jerky #5232
Comments
This fixes resizing containers being very jerky under pointer emulation. Refs swaywm#5232.
The PR I've opened addresses the simple case of resizing a non-v2 surface. With it applied, the problem persists for v2 surfaces (a simple test-case is I've found the cause, but don't know what the most acceptable fix here would be. The root cause is here: Lines 524 to 528 in 2b15cf4
When we're emulating pointer events or are e.g. in the gap between two windows, we call sway/sway/input/seatop_default.c Lines 485 to 488 in 2b15cf4
...which calls The problem seems to be that the drag is started with the emulated pointer, but when the tablet pen enters a tablet v2 surface, emulated pointer events stop being generated... so the resize is "stuck". This means in a layout like the one below, you can only resize the left window by dragging right, and the right window by dragging left, but not the other way (since then the pen would enter the tablet v2
I think it's mainly tricky because the tablet support code tends to directly use a bunch of the mouse code, which tends to work because that mouse code doesn't fire pointer events — but in this case, that doesn't generalize. |
This fixes resizing containers being very jerky under pointer emulation. Refs #5232.
This commit refactors `cursor_rebase` into `cursor_update_image`, and moves sending pointer events to the two existing call sites. This will enable this code to be reused for tablets. Refs swaywm#5232
This commit refactors `cursor_rebase` into `cursor_update_image`, and moves sending pointer events to the two existing call sites. This will enable this code to be reused for tablets. Refs swaywm#5232
This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes swaywm#5232.
This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes swaywm#5232.
This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes swaywm#5232.
This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes swaywm#5232.
This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes swaywm#5232.
This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes swaywm#5232.
This commit refactors `cursor_rebase` into `cursor_update_image`, and moves sending pointer events to the two existing call sites. This will enable this code to be reused for tablets. Refs swaywm#5232
This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes swaywm#5232.
This commit refactors `cursor_rebase` into `cursor_update_image`, and moves sending pointer events to the two existing call sites. This will enable this code to be reused for tablets. Refs swaywm#5232
This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes swaywm#5232.
This commit refactors `cursor_rebase` into `cursor_update_image`, and moves sending pointer events to the two existing call sites. This will enable this code to be reused for tablets. Refs swaywm#5232
This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes swaywm#5232.
This commit refactors `cursor_rebase` into `cursor_update_image`, and moves sending pointer events to the two existing call sites. This will enable this code to be reused for tablets. Refs swaywm#5232
This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes swaywm#5232.
This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes swaywm#5232.
This commit refactors `cursor_rebase` into `cursor_update_image`, and moves sending pointer events to the two existing call sites. This will enable this code to be reused for tablets. Refs swaywm#5232
This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes swaywm#5232.
This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes swaywm#5232.
This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes swaywm#5232.
This commit refactors `cursor_rebase` into `cursor_update_image`, and moves sending pointer events to the two existing call sites. This will enable this code to be reused for tablets. Refs #5232
This commit moves tablet motion logic into a seatop handler. As a side-effect of seatop implementations being able to receive tablet motion events, fixes #5232.
I'm running sway master. If I open a blank workspace and open two apps, resizing them via mouse is smooth/instant. If I do the same with my tablet pen, the resizing is very jerky, and trails the pen position by over a second. Pen movement is otherwise very smooth.
My mouse sends events (as per
evhz
) at 1000 Hz, while my tablet only at 250 Hz, so if anything it seems like the mouse should place a higher load on sway. I'm not too sure how to go about tracking this down.I'm happy to provide other information that might be useful.
The text was updated successfully, but these errors were encountered: