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):