[ANNOUNCE] libei 0.3
Peter Hutterer
peter.hutterer at who-t.net
Tue Jun 7 02:31:01 UTC 2022
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20220607/c18954ff/attachment.sig>
More information about the wayland-devel
mailing list