ei_text

Text Object

Interface for text-based requests and events.

This interface is only provided once per device and where a client requests ei_text.release the interface does not get re-initialized. An EIS implementation may adjust the behavior of the device (including removing the device) if the interface is released.

Note that for a client to receive objects of this type, it must announce support for this interface in ei_handshake.interface_version.

Requests

ei_text.release

Since Version1 Request Opcode0

ei_text.release()

Notification that the client is no longer interested in this text interface object. The EIS implementation will release any resources related to this object and send the ei_text.destroyed event once complete.

ei_text.keysym

Since Version1 Request Opcode1

ei_text.keysym(keysym, state)
Argument Type Summary
keysym uint32 the key sym
state uint32 logical state of the keysym
Note

This request is only available for clients of ei_handshake.context_type.sender.

Generate an XKB key sym event.

It is a client bug to send more than one key request for the same keysym within the same ei_device.frame and the EIS implementation may ignore either or all keysym state changes and/or disconnect the client.

It is a protocol violation to send this request for a client of an ei_handshake.context_type other than sender.

It is a protocol violation to send this request in the same frame as a ei_keyboard.key.

ei_text.utf8

Since Version1 Request Opcode2

ei_text.utf8(text)
Argument Type Summary
text string the utf-8 compatible text
Note

This request is only available for clients of ei_handshake.context_type.sender.

Generate a UTF-8 compatible text string. Note that sending such a string may not result in any emulated keyboard activity, e.g. an EIS implementation may pass the string directly to the receiver via an input method protocol.

It is a protocol violation to send this request for a NULL pointer or the empty string. It is a protocol violation to send this request for a string with more than 254 characters (255 bytes including the terminating null byte).

It is a protocol violation to send this request for a client of an ei_handshake.context_type other than sender.

It is a protocol violation to send more than one utf8 request in the same frame.

The order of ei_keyboard.key or ei_text.keysym and ei_text.utf8 if sent within the same frame is undefined.

Events

ei_text.destroyed

Since Version1 Event Opcode0

ei_text.destroyed(serial)
Argument Type Summary
serial uint32 this event’s serial number
Destructor

Immediately after sending this request, the object is considered destroyed by the EIS implementation. It must no longer be used by the client.

This text interface object has been removed and a client should release all associated resources.

This ei_text object will be destroyed by the EIS implementation immediately after after this event is sent and as such the client must not attempt to use it after that point.

ei_text.keysym

Since Version1 Event Opcode1

ei_text.keysym(keysym, state)
Argument Type Summary
keysym uint32
state uint32
Note

This event is only available for clients of ei_handshake.context_type.receiver.

See the ei_text.keysym request for details.

It is a protocol violation to send this event for a client of an ei_handshake.context_type other than receiver.

It is a protocol violation to send a keysym down event in the same frame as a key up event for the same keysym in the same frame.

It is a protocol violation to send this event in the same frame as a ei_keyboard.key event.

ei_text.utf8

Since Version1 Event Opcode2

ei_text.utf8(text)
Argument Type Summary
text string the utf-8 compatible text
Note

This event is only available for clients of ei_handshake.context_type.receiver.

See the ei_text.utf8 request for details.

It is a protocol violation to send this event for a NULL pointer or the empty string. It is a protocol violation to send this event for a string with more than 254 characters (255 bytes including the terminating null byte).

It is a protocol violation to send this event for a client of an ei_handshake.context_type other than receiver.

It is a protocol violation to send more than one utf8 event in the same frame.

The order of ei_keyboard.key, ei_text.keysym, and ei_text.utf8 if sent within the same frame is undefined.