Skip to content

[Feature] Add cross-platform input seat support (pointer, keyboard, touch) #28

@zzxyb

Description

@zzxyb

Is your feature request related to a problem? Please describe.

Currently, wlframe input lacks a unified abstraction for managing input devices.
On Wayland, devices such as pointer, keyboard, and touch are tied to the compositor protocol, while other platforms may require different APIs.
This makes it difficult to write renderer or UI code that can run consistently across multiple backends.

cross-platform input seat abstraction layer

Introduce a cross-platform input seat abstraction layer that provides unified interfaces for input devices:

  • wlf_seat: represents an input seat containing one or more devices
  • wlf_pointer: handles pointer events (motion, button, axis)
  • wlf_keyboard: handles keyboard events (key press, modifiers)
  • wlf_touch: handles multi-touch events (down, motion, up)
  • Each backend (e.g., Wayland, headless) can implement its own input handling through a platform-specific impl structure, similar to the renderer design pattern:

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions