libei: eis_region Struct Reference

libei 1.4.1 A library for Emulated Input

eis_region Struct Reference
🍦 EIS - The server API | 🍦 EIS - The server API » The region API

Regions are only available on devices of type EIS_DEVICE_TYPE_VIRTUAL. More...

`#include <libeis.h>`

## Detailed Description

Regions are only available on devices of type EIS_DEVICE_TYPE_VIRTUAL.

A rectangular region, defined by an x/y offset and a width and a height. A region defines the area on an EIS desktop layout that is accessible by this device - this region may not be the full area of the desktop. Input events may only be sent for points within the regions.

The use of regions is private to the EIS compositor and coordinates do not need match the size of the actual desktop. For example, a compositor may set a 1920x1080 region to represent a 4K monitor and transparently map input events into the respective true pixels.

Absolute devices may have different regions, it is up to the libei client to send events through the correct device to target the right pixel. For example, a dual-head setup my have two absolute devices, the first with a zero offset region spanning the first screen, the second with a nonzero offset spanning the second screen.

Regions should not overlap, no behavior for overlapping regions has yet been defined but this may change in the future.

Regions must be assigned when the device is created and are static for the lifetime of the device. See eis_device_new_region() and eis_region_add().

The documentation for this struct was generated from the following file:

- doc/api/libeis.h