libei 1.0.0 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/1.0.0 # Changes: Note that there is one minor protocol change (`ei_connection.sync`) and one ABI (not API) change in libeis since the RC2 despite previous statements that the protocol and API are stable. In both cases it was better to do it now while every user of libei(s) is still in draft than having to special-case those instances for the next 10 years. An rebuild will take care of of the ABI change, making sure libei and libeis are both on 1.0.0 will take care of the protocol change. Notable changes since RC2: - meson requirements dropped back to 0.56 to allow for building on older distros - Protocol - ei_connection.sync now takes a version argument to allow for future updates of the ei_callback interface. This is a protocol change. - the ei-scanner now exposes interface_arg + interface_arg_for and version_arg + version_arg_for to allow for better handling of arguments that refer to interfaces or versions, respectively - Library: - The enum eis_event_type was synced with libei so identical events (e.g. EI_EVENT_FRAME and EIS_EVENT_FRAME) have the same enum value in both libraries. This fixes commit e6954b76d. This is an ABI break, a rebuild will take care of it. - sending an ei_device_scroll_discrete event with value 1 now logs a bug. This typically indicates a bug in the caller and the value should be a fraction or multiple of 120 instead. - a few missing functions are now public: eis_region_contains(), eis_region_get_physical_scale(), eis_device_get_context(), eis_seat_get_context(), eis_device_get_width() and eis_device_get_height() - libeis *for now* sends all negotiated interface versions back to the client during the initial handshake. This isn't required by the protocol but it ensures those parts of any new client are working correctly. Please see the documentation here: https://libinput.pages.freedesktop.org/libei/ The git shortlog is below Ian Douglas Scott (2): ei-scanner: Fix `--jinja-extra-data-file`, and make `mypy` check pass ei-scanner: Expose `interface_arg`, and also provide `interface_arg_for` Peter Hutterer (39): meson.build: drop requirements back to 0.56 CI: add a build test for our minimum meson version scanner: rework the main() function into something easier to test scanner: add tests for the extra data arguments ei-scanner: expose `version_arg` and `version_arg_for` proto: add a version argument to ei_connection.sync libei: check incoming objects' version for correctness libeis: check incoming objects' version for correctness log: remove trailing linebreaks from log messages Log a bug if a client tries to send a discrete value 1 CI: add a comment to the meson build helper Remove unimplemented ei_device_get_keymap() ei: ei_device_get_width/height need to be public APIs doc: change the doxygen oeffis group to liboeffis tools: make the demo client send the correct discrete events eis: expose eis_device_get_context() and eis_seat_get_context() test: use the callback's version instead of hardcoding it a second time Correct a meaningless comment eis: sync event codes with libei CI: use meson setup in the abi check job CI: fix the ABI check job, it was using the wrong HEAD eis: add eis_region_get_physical_scale eis: expose eis_region_contains ei: more docs that data is in pixels or mm test: drop ifdef'd out test test: add tests for the eis region getters CI: remove a copy/pasted MESON_ARGS from the abicheck job ci: add a check that our event values cannot diverge test: check that the width/height are set for physical devices ei: remove unused ei_pingpong_new() tests: add tests for button events ei: removed unused ei_callback_new_for_id eis: send all our interface versions to the client test: add a unit test for ei_region_convert_point ei: fix a whitespace error test: don't over-ref the button/scroll devices test: add test for correct ei_device_close behavior test: ensure all returned interface versions are 1 libei 1.0.0
signature.asc
Description: PGP signature