From ebd7d102cd4f6fee363805cdeff79454822c8b59 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 6 Mar 2023 10:30:32 +1000 Subject: [PATCH] proto: clarify that the ei_seat capabilities depend on ei_device Regardless of the ei_seat version, ei_seat.bind will support all capablities of the negotiated ei_device interface. This means we don't need to bump ei_seat just to add a new capability to ei_device. --- proto/protocol.xml | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/proto/protocol.xml b/proto/protocol.xml index 5272bac..9679716 100644 --- a/proto/protocol.xml +++ b/proto/protocol.xml @@ -571,7 +571,12 @@ capabilities provided in the ei_seat.capabilities event. That event's capabilities are used as a mask of capabilities that can be bound. - Binding capabilities that are not supported in the ei_seat's interface version + Note that available seat capabilities are defined in the ei_device + interface and not dependent on the seat interface version. In other + words, ei_seat.bind supports any capability available in the + client-announced ei_device interface version. + + Binding capabilities that are not supported in the ei_device's interface version is a client bug and may result in disconnection. A client may send this request multiple times to adjust the capabilities it @@ -611,6 +616,11 @@ capabilies and an EIS implementation may then create device based on the bound capabilities. + Note that available seat capabilities are defined in the ei_device + interface and not dependent on the seat interface version. In other + words, ei_seat.bind supports any capability available in the + client-announced ei_device interface version. + Note that seat capabilities only represent a mask of possible capabilities on devices in this seat. A capability that is not available on the seat cannot ever be available on any device in this seat. For example, a seat that only has the