ei_keyboard.modifiers behavior is undocumented
The C header says
* This event is sent in response to an external modifier state
* change. Where the client triggers a modifier state change in
* response to ei_device_keyboard_key(), no such event is sent.
but this is not documented in the protocol.