Skip to content

Differentiate between physical and virtual devices

Peter Hutterer requested to merge whot/libei:wip/physical-devices into master

With passive libei contexts receiving events sent by the EIS implementation, the type of device changes significantly. While a relative input device could still send data in logical pixels, absolute devices may not have that luxury.

Best example here is an external tablet (think: Wacom Intuos): that tablet has no built-in mapping to a screen and thus cannot capture input events in logical pixels.

Address this by adding a device type, either virtual or physical. In terms of functionality, the device's type decides:

  • only virtual devices have regions
  • only physical devices have a size

The event API remains as-is but the event data not represents either logical pixels (virtual devices) or mm (physical device).

An EIS implementation connected to a passive libei context would likely create:

  • a virtual relative device (sending deltas in logical pixels)
  • one or more physical absolute devices (sending deltas in mm)

cc @jadahl

Merge request reports