libei: API for receiver clients

libei 1.3.0 A library for Emulated Input

Functions
API for receiver clients
🍦 EIS - The server API

## Functions
void | eis_device_start_emulating (struct eis_device *device, uint32_t sequence)
| see ei_device_start_emulating
void | eis_device_stop_emulating (struct eis_device *device)
| see ei_device_stop_emulating
void | eis_device_frame (struct eis_device *device, uint64_t time)
| see ei_device_frame
void | eis_device_pointer_motion (struct eis_device *device, double x, double y)
| see ei_device_pointer_motion
void | eis_device_pointer_motion_absolute (struct eis_device *device, double x, double y)
| see ei_device_pointer_motion_absolute
void | eis_device_button_button (struct eis_device *device, uint32_t button, bool is_press)
| see ei_device_button_button
void | eis_device_scroll_delta (struct eis_device *device, double x, double y)
| see ei_device_scroll_delta
void | eis_device_scroll_discrete (struct eis_device *device, int32_t x, int32_t y)
| see ei_device_scroll_discrete
void | eis_device_scroll_stop (struct eis_device *device, bool stop_x, bool stop_y)
| see ei_device_scroll_stop
void | eis_device_scroll_cancel (struct eis_device *device, bool cancel_x, bool cancel_y)
| see ei_device_scroll_cancel
void | eis_device_keyboard_key (struct eis_device *device, uint32_t keycode, bool is_press)
| see ei_device_keyboard_key
struct eis_touch * | eis_device_touch_new (struct eis_device *device)
| see ei_device_touch_new
void | eis_touch_down (struct eis_touch *touch, double x, double y)
| see ei_touch_down
void | eis_touch_motion (struct eis_touch *touch, double x, double y)
| see ei_touch_motion
void | eis_touch_up (struct eis_touch *touch)
| see ei_touch_up
struct eis_touch * | eis_touch_ref (struct eis_touch *touch)
| see ei_touch_ref
struct eis_touch * | eis_touch_unref (struct eis_touch *touch)
| see ei_touch_unref
void | eis_touch_set_user_data (struct eis_touch *touch, void *user_data)
| see ei_touch_set_user_data
void * | eis_touch_get_user_data (struct eis_touch *touch)
| see ei_touch_get_user_data
struct eis_device * | eis_touch_get_device (struct eis_touch *touch)
| see ei_touch_get_device

## Detailed Description

The receiver API is available only to clients that are not eis_client_is_sender(). For those clients the EIS implemententation creates devices and sends events to the libei client. IOW the EIS implementation acts as the sender. The primary use-case for this is input capturing, e.g. InputLeap.

It is a client bug to call any of these functions for a client created with ei_new_sender().

## Function Documentation

## ◆ eis_device_button_button()

void eis_device_button_button | ( | struct eis_device * | device,
|  | uint32_t | button,
|  | bool | is_press )

see ei_device_button_button

## ◆ eis_device_frame()

void eis_device_frame | ( | struct eis_device * | device,
|  | uint64_t | time )

see ei_device_frame

## ◆ eis_device_keyboard_key()

void eis_device_keyboard_key | ( | struct eis_device * | device,
|  | uint32_t | keycode,
|  | bool | is_press )

see ei_device_keyboard_key

## ◆ eis_device_pointer_motion()

void eis_device_pointer_motion | ( | struct eis_device * | device,
|  | double | x,
|  | double | y )

see ei_device_pointer_motion

## ◆ eis_device_pointer_motion_absolute()

void eis_device_pointer_motion_absolute | ( | struct eis_device * | device,
|  | double | x,
|  | double | y )

see ei_device_pointer_motion_absolute

## ◆ eis_device_scroll_cancel()

void eis_device_scroll_cancel | ( | struct eis_device * | device,
|  | bool | cancel_x,
|  | bool | cancel_y )

see ei_device_scroll_cancel

## ◆ eis_device_scroll_delta()

void eis_device_scroll_delta | ( | struct eis_device * | device,
|  | double | x,
|  | double | y )

see ei_device_scroll_delta

## ◆ eis_device_scroll_discrete()

void eis_device_scroll_discrete | ( | struct eis_device * | device,
|  | int32_t | x,
|  | int32_t | y )

see ei_device_scroll_discrete

## ◆ eis_device_scroll_stop()

void eis_device_scroll_stop | ( | struct eis_device * | device,
|  | bool | stop_x,
|  | bool | stop_y )

see ei_device_scroll_stop

## ◆ eis_device_start_emulating()

void eis_device_start_emulating | ( | struct eis_device * | device,
|  | uint32_t | sequence )

see ei_device_start_emulating

## ◆ eis_device_stop_emulating()

void eis_device_stop_emulating | ( | struct eis_device * | device | ) |

see ei_device_stop_emulating

## ◆ eis_device_touch_new()

struct eis_touch * eis_device_touch_new | ( | struct eis_device * | device | ) |

see ei_device_touch_new

## ◆ eis_touch_down()

void eis_touch_down | ( | struct eis_touch * | touch,
|  | double | x,
|  | double | y )

see ei_touch_down

## ◆ eis_touch_get_device()

struct eis_device * eis_touch_get_device | ( | struct eis_touch * | touch | ) |

see ei_touch_get_device

## ◆ eis_touch_get_user_data()

void * eis_touch_get_user_data | ( | struct eis_touch * | touch | ) |

see ei_touch_get_user_data

## ◆ eis_touch_motion()

void eis_touch_motion | ( | struct eis_touch * | touch,
|  | double | x,
|  | double | y )

see ei_touch_motion

## ◆ eis_touch_ref()

struct eis_touch * eis_touch_ref | ( | struct eis_touch * | touch | ) |

see ei_touch_ref

## ◆ eis_touch_set_user_data()

void eis_touch_set_user_data | ( | struct eis_touch * | touch,
|  | void * | user_data )

see ei_touch_set_user_data

## ◆ eis_touch_unref()

struct eis_touch * eis_touch_unref | ( | struct eis_touch * | touch | ) |

see ei_touch_unref

## ◆ eis_touch_up()

void eis_touch_up | ( | struct eis_touch * | touch | ) |

see ei_touch_up