libeis.h
uint32_t eis_device_pointer_get_height(struct eis_device *device)
void * eis_seat_get_user_data(struct eis_seat *eis_seat)
void eis_device_set_name(struct eis_device *device, const char *name)
Set the name of the device.
void eis_seat_remove(struct eis_seat *seat)
Remove this seat and all its remaining devices.
uint32_t eis_device_pointer_get_width(struct eis_device *device)
Get the width of the absolute pointer device in logical pixels.
struct eis_keymap * eis_device_keyboard_get_keymap(struct eis_device *device)
Return the keymap assigned to this device.
void * eis_client_get_user_data(struct eis_client *eis_client)
struct eis_device * eis_device_unref(struct eis_device *device)
struct eis_seat * eis_seat_ref(struct eis_seat *seat)
void eis_client_set_user_data(struct eis_client *eis_client, void *user_data)
double eis_event_pointer_get_absolute_x(struct eis_event *event)
For an event of type EIS_EVENT_POINTER_MOTION_ABSOLUTE return the x position in logical pixels.
@ EIS_EVENT_CLIENT_DISCONNECT
The client has disconnected, any pending requests for this client should be discarded.
Definition: libeis.h:74
double eis_event_pointer_get_dx(struct eis_event *event)
For an event of type EIS_EVENT_POINTER_MOTION return the relative x movement in logical pixels.
struct eis_seat * eis_seat_unref(struct eis_seat *seat)
void(* eis_log_handler)(struct eis *eis, enum eis_log_priority priority, const char *message, bool is_continuation)
The log handler for library logging.
Definition: libeis.h:128
int32_t eis_event_pointer_get_scroll_discrete_y(struct eis_event *event)
For an event of type EIS_EVENT_POINTER_SCROLL_DISCRETE return the y scroll distance in fractions or m...
enum eis_log_priority eis_log_get_priority(const struct eis *eis)
int eis_keymap_get_fd(struct eis_keymap *keymap)
Return a memmap-able file descriptor pointing to the keymap used by the device.
const char * eis_seat_get_name(struct eis_seat *eis_seat)
const char * eis_device_get_name(struct eis_device *device)
Return the name of the device.
void eis_seat_add(struct eis_seat *seat)
Add this seat to its client and notify the client of the seat's availability.
uint32_t eis_event_touch_get_id(struct eis_event *event)
For an event of type EIS_EVENT_TOUCH_DOWN, EIS_EVENT_TOUCH_MOTION, or EIS_EVENT_TOUCH_UP,...
uint32_t eis_device_touch_get_width(struct eis_device *device)
void eis_seat_allow_capability(struct eis_seat *seat, enum eis_device_capability cap)
Allow a capability on the seat.
@ EIS_EVENT_DEVICE_REMOVED
The device created by the client was removed.
Definition: libeis.h:91
double eis_event_pointer_get_scroll_x(struct eis_event *event)
For an event of type EIS_EVENT_POINTER_SCROLL return the x scroll distance in logical pixels.
void eis_seat_set_user_data(struct eis_seat *eis_seat, void *user_data)
int eis_setup_backend_socket(struct eis *ctx, const char *path)
Initialize the context with a UNIX socket name.
void eis_device_allow_capability(struct eis_device *device, enum eis_device_capability cap)
Allow a capability on the device.
void eis_set_user_data(struct eis *eis, void *user_data)
struct eis_keymap * eis_keymap_ref(struct eis_keymap *keymap)
struct eis_client * eis_client_ref(struct eis_client *client)
struct eis_keymap * eis_keymap_unref(struct eis_keymap *keymap)
bool eis_event_pointer_get_button_is_press(struct eis_event *event)
For an event of type EIS_EVENT_POINTER_BUTTON return true if the event is a button press,...
struct eis_keymap * eis_keymap_new(enum eis_keymap_type type, int fd, size_t size)
Create a new keymap of the given type.
struct eis_client * eis_event_get_client(struct eis_event *event)
uint32_t eis_device_touch_get_height(struct eis_device *device)
struct eis_client * eis_device_get_client(struct eis_device *device)
enum eis_keymap_type eis_keymap_get_type(struct eis_keymap *keymap)
Returns the type for this keymap.
bool eis_device_has_capability(struct eis_device *device, enum eis_device_capability cap)
uint32_t eis_event_pointer_get_button(struct eis_event *event)
For an event of type EIS_EVENT_POINTER_BUTTON return the button code as defined in linux/input-event-...
@ EIS_EVENT_DEVICE_ADDED
The client requests creation of a device with a given set of capabilities.
Definition: libeis.h:83
double eis_event_pointer_get_scroll_y(struct eis_event *event)
For an event of type EIS_EVENT_POINTER_SCROLL return the y scroll distance in logical pixels.
void * eis_get_user_data(struct eis *eis)
struct eis_device * eis_event_get_device(struct eis_event *event)
Return the device from this event.
double eis_event_pointer_get_dy(struct eis_event *event)
For an event of type EIS_EVENT_POINTER_MOTION return the relative y movement in logical pixels.
struct eis_client * eis_seat_get_client(struct eis_seat *eis_seat)
void eis_device_keyboard_set_keymap(struct eis_device *device, struct eis_keymap *keymap)
Set the keymap on the device.
uint32_t eis_event_keyboard_get_key(struct eis_event *event)
For an event of type EIS_EVENT_KEYBOARD_KEY return the key code (as defined in include/linux/input-ev...
struct eis_event * eis_get_event(struct eis *eis)
Returns the next event in the internal event queue (or NULL) and removes it from the queue.
struct eis_client * eis_client_unref(struct eis_client *client)
void eis_log_set_handler(struct eis *eis, eis_log_handler log_handler)
Change the log handler for this context.
double eis_event_pointer_get_absolute_y(struct eis_event *event)
For an event of type EIS_EVENT_POINTER_MOTION_ABSOLUTE return the y position in logical pixels.
void * eis_device_get_user_data(struct eis_device *eis_device)
size_t eis_keymap_get_size(struct eis_keymap *keymap)
struct eis_seat * eis_client_new_seat(struct eis_client *client, const char *name)
Create a new logical seat with a given name.
void eis_device_suspend(struct eis_device *device)
Notify the client that the device is suspended and that no events from the client will be processed.
const char * eis_client_get_name(struct eis_client *client)
Return the name set by this client.
struct eis_event * eis_peek_event(struct eis *eis)
Returns the next event in the internal event queue (or NULL) without removing that event from the que...
struct eis_event * eis_event_unref(struct eis_event *event)
Release resources associated with this event.
double eis_event_touch_get_y(struct eis_event *event)
For an event of type EIS_EVENT_TOUCH_DOWN, or EIS_EVENT_TOUCH_MOTION, return the y coordinate of the ...
struct eis * eis_unref(struct eis *eis)
void eis_device_set_user_data(struct eis_device *eis_device, void *user_data)
int32_t eis_event_pointer_get_scroll_discrete_x(struct eis_event *event)
For an event of type EIS_EVENT_POINTER_SCROLL_DISCRETE return the x scroll distance in fractions or m...
enum eis_event_type eis_event_get_type(struct eis_event *event)
void eis_client_connect(struct eis_client *client)
Allow connection from the client.
struct eis_seat * eis_device_get_seat(struct eis_device *device)
int eis_setup_backend_fd(struct eis *ctx)
Initialize the context that can take pre-configured sockets.
int eis_backend_fd_add_fd(struct eis *ctx, int fd)
Add a new client to a context set up with eis_setup_backend_fd()
void eis_log_set_priority(struct eis *eis, enum eis_log_priority priority)
struct eis_device * eis_keymap_get_device(struct eis_keymap *keymap)
Return the device this keymap belongs to, or NULL if it has not yet been assigned to a device.
struct eis_device * eis_device_ref(struct eis_device *device)
struct eis * eis_ref(struct eis *eis)
bool eis_event_keyboard_get_key_is_press(struct eis_event *event)
For an event of type EIS_EVENT_KEYBOARD_KEY return true if the event is a key down,...
void eis_device_resume(struct eis_device *device)
Notify the client that the capabilities are resumed and that events from the device will be processed...
double eis_event_touch_get_x(struct eis_event *event)
For an event of type EIS_EVENT_TOUCH_DOWN, or EIS_EVENT_TOUCH_MOTION, return the x coordinate of the ...