input-method.xml has a factory for wl_keyboard causing version conflict
Submitted by Pekka Paalanen
Assigned to Wayland bug list
Description
Request wl_input_method_context.grab_keyboard creates a new wl_keyboard object.
wl_seat.get_keyboard is the primary request for creating wl_keyboard objects.
This causes a runtime interface versioning conflict.
wl_keyboard in core is already at version 4, but you can only create wl_keyboard version 1 via wl_input_method_context. You cannot bump wl_input_method_context version without starting to get wl_keyboards of higher version. The major problem comes, when you bump input-method interface version beyond what is currently the highest version of wl_seat, and then someone adds a new thing to wl_keyboard. Input-method would start dealing out wl_keyboards automatically with a version claiming to support the new thing without clients or servers ever implementing the support.
wl_input_method_context.grab_keyboard should not be creating objects of type wl_keyboard, but the type should be unique for wl_input_method_context.