libei 1.0.0 RC1 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.99.1 This release marks the C API and the protocol stable. 1.0 is expected very soon unless someone finds some serious issues with the current code that warrants another RC. Notable changes since 0.5: - the protocol no longer has a fixed capability enum, the bitmask is based on the available interfaces. See the ei_seat.capability event in the protocol documentation - new interfaces for button and scroll - these were split out from the previously merged pointer/pointer_absolute interfaces. Clients need to bind to those in addition to binding to pointer and/or pointer_absolute. EIS implementations need to provide those separately in addition to pointer/pointer_absolute. - a number of APIs have been renamed to adjust for this, e.g. ei_event_pointer_get_scroll_x() is now ei_event_scroll_get_dx() - ei_seat_bind_capability() was removed, use ei_seat_bind_capabilities() instead - the pkgconfig files are now libei-1.0.pc, libeis-1.0.pc, liboeffis-1.0.pc - enabling tests are now a meson feature, i.e. use -Dtests=enabled All of the above are largely search/replace. Don't forget to bind to the new button/scroll capabilities. Please see the documentation here: https://libinput.pages.freedesktop.org/libei/ The git shortlog is below: Peter Hutterer (48): ei: fix ei_seat_unbind_capabilities ei: de-duplicate ei_seat_unbind_capability test: cast the varargs to the right data size meson: require the python modules that the scanner requires doc: fix two obsolete API comments doc: move the sentinel attribute to unconfuse doxygen test: fix a debug log typo Rename an internal struct to scroll_state Split the ei_pointer interface up into its components protocol: replace the capabilities enum with an interface list Purge the pseudo-code examples doc: point to the main branch, not the master branch ei: change the API to match the protocol interfaces closer eis: change the API to match the protocol interfaces closer doc: rename the mainpage sections to get @ref ei to work Add a few more doxygen comments doc: some minor doxygen updates doc: split the libei doxygen API into multiple submodules ei: tighten the event type checks eis: remove a misleading paragraph from the docs eis: split up the API docs into smaller categories eis: drop the vestiges of client restrictions tools/demo-server: only print now if we actually have events tools/demo-server: check if we have a touch before sending one tools: ei-demo-client needs to bind to the new button/scroll caps ei: fix capability checks for sending events tools: ei-demo-client should bind all caps at once tools: make the button/scroll caps available on demo-server seats meson.build: install our headers into a versioned subfolder doc/protocol: fix the link to the C libraries section doc/protocol: fix link to the liboeffis API docs meson.build: add soname versions to the generated libraries doc/api: add liboeffis to the various sections doc/api: add the unicode icons for a splash of color doc/api: add some more high-level overview to the libei page test: fix the oeffis pytest meson.build: list if oeffis is built in the summary meson.build: change the test builds to be a feature tools: bind to the new capabilities in ei-debug-events test: add the new caps to the bind-all-caps test test: switch to use ei_seat_bind_capabilities() ei: drop ei_seat_bind_capability() and the unbind equivalent ei: drop unused ei_insert_device_removed_event() proto: document the callback-data for pingpong/callback better protocol: widen the callback_data arg for ping/sync to 64bit proto: fix a typo README: fix the paragraph talking about the protocol libei 1.0.0rc1
signature.asc
Description: PGP signature