Sync from SUSE:ALP:Source:Standard:1.0 libei revision d92c15188f2dcbbfd2603a37273a52da

This commit is contained in:
Adrian Schröter 2024-02-01 17:00:11 +01:00
commit c179bbdadd
4 changed files with 265 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

BIN
libei-1.2.0.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

148
libei.changes Normal file
View File

@ -0,0 +1,148 @@
-------------------------------------------------------------------
Wed Dec 6 08:31:30 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.2
* if the write buffer is full, outgoing messages are now cached
instead of returning EAGAIN.
* if a message send fails, stop trying to send more messages
which will do nothing but spam the log with more errors
* if we get disconnected by the server, stop trying to send
things to the server (and spam the log on error)
* use EINTR checks instead of blocking SIGALRM
* keep a cache of defunct objects to avoid spamming the log when
there are in-flight messages arriving after destroy
-------------------------------------------------------------------
Thu Sep 7 06:04:28 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.1
* Correct documentation for ei_touch_(get|set)_user_data
-------------------------------------------------------------------
Thu Aug 31 09:28:28 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.0.901 (1.1.0~rc1)
* ei_device_get_region_at() and its libeis equivalent was added
as a helper to obtain a device's region at a given point.
* ei_region_get_mapping_id() returns the mapping id previously
set by the EIS implementation via
eis_region_set_mapping_id(). This mapping id can be used to
identify external resources that have a relationship with
this region.
This is a protocol addition and bumps the ei_device protocol
to version 2.
-------------------------------------------------------------------
Thu Jun 8 13:10:22 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 1.0.0
* 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 have the same enum value in both libraries.
* A few missing functions are now public too.
* libeis _for now_ sends all negotiated interface versions back
to the client during the initial handshake.
-------------------------------------------------------------------
Mon May 29 12:50:07 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 0.99.2
* Export the event names through helper functions
* scanner: add the Interface.plainname property
-------------------------------------------------------------------
Wed May 17 09:20:52 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 0.99.1
* 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
- Delete ver.diff (obsolete), system-munit.diff (deactivate for now)
-------------------------------------------------------------------
Thu Apr 6 13:12:49 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Update to release 0.5
* The previously protobuf-based ad-hoc protocol has changed to
custom format defined in the protocol.xml file. This protocol
is heavily influenced by the Wayland protocol but not binary
compatible. The protocol is not yet stable.
* ei_get_version() has been removed, with the protocol having
per-interface versions this is no longer useful.
* ei_device_start_emulating() now takes a sequence number.
* Support for properties has been removed.
* libreis has been removed.
-------------------------------------------------------------------
Tue Dec 13 10:10:37 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to release 0.4.1
* ei_setup_backend_portal() was removed. The portal it
connected to never really existed and all the efforts since
have gone into supporting libei connections through the
RemoteDesktop and the InputCapture portals. Note that these
changes are not yet merged into upstream xdg-desktop-portal.
* a new library "liboeffis" takes the place of the above. It is
a helper library to connect to the RemoteDesktop portal via
DBus with a minimal API and retrieve the EIS socket. This
library is intended to be used by tools that cannot easily
talk DBus themselves (this includes Xwayland).
* the libei/libeis log handlers have a new API which makes
handling log messages a bit simpler.
* version exchange between client/server make it possible (in
the future) to have multiple supported protocol versions.
-------------------------------------------------------------------
Tue Jun 7 06:44:15 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to release 0.3
* 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.
* 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.
-------------------------------------------------------------------
Wed Mar 2 08:00:57 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
- Update to release 0.2
* Development snapshot, no curated changelog available.
-------------------------------------------------------------------
Wed Aug 26 00:06:10 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Add meson_build call.
-------------------------------------------------------------------
Thu Aug 13 09:01:21 UTC 2020 - Jan Engelhardt <jengelh@inai.de>
- Initial package (version 0+134/7965e8f) for build.opensuse.org
- Add system-munit.diff, ver.diff

91
libei.spec Normal file
View File

@ -0,0 +1,91 @@
#
# spec file for package libei
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: libei
%define lname libei1
Version: 1.2.0
Release: 0
Summary: Library for emulated input in Wayland
License: MIT
Group: Development/Libraries/C and C++
URL: https://gitlab.freedesktop.org/libinput/libei/
Source: https://gitlab.freedesktop.org/libinput/libei/-/archive/%version/%name-%version.tar.gz
BuildRequires: meson >= 0.57
BuildRequires: ninja
BuildRequires: protobuf-c
BuildRequires: python3-attrs
BuildRequires: python3-jinja2
BuildRequires: pkgconfig(libevdev)
BuildRequires: pkgconfig(libprotobuf-c)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(protobuf-lite)
BuildRequires: pkgconfig(xkbcommon)
%description
libei is a library to send Emulated Input (EI) to a matching Emulated
Input Server (EIS) which can receive those events with libeis.
It targets Wayland and provides separation, distinction and control,
which, for comparison, are not available with XTEST (X11's emulated
input).
%package -n %lname
Summary: Library for emulated input in Wayland
Group: System/Libraries
%description -n %lname
libei is a library to send Emulated Input (EI) to a matching Emulated
Input Server (EIS) which can receive those events with libeis.
It targets Wayland and provides separation, distinction and control,
which, for comparison, are not available with XTEST (X11's emulated
input).
%package devel
Summary: Header files for libei, a library for emulated input under Wayland
Group: Development/Libraries/C and C++
Requires: %lname = %version
%description devel
libei is a library for Emulated Input, targeting the Wayland stack.
%prep
%autosetup -p1
%build
%meson --includedir="%_includedir/%name" -Dtests=disabled
%meson_build
%install
%meson_install
%post -n %lname -p /sbin/ldconfig
%postun -n %lname -p /sbin/ldconfig
%files -n %lname
%_libdir/lib*.so.*
%files devel
%_bindir/ei-debug-*
%_includedir/%name/
%_libdir/pkgconfig/*.pc
%_libdir/*.so
%license COPYING
%changelog