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
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
| 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
| 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
| 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
| 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
| 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.