libei 0.3 is now available. libei is a library to send Emulated Input (EI) to a matching Emulated Input Server (EIS) which can receive those events with libeis, also part of this project.
libei uses GitLab releases, for tarballs please see: https://gitlab.freedesktop.org/libinput/libei/-/releases/0.3 Notable changes since 0.2: - libei now supports the concept of sender/receiver contexts. A libei context in sender mode can send events to the (EIS-created) devices, a libei context in receiver mode can receive events from the (EIS-created) devices. This allows for libei to be used as a transport layer for captured input events (the synergy server use-case). - a libei context can bind/unbind to seat capabilities individually at any time - frame events now carry a timestamp - a helper tool ei-debug-events is now available, this tool can be used in e.g. portal implementation to show the events being sent. This is a development snapshot and neither API nor ABI should be considered stable. Anyone using libei or libeis must keep both in sync, there are no accommodations made for libei/libeis from different versions and the wire protocol may break at any time. Please see the API documentation here: https://libinput.pages.freedesktop.org/libei/ The git shortlog is below: David Redondo (1): Some doc fixes relating to keymaps Jonas Ã…dahl (7): libei: Clarify whether a context owns a passed fd eis: Clarify mmap restrictions on keymap eis: Fix a couple of coding style issues eis: Add API to add client getting an fd eirpecken: Use the new eis_backend_fd_add_client() eis: Remove eis_backend_fd_add_fd() Only auto-stop emulating if sender Peter Hutterer (64): Fix a typo in the docs Documentation updates meson.build: don't pass werror through to munit gitlab CI: move the pages job configuration to config.yml gitlab CI: add a -Werror job (allowed to fail) gitlab CI: drop the requirement for Signed-off-by Add SPDX identifiers to all source files gitlab CI: fail the CI early if the fork is private util: add a helper for fetching the cmdline. eis: add the functions to fetch a region back from the device test: localize a coordinate set a bit better test: add a helper function to mark test progress test: aded a test for key events util-object: split macro to generate unref into one two test: define peck_unrefp in the header file doc: document the events a little doc: fix the documentation for the eis capabilities doc: updates all over the place eis: don't allow for region changes once the region was added Add concept of active/passive libei contexts tools: add active/passive mode to the demo server and client test: add test cases for eis -> ei events ei: require the client to confirm capabilities rather than drop them eis: remove eis_device_set_name(), use eis_device_configure_name() eis: after the client binds the seat, drop the capabilities meson.build: fix a deprecation warning Fix a comment referring to an old implementation Remove a stray uint32_t from the documentation Correct two comments regarding active vs passive context Add ei_is_active() eis: the EIS context does not have a is_active setting Change to allow dynamic binding of capabilities Differentiate between physical and virtual devices Rename ei active/passive to sender/receiver tools: print the returned negative errno on failure tools: fix a few issues in the demo server tools: add ei-debug-events Whitespace fix Improve the "message type" debug output a bit Better touch debugging messages test: make the dispatch looping easier to understand in the debug logs test: use the helper functions to enable the default behaviors test: handle frame events in passive ei contexts by default ei: frame events must be sent on state emulating, not resumed test: add a few missing frame events Only send touch up events on destroy if the touch is down Enforce a frame after ei_touch_destroy() Filter empty frame events test: ensure we only get frame events after device events Add a bunch of warnings when sending events outside of emulating Warn if the touch isn't down for a touch motion Flush the frame event before a stop_emulating Assert on start_emulating if we're left with a pending frame event Add a filter for empty frames on the receiver side ei: add receiver handling for empty/flushing frame events Remove an outdated comment Print the strerror too if a message fails Add timestamps to frame events util: add the macros to run through a list backwards ei: expose ei_event_get_context() internally Add a pending event queue for incoming device events Retrofit event timestamps to all device events based on the frame README: update with info about sender/receiver modes libei 0.3
signature.asc
Description: PGP signature