libeis.h File Reference
#include <stddef.h>
#include <stdbool.h>
#include <stdint.h>
Go to the source code of this file.
Typedefs | |
typedef void(* | eis_log_handler) (struct eis *eis, enum eis_log_priority priority, const char *message, bool is_continuation) |
The log handler for library logging. More... | |
Functions | |
struct eis * | eis_new (void *user_data) |
Create a new libeis context with a refcount of 1. More... | |
void | eis_log_set_handler (struct eis *eis, eis_log_handler log_handler) |
Change the log handler for this context. More... | |
void | eis_log_set_priority (struct eis *eis, enum eis_log_priority priority) |
enum eis_log_priority | eis_log_get_priority (const struct eis *eis) |
struct eis * | eis_ref (struct eis *eis) |
struct eis * | eis_unref (struct eis *eis) |
void * | eis_get_user_data (struct eis *eis) |
void | eis_set_user_data (struct eis *eis, void *user_data) |
int | eis_setup_backend_socket (struct eis *ctx, const char *path) |
Initialize the context with a UNIX socket name. More... | |
int | eis_setup_backend_fd (struct eis *ctx) |
Initialize the context that can take pre-configured sockets. More... | |
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() More... | |
int | eis_get_fd (struct eis *eis) |
libeis keeps a single file descriptor for all events. More... | |
void | eis_dispatch (struct eis *eis) |
Main event dispatching function. More... | |
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. More... | |
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 queue, i.e. More... | |
struct eis_event * | eis_event_unref (struct eis_event *event) |
Release resources associated with this event. More... | |
struct eis_client * | eis_client_ref (struct eis_client *client) |
struct eis_client * | eis_client_unref (struct eis_client *client) |
void * | eis_client_get_user_data (struct eis_client *eis_client) |
void | eis_client_set_user_data (struct eis_client *eis_client, void *user_data) |
const char * | eis_client_get_name (struct eis_client *client) |
Return the name set by this client. More... | |
void | eis_client_connect (struct eis_client *client) |
Allow connection from the client. More... | |
void | eis_client_disconnect (struct eis_client *client) |
Disconnect this client. More... | |
struct eis_seat * | eis_client_new_seat (struct eis_client *client, const char *name) |
Create a new logical seat with a given name. More... | |
struct eis_seat * | eis_seat_ref (struct eis_seat *seat) |
struct eis_seat * | eis_seat_unref (struct eis_seat *seat) |
struct eis_client * | eis_seat_get_client (struct eis_seat *eis_seat) |
const char * | eis_seat_get_name (struct eis_seat *eis_seat) |
void * | eis_seat_get_user_data (struct eis_seat *eis_seat) |
void | eis_seat_set_user_data (struct eis_seat *eis_seat, void *user_data) |
void | eis_seat_allow_capability (struct eis_seat *seat, enum eis_device_capability cap) |
Allow a capability on the seat. More... | |
void | eis_seat_add (struct eis_seat *seat) |
Add this seat to its client and notify the client of the seat's availability. More... | |
void | eis_seat_remove (struct eis_seat *seat) |
Remove this seat and all its remaining devices. More... | |
enum eis_event_type | eis_event_get_type (struct eis_event *event) |
struct eis_client * | eis_event_get_client (struct eis_event *event) |
struct eis_client * | eis_device_get_client (struct eis_device *device) |
struct eis_seat * | eis_device_get_seat (struct eis_device *device) |
struct eis_device * | eis_device_ref (struct eis_device *device) |
struct eis_device * | eis_device_unref (struct eis_device *device) |
void * | eis_device_get_user_data (struct eis_device *eis_device) |
void | eis_device_set_user_data (struct eis_device *eis_device, void *user_data) |
const char * | eis_device_get_name (struct eis_device *device) |
Return the name of the device. More... | |
void | eis_device_set_name (struct eis_device *device, const char *name) |
Set the name of the device. More... | |
bool | eis_device_has_capability (struct eis_device *device, enum eis_device_capability cap) |
void | eis_device_allow_capability (struct eis_device *device, enum eis_device_capability cap) |
Allow a capability on the device. More... | |
void | eis_device_connect (struct eis_device *device) |
Connects the device. More... | |
void | eis_device_disconnect (struct eis_device *device) |
Disconnect the device. More... | |
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. More... | |
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. More... | |
uint32_t | eis_device_pointer_get_width (struct eis_device *device) |
Get the width of the absolute pointer device in logical pixels. More... | |
uint32_t | eis_device_pointer_get_height (struct eis_device *device) |
uint32_t | eis_device_touch_get_width (struct eis_device *device) |
uint32_t | eis_device_touch_get_height (struct eis_device *device) |
struct eis_keymap * | eis_keymap_new (enum eis_keymap_type type, int fd, size_t size) |
Create a new keymap of the given type . More... | |
size_t | eis_keymap_get_size (struct eis_keymap *keymap) |
enum eis_keymap_type | eis_keymap_get_type (struct eis_keymap *keymap) |
Returns the type for this keymap. More... | |
int | eis_keymap_get_fd (struct eis_keymap *keymap) |
Return a memmap-able file descriptor pointing to the keymap used by the device. More... | |
struct eis_keymap * | eis_keymap_ref (struct eis_keymap *keymap) |
struct eis_keymap * | eis_keymap_unref (struct eis_keymap *keymap) |
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. More... | |
struct eis_keymap * | eis_device_keyboard_get_keymap (struct eis_device *device) |
Return the keymap assigned to this device. More... | |
void | eis_device_keyboard_set_keymap (struct eis_device *device, struct eis_keymap *keymap) |
Set the keymap on the device. More... | |
struct eis_device * | eis_event_get_device (struct eis_event *event) |
Return the device from this event. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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-codes.h. More... | |
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, false for a release. More... | |
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. More... | |
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. More... | |
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 multiples of 120. More... | |
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 multiples of 120. More... | |
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-event-codes.h). More... | |
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, false for a release. More... | |
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, return the tracking ID of the touch. More... | |
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 touch. More... | |
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 touch. More... | |