`builtin_output` is similar to `get_builtin_output_name` in Sway.
For full support, we need support for touch targets/grabs, touch support
for SSDs, and a way to configure what output is mapped to what input.
But this is usable for apps that support touch on a laptop with a
touchscreen.
`axis_stop` should only be sent if the value is `Some(0)`, while this
also sent it for `None`. So every scroll event on one axis generated
stop events for the other.
This fixes scrolling with a touchpad in Alacritty.
Anvil already does this, comparing against `Some(0.0)`.
We'll probably want to add support for `cursor-shape-v1`. Not sure about
`wlr-data-control-unstable-v1`. But this just updates to work with the
latest smithay commit for new.
The protocol doesn't specify this, but XWayland does assume relative
pointer events are part of a frame.
This works for now, though a better solution will be needed in Smithay
to also handle pointer constraints where a relative motion may occur
alone, etc.
This seems to fix https://github.com/pop-os/cosmic-comp/issues/159.
This is not a setting handled by libinput; we have to scale the
scrolling ourselves.
This should match the behavior of the `scroll_factor` defined in
sway-input(5).
This adds a `input-default` setting, which is used for input settings if a
device isn't set in `input-devices`. More awkwardly, it also adds an
`input-touchpad` setting, which is used instead of `input-default` for
touchpad devices, so we can separate mouse and touchpad settings even
though they use the same capability and settings.
This no longer sets the input config, and only reads it. If we add a UI
for per-device config, we'll need some IPC mechanism to list connected
devices. (Assuming cosmic-settings can't use libinput directly for that.)
This moves `InputConfig` and `XkbConfig` to a new `cosmic-comp-config`
crate, so they can be used in `cosmic-settings`.