ei_pointer

Pointer Object

Interface for pointer motion requests and events. This interface is available on devices with the ei_device.capability pointer.

This interface is only provided once per device and where a client requests ei_pointer.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 releasd.

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

Since Version1 Request Opcode0

ei_pointer.release()

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

ei_pointer.motion_relative

Since Version1 Request Opcode1

ei_pointer.motion_relative(x, y)
Argument Type Summary
x float the x movement in logical pixels
y float the y movement in logical pixels
Note

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

Generate a relative motion event on this pointer.

It is a client bug to send this request more than once within the same ei_device.frame.

It is a client bug to send this request on a device without the ei_device.capabilities.pointer capability.

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

Events

ei_pointer.destroyed

Since Version1 Event Opcode0

ei_pointer.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 object has been removed and a client should release all associated resources.

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

ei_pointer.motion_relative

Since Version1 Event Opcode1

ei_pointer.motion_relative(x, y)
Argument Type Summary
x float
y float
Note

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

See the ei_pointer.motion_relative request for details.

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