Skip to content

CI only: libinput: add rotationAngle option - #2

Open
RyoheiHashimoto wants to merge 1 commit into
masterfrom
rotation-angle
Open

RyoheiHashimoto wants to merge 1 commit into
masterfrom
rotation-angle

Conversation

@RyoheiHashimoto

Copy link
Copy Markdown
Owner

Not for upstream; runs CI before proposing to labwc#1079.

libinput can rotate the motion events of a device by an angle, which is
useful for a device mounted at an angle, such as a trackball turned on
its side. labwc had no way to set it.

This adds <rotationAngle>, taking 0-359 degrees clockwise. The full
libinput range is accepted rather than the [0|90|180|270] vocabulary of
<tablet rotate>, because libinput does apply arbitrary angles on devices
which support rotation, and restricting to multiples of 90 would drop
that. <tablet rotate> is a separate mechanism which maps to coordinate
transforms rather than to libinput.

The value is parsed with strtol() and a terminator check, matching the
calibrationMatrix parsing above it: 0 is a valid angle here, so atoi()
would silently accept a malformed value as "no rotation".

The setting is skipped where
libinput_device_config_rotation_is_available() reports no support.

Part of labwc#1079
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.

1 participant