-
5d6d8e65
by Peter Hutterer at 2025-02-12T13:05:24+10:00
libei 1.4.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
eda5b907
by Corentin Noël at 2025-03-26T15:33:34+01:00
meson.build: Use the correct name for the libraries overrides
The libraries are actually suffixed with the API number, use the same value as
their pkgconfig basenames.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/326>
-
fa21d765
by Ian Douglas Scott at 2025-03-31T09:11:56+10:00
proto: Fix `version` for `ei_touchscreen`
Fixes: b1c1c5d579dc ("Add the ei_touchscreen.cancel event and ei_touch_cancel()")
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/327>
-
b0deafc6
by Peter Hutterer at 2025-03-31T10:00:05+10:00
scanner: convert the 'version' and 'since' arguments to int
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/328>
-
962863cb
by Peter Hutterer at 2025-03-31T10:00:19+10:00
scanner: ensure 'since' doesn't exceed the interface version
See https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/327
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/328>
-
9e0413cb
by Peter Hutterer at 2025-04-01T13:52:48+10:00
libei 1.4.1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
e147d431
by Eric Long at 2025-04-11T15:32:20+08:00
test: increase protocol-test-valgrind timeout
Currently libei's valgrind test setup has 100x timeout (3000s), but the
standalone protocol-test-valgrind still has 30s timeout, which is not enough
for RISC-V hardware. On Milk-V Pioneer (SG2042) it takes ~70s to complete. In
addition, `kill_gently` sends SIGKILL before the process terminates and fails
the test.
Bump protocol-test-valgrind timeout to 300s and increase timeout between kill
signals to 3s to solve the issue.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/329>
-
247a3d49
by Peter Hutterer at 2025-05-02T05:39:52+00:00
ei: print the sequence number on error for a start_emulating event
This may help debugging which sequence triggered an error.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/330>
-
daf0b246
by Peter Hutterer at 2025-05-02T15:40:47+10:00
test: add a test for multiple start/stop emulating events
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/331>
-
daba46a2
by Peter Hutterer at 2025-05-02T15:40:47+10:00
eis: if a client is slow, queue up messages for future delivery
If a receiver client stops calling ei_dispatch for a while eventually
we fill up the send buffer, causing messages to be quietly dropped.
When the client resumes the message stream resumes with whatever we send
next but that can leave the client in an inconsistent state.
deskflow hit this in the server-side where our event sequence of pointer
motion+frames eventually filled up the buffer, causing
eis_device_stop_emulating() to be silently dropped. On the next
InputCapture sequence eis_device_start_emulating() was sent to an
already emulating client (as seen by the client).
This patch adds a secondary queue, if we fail to send a message with
EAGAIN queue it up and flush that queue whenever the next message is
sent. Meanwhile any newly added messages go straight into that queue.
The caveat here: a nonresponding client will eventually trigger OOM,
there is no upper limit on the messages yet
This is the libeis version of
commit 69e973e6b30b ("ei: queue unsent messages for later delivery if our buffer is full")
Closes: #79
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/331>
-
b2484c00
by Peter Hutterer at 2025-05-19T16:11:49+10:00
CI: bump to Fedora 42 and latest ci-templates
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/333>
-
2556ad38
by Peter Hutterer at 2025-05-19T11:34:54+00:00
tools: handle EI_EVENT_SYNC in the demo client
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/332>
-
851f935f
by Peter Hutterer at 2025-05-19T11:34:54+00:00
tools: print missing event types in the demo client
Instead of aborting, print something useful
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/332>
-
ee27dd5c
by Jonas Ådahl at 2025-05-22T22:43:35+02:00
ei-device: Don't leak fd when receiving the keymap
The ei_keymap dups the file descriptor, so lets close the one we
received from the demarshaller.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/334>
-
6c5b4863
by Jason Gerecke at 2025-05-29T14:35:19-07:00
scanner: Avoid trailing full stops in regex search for protocol names
Continue to find nested ei_foo.bar.baz but avoid including a trailing
full stop, if it exists.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/336>
-
50ff529a
by Jason Gerecke at 2025-05-29T23:07:48+00:00
Fix MIT license header text
Corrects an issue where a wild search-and-replace mangled the license
texts on protocol implementations.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/335>
-
efdc58e0
by Peter Hutterer at 2025-06-13T16:49:03+10:00
test: remove an unused function
Obsolete since 479bda259a79 ("Purge libreis from the repo")
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/338>
-
dbeff9a9
by Peter Hutterer at 2025-06-16T11:20:21+10:00
test: add a bunch of strv helpers
Taken from libinput
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/337>
-
98e445eb
by Peter Hutterer at 2025-06-16T11:20:21+10:00
test: add ability to capture logs
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/337>
-
8cd2b01b
by Peter Hutterer at 2025-06-16T11:20:21+10:00
test: expose the ei socket fd to tests
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/337>
-
edc8ea04
by Peter Hutterer at 2025-06-16T11:20:21+10:00
eis: don't warn about EPIPE, just debug-log it
While it's not the friendliest way of a client to exit, we do need to
expect clients to disconnect any time and that shouldn't trigger
warnings, it's somewhat expected behavior.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/337>
-
1b11d10f
by Kacper Piwiński at 2025-06-29T07:43:34+00:00
util: use already computed strlen
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/342>
-
54e71e6d
by Kacper Piwiński at 2025-06-29T07:48:45+00:00
util: don't call function in macro argument
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/342>
-
70cfc6ee
by David Redondo at 2025-07-01T08:50:48+02:00
Make it possible to fetch the pid of a client in socket mode
This is useful to get some more info about clients that try to
connect.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/339>
-
ac9b92bb
by Jason Gerecke at 2025-07-02T14:03:33-07:00
proto: Correct spelling issues in the protocol documentation
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/343>
-
6aa4dc0c
by Jason Gerecke at 2025-07-02T14:03:34-07:00
doc: Correct spelling errors in the code documentation
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/343>
-
883a60d4
by Jason Gerecke at 2025-07-02T14:03:34-07:00
oeffis: Correct spelling errors in log messages
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/343>
-
5567524e
by Peter Hutterer at 2025-07-11T00:59:06+00:00
Swap accidental trailing comma for a semicolon
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/347>
-
6194880a
by Jonas Ådahl at 2025-07-16T13:42:13+10:00
libeis: remove leftover debug log
Fixes: 73e0e8d339da ("eis: add EI_EVENT_SYNC as opaque event to correctly schedule callbacks")
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/348>
-
12237f19
by Peter Hutterer at 2025-07-18T13:26:01+10:00
ei: don't use the connection until we have one
If we're in EI_STATE_BACKEND ei->connection is NULL, causing a segfault
if in this state we unref our ei context.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/350>
-
55335b90
by Peter Hutterer at 2025-07-24T00:54:06+00:00
libei: fix the docs for the various _unref functions
Copy/paste from ei_unref but none of the others will disconnect the
context.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/349>
-
0488b4b4
by Peter Hutterer at 2025-07-24T11:07:32+10:00
test: expand peck_new() to take varargs
This enables us to pass various configuration into the peck context
in the future without having to update every single test that doesn't
need that particular configuration.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/351>
-
0831303a
by Peter Hutterer at 2025-07-24T11:07:32+10:00
test: change peck_new_context to take varargs
This makes peck_new_context() take variable arguments in the style
key, v1, v2... where each value is defined by the free-form key.
What we need right now is the mode of the context, so let's add that.
In the future we will add more configurable bits here.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/351>
-
297f95ef
by Peter Hutterer at 2025-07-24T11:07:32+10:00
utils: add the etrace macro
Same as the existing trace but prints to stderr. And #include stdio so
we can use this file as-is instead of needing extra includes.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/351>
-
45c526bc
by Peter Hutterer at 2025-07-24T11:07:32+10:00
ei: indentation fix
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/351>
-
500ad051
by Ian Douglas Scott at 2025-07-31T19:33:26-07:00
test: Advertise scroll/button interfaces in `test_connect_receive_seat`
This test was checking for the capabilities for `EI_SCROLL` and
`EI_BUTTON`, but not advertising those interfaces initially. Presumably
this was unintentional, given there's no comment that it's intentionally
advertising some protocols but not others.
Also, should the test have failed to find the capabilities when it
didn't advertise the protocol to to start with? This change just fixes
the test, anyway.
This was causing the test to fail for `reis` CI in a proposed change in
https://github.com/ids1024/reis/pull/11.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/352>
-
e3e143ea
by Axel Karjalainen at 2025-08-05T02:02:38+03:00
test: fix false fail by actually looking for unbound capability mask
The previous implementation of
`test_seat_bind_invalid_caps_expect_disconnection`
didn't follow the protocol specification and assumed that `0x1` was
invalid.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/354>
-
1faaacda
by Peter Hutterer at 2025-08-05T07:02:57+00:00
eis: send the interface version for the scroll interface
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/353>
-
7347aeac
by Peter Hutterer at 2025-08-05T07:02:57+00:00
eis: only send interface versions that the client announced
Do not reply with interfaces that the client never requested.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/353>
-
3b98946b
by Peter Hutterer at 2025-08-05T07:02:57+00:00
eis: only send scroll/button capabilities if the client supports them
Commit a902d5dbd859 ("protocol: replace the capabilities enum with an interface list")
added automatic handling for button/scroll interfaces on the protocol
because the libeis C API didn't have those as separate interfaces yet.
Any EIS implementation with POINTER/POINTER_ABSOLUTE would always
announce BUTTON/SCROLL capabilities.
Later in commit e6954b76d3b4 ("eis: change the API to match the protocol interfaces closer")
the required C APIs were added but this handling was never removed so an
EIS implementation always replied with button/scroll capabilities even
where not set. Fix this by removing this automatic announcement.
Fixes: e6954b76d3b4 ("eis: change the API to match the protocol interfaces closer")
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/353>
-
f3f69e3a
by Axel Karjalainen at 2025-08-14T00:07:08+00:00
doc: Correct meaning of ei_connection.disconnected
Closes https://gitlab.freedesktop.org/libinput/libei/-/issues/85
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/344>
-
4d999849
by Axel Karjalainen at 2025-08-14T00:07:09+00:00
docs: Make the description of context types more generic
The protocol should be separate from any specific implementation's own
terms.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/344>
-
70c3348d
by Axel Karjalainen at 2025-08-14T00:07:09+00:00
docs: Extend summaries
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/344>
-
525d55a5
by Axel Karjalainen at 2025-08-14T00:07:09+00:00
docs: Fix issues and make some language clearer
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/344>
-
1010cdff
by Jonas Ådahl at 2025-08-21T17:03:27+02:00
eis: Send sync done event on last event unref
This allows the application to hold the sync event for a while longer,
e.g. to ensure previous events from EIS have passed through relevant
plumbing and reached their internally intended targets, which might
happen synchronously between each processed EIS event.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340>
-
8d86ada1
by Jonas Ådahl at 2025-08-21T17:08:53+02:00
ei: Send sync done event on last event unref
This allows the application to hold the sync event for a while longer,
e.g. to ensure previous events from ei have passed through relevant
plumbing and reached their internally intended targets, which might
happen synchronously between each processed ei event.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340>
-
42b9a893
by Jonas Ådahl at 2025-08-21T17:08:53+02:00
eis: Expose eis_event_ref()
This makes handling prolonged synchronization sequences easier, as one
doesn't have to work around only being allowed to hold one reference.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340>
-
5e57b1ed
by Jonas Ådahl at 2025-08-21T17:08:53+02:00
ei: Expose ei_event_ref()
As with eis, expose ei_event_ref() as well, for consistency.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340>
-
7667d1fc
by Peter Hutterer at 2025-08-25T12:45:11+10:00
test: make some behavior enabling more expressive
Remove the non-obvious +1/-1 and use the enum values instead. Then group
the two together better and remove an unnecessary separate handling of
the flag setting.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340>
-
6c50e2f8
by Peter Hutterer at 2025-08-25T13:40:49+10:00
test: add support for disabling behaviors on the ei/eis context
Historically the preference for testing was to enable a bunch of
specific behaviors and then leave that as-is for the test. This can be
painful for some events, in particular sync/ping that are used
internally by libei's implementation.
Testing those events requires us to match the implementation-defined
internal setup which is a pain. Much easier to add a function
to allow disabling a specific behavior at some point during the test
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340>
-
cae398c1
by Peter Hutterer at 2025-08-25T13:36:18+02:00
test: add a test for delaying the ping/sync
For both the tests send two pings, with a keyboard event in between.
Where the ping is processed, fetch all the events first up front, and
process them one by one in the right order.
Part-of: <https://gitlab.freedesktop.org/libinput/libei/-/merge_requests/340>
-
19b64535
by Peter Hutterer at 2025-08-26T11:25:18+10:00
libei 1.5.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-
36e3c605
by Jeremy Bícha at 2025-09-04T18:03:36-04:00
New upstream version 1.5.0
-
74a0c065
by Jeremy Bícha at 2025-09-04T18:03:38-04:00
Update upstream source from tag 'upstream/1.5.0'
Update to upstream version '1.5.0'
with Debian dir 519fce93f105f78cb99de75e881a666af18a5171
-
f30106d0
by Jeremy Bícha at 2025-09-04T18:04:07-04:00
New upstream release
-
d1ebb1f7
by Jeremy Bícha at 2025-09-04T18:04:32-04:00
Bump Standards Version to 4.7.2
-
680a490a
by Jeremy Bícha at 2025-09-04T18:04:45-04:00
Remove obsolete Rules-Requires-Root: no
default since trixie
-
b50c77e1
by Jeremy Bícha at 2025-09-04T18:06:23-04:00
debian/libeis1.symbols: Add new symbols
-
ae124be8
by Jeremy Bícha at 2025-09-04T18:16:44-04:00
debian/tests/control: update pkg-config binary package name
-
32aefc74
by Jeremy Bícha at 2025-09-04T18:16:59-04:00
releasing package libei version 1.5.0-1