libei: The seat API

libei 1.3.0 A library for Emulated Input

Functions
The seat API
🍦 EIS - The server API

## Functions
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)
bool | eis_seat_has_capability (struct eis_seat *seat, enum eis_device_capability cap)
void | eis_seat_configure_capability (struct eis_seat *seat, enum eis_device_capability cap)
| Allow a capability on the seat.
void | eis_seat_add (struct eis_seat *seat)
| Add this seat to its client and notify the client of the seat's availability.
void | eis_seat_remove (struct eis_seat *seat)
| Remove this seat and all its remaining devices.
struct eis * | eis_seat_get_context (struct eis_seat *seat)
struct eis_device * | eis_seat_new_device (struct eis_seat *seat)
| Create a new device on the seat.

## Detailed Description

The API to query and interact with a struct eis_seat

## Function Documentation

## ◆ eis_seat_add()

void eis_seat_add | ( | struct eis_seat * | seat | ) |

Add this seat to its client and notify the client of the seat's availability.

This allows the client to create a device within this seat.

## ◆ eis_seat_configure_capability()

void eis_seat_configure_capability | ( | struct eis_seat * | seat,
|  | enum eis_device_capability | cap )

Allow a capability on the seat.

This indicates to the client that it may create devices with with the given capabilities, though the EIS implementation may restrict the of capabilities on a device to a subset of those in the seat, see eis_device_allow_capability().

This function must be called before eis_seat_add().

This function has no effect if called after eis_seat_add()

## ◆ eis_seat_get_client()

struct eis_client * eis_seat_get_client | ( | struct eis_seat * | eis_seat | ) |

## ◆ eis_seat_get_context()

struct eis * eis_seat_get_context | ( | struct eis_seat * | seat | ) |

## ◆ eis_seat_get_name()

const char * eis_seat_get_name | ( | struct eis_seat * | eis_seat | ) |

## ◆ eis_seat_get_user_data()

void * eis_seat_get_user_data | ( | struct eis_seat * | eis_seat | ) |

## ◆ eis_seat_has_capability()

bool eis_seat_has_capability | ( | struct eis_seat * | seat,
|  | enum eis_device_capability | cap )

## ◆ eis_seat_new_device()

struct eis_device * eis_seat_new_device | ( | struct eis_seat * | seat | ) |

Create a new device on the seat.

This device is not immediately active, use eis_device_add() to notify the client of it's availability.

The returned device is refcounted, use eis_device_unref() to drop the reference.

Before calling eis_device_add(), use the following functions to set up the device:

- eis_device_configure_type()
- eis_device_configure_name()
- eis_device_configure_capability()
- eis_device_new_region()
- eis_device_new_keymap()

The device type of the device defaults to EIS_DEVICE_TYPE_VIRTUAL.

## ◆ eis_seat_ref()

struct eis_seat * eis_seat_ref | ( | struct eis_seat * | seat | ) |

## ◆ eis_seat_remove()

void eis_seat_remove | ( | struct eis_seat * | seat | ) |

Remove this seat and all its remaining devices.

## ◆ eis_seat_set_user_data()

void eis_seat_set_user_data | ( | struct eis_seat * | eis_seat,
|  | void * | user_data )

## ◆ eis_seat_unref()

struct eis_seat * eis_seat_unref | ( | struct eis_seat * | seat | ) |