Files
vatrog-vm-signaling/src/adapter/vmhost/include/vmhost.h
T
lirent 0f452fe37c feat(input): drop absolute-pointer (ABS) support
ABS was glued onto device A alongside the keyboard and never worked right; it is
not needed in practice. Remove it entirely: device A is now keyboard-only, and
device B is the relative mouse (motion + buttons incl. middle + wheel). Drops the
ptr_mode model (one layout remains), VMCTL_EV_ABS/PTR_*, and the absolute axes.

The public input-kind enum keeps its numeric values (MOVE_REL=1, BTN=2, KEY=3,
SCROLL=4) so the wire stays compatible -- only MOVE_ABS (0) is removed and its
slot reserved; an unknown/0 kind is a no-op.

Bump 0.3.11.
2026-06-24 17:14:15 +03:00

21 lines
955 B
C

#ifndef VMSIG_VMHOST_H
#define VMSIG_VMHOST_H
/* Private config of the vmhost adapter (signaling's own QMP client).
* cfg==NULL or no qmp_path => stub mode (synthetic events, no QEMU).
* qmp_path given => armed: connect to QEMU's QMP socket ('@' prefix = abstract).
* No build flag needed — the client depends only on POSIX and its own code. */
typedef struct {
int stub;
const char* qmp_path;
/* Host->guest input bridge: evdev node paths of the uinput devices (published by the input
* seam). When non-NULL/non-empty, on reaching READY the seam adds an input-linux QMP object
* forwarding them into the guest (A=keyboard with grab_all, B=relative mouse). NULL/"" => no bridge
* (stub/tests are fail-closed). Pointers are borrowed from the stable per-endpoint home and
* outlive the adapter. */
const char* bridge_evdev_a;
const char* bridge_evdev_b;
} vmsig_vmhost_cfg;
#endif /* VMSIG_VMHOST_H */