Skip to content

Conversation

@piggz
Copy link

@piggz piggz commented Nov 30, 2025

Not a real fix, as lipstick should probably rotate the input, however works in the case of a tablet docked into a keyboard in landscape with touchpad, where the input needs rotated by 90degrees.

@piggz
Copy link
Author

piggz commented Nov 30, 2025

This is useful on the volla tablet and pine64 pinetab2, both of which have keyboard cases with a touchpad. I use rotate=270. The mouse driver seems to work better than the touch driver, which seems to generate a lot of noisy input.

@pvuorela
Copy link
Contributor

With changes to single driver class and being opt-in I could live with.

But indeed feels suboptimal. Suppose this now fixes the expectation when using a case with keyboard, but then again there could be, say, a bluetooth mouse attached. That would then also work only in some specific orientation, right?

Wondering how much effort it would be to just do this in lipstick per current orientation.

@piggz
Copy link
Author

piggz commented Jan 15, 2026

Yes, when testing with a hardware mouse, it also would need the device (in my case tablet) in landscape mode. Its quite niche, and probably the only way to do it correctly is in the compositor somehow?

Copy link
Contributor

@pvuorela pvuorela left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, actually might be that this needs something in qtbase since mouse handling is including a global position. Here storing m_x & m_y and feeding them to QWindowSystemInterface. For relative movement the information how to interpret directions should be coming from the compositor but guess the actual work should be done eventually somewhere here.

I think qt might be lacking support for this kind of use case. Not spotting anything in more recent qt5 or qt6 either.

m_y += y;
}
} else {
m_x = x;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we actually want to rotate the mouse events with absolute coordinates? Ref qevdevmousehandler.cpp those might be a touchscreen sending mouse events.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I admit to not testing this path, as im sure the touchpad just give relative events. Would be happy to drop the changes to this branch of the condition?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright, let's skip this part then. If some device returns absolute coordinates, I'd expect it safer to just believe them.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Have removed this part

Not a real fix, as lipstick should probably rotate the input, however
works in the case of a tablet docked into a keyboard in landscape with touchpad,
where the input needs rotated by 90degrees.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants