diff --git a/proto/protocol.xml b/proto/protocol.xml
index 362657e..47169be 100644
--- a/proto/protocol.xml
+++ b/proto/protocol.xml
@@ -528,20 +528,6 @@
-
-
- A set of capabilities possible available on this seat. A client may bind to these
- capabilies and an EIS implementation may then create device based on the bound
- capabilities.
-
- These capabilities are binary compatible with ei_device.capabilities.
-
-
-
-
-
-
-
Bind to the bitmask of capabilities given. The bitmask is zero or more of the
@@ -555,7 +541,7 @@
is interested in. If capabilities are dropped, the EIS implementation may
ei_device.remove devices that have these capabilities.
-
+
@@ -588,11 +574,9 @@
capabilies and an EIS implementation may then create device based on the bound
capabilities.
- These capabilities are binary compatible with ei_device.capabilities.
-
It is a protocol violation to send this event after the ei_seat.done event.
-
+
diff --git a/src/libeis-seat.c b/src/libeis-seat.c
index 02abb12..ca6bdcc 100644
--- a/src/libeis-seat.c
+++ b/src/libeis-seat.c
@@ -30,11 +30,6 @@
#include "libeis-private.h"
#include "eis-proto.h"
-static_assert((1 << EIS_DEVICE_CAP_POINTER) == EIS_SEAT_CAPABILITIES_POINTER, "ABI mismatch");
-static_assert((1 << EIS_DEVICE_CAP_POINTER_ABSOLUTE) == EIS_SEAT_CAPABILITIES_POINTER_ABSOLUTE, "ABI mismatch");
-static_assert((1 << EIS_DEVICE_CAP_KEYBOARD) == EIS_SEAT_CAPABILITIES_KEYBOARD, "ABI mismatch");
-static_assert((1 << EIS_DEVICE_CAP_TOUCH) == EIS_SEAT_CAPABILITIES_TOUCHSCREEN, "ABI mismatch");
-
static void
eis_seat_destroy(struct eis_seat *seat)
{
@@ -96,14 +91,14 @@ client_msg_bind(struct eis_seat *seat, uint32_t caps)
{
uint32_t allowed_caps = 0;
- if (seat->proto_object.version >= EIS_SEAT_CAPABILITIES_POINTER_SINCE_VERSION)
- allowed_caps |= EIS_SEAT_CAPABILITIES_POINTER;
- if (seat->proto_object.version >= EIS_SEAT_CAPABILITIES_POINTER_ABSOLUTE_SINCE_VERSION)
- allowed_caps |= EIS_SEAT_CAPABILITIES_POINTER_ABSOLUTE;
- if (seat->proto_object.version >= EIS_SEAT_CAPABILITIES_KEYBOARD_SINCE_VERSION)
- allowed_caps |= EIS_SEAT_CAPABILITIES_KEYBOARD;
- if (seat->proto_object.version >= EIS_SEAT_CAPABILITIES_TOUCHSCREEN_SINCE_VERSION)
- allowed_caps |= EIS_SEAT_CAPABILITIES_TOUCHSCREEN;
+ if (seat->proto_object.version >= EIS_DEVICE_CAPABILITIES_POINTER_SINCE_VERSION)
+ allowed_caps |= EIS_DEVICE_CAPABILITIES_POINTER;
+ if (seat->proto_object.version >= EIS_DEVICE_CAPABILITIES_POINTER_ABSOLUTE_SINCE_VERSION)
+ allowed_caps |= EIS_DEVICE_CAPABILITIES_POINTER_ABSOLUTE;
+ if (seat->proto_object.version >= EIS_DEVICE_CAPABILITIES_KEYBOARD_SINCE_VERSION)
+ allowed_caps |= EIS_DEVICE_CAPABILITIES_KEYBOARD;
+ if (seat->proto_object.version >= EIS_DEVICE_CAPABILITIES_TOUCHSCREEN_SINCE_VERSION)
+ allowed_caps |= EIS_DEVICE_CAPABILITIES_TOUCHSCREEN;
if (caps & ~allowed_caps)
return brei_result_new(EIS_CONNECTION_DISCONNECT_REASON_VALUE,
diff --git a/test/test_protocol.py b/test/test_protocol.py
index c21ae16..0a168f1 100644
--- a/test/test_protocol.py
+++ b/test/test_protocol.py
@@ -44,6 +44,7 @@ try:
EiCallback,
EiConnection,
EiConnectionSetup,
+ EiDevice,
EiSeat,
)
except ImportError:
@@ -528,10 +529,10 @@ class TestEiProtocol:
caps = call.args["capabilities"]
assert (
caps
- == EiSeat.EiCapabilities.POINTER
- | EiSeat.EiCapabilities.POINTER_ABSOLUTE
- | EiSeat.EiCapabilities.KEYBOARD
- | EiSeat.EiCapabilities.TOUCHSCREEN
+ == EiDevice.EiCapabilities.POINTER
+ | EiDevice.EiCapabilities.POINTER_ABSOLUTE
+ | EiDevice.EiCapabilities.KEYBOARD
+ | EiDevice.EiCapabilities.TOUCHSCREEN
)
break
else:
@@ -643,7 +644,7 @@ class TestEiProtocol:
seat.connect("Destroyed", destroyed_cb)
if bind_first:
- ei.send(seat.Bind(EiSeat.EiCapabilities.POINTER))
+ ei.send(seat.Bind(EiDevice.EiCapabilities.POINTER))
ei.send(seat.Release())
ei.dispatch()
@@ -771,7 +772,7 @@ class TestEiProtocol:
seat = new_objects["seat"]
assert seat is not None
seat.connect("Device", on_device)
- ei.send(seat.Bind(EiSeat.EiCapabilities.POINTER))
+ ei.send(seat.Bind(EiDevice.EiCapabilities.POINTER))
status.seats = True
def on_disconnected(connection, last_serial, reason, explanation):