Synthetic input & virtual device coverage
Tracks which input modalities / virtual-device classes from meta/docs/stack/specs/develop/synthetic-input-and-virtual-devices.kmd § R1 are implemented in the test harness (the `koder-vdev` driver) and on which host tier. Generated tests requiring an unimplemented modality are emitted skipped-with-reason (spec § R4), so this registry is the source of truth for what flows can be exercised end-to-end today.
Status per modality (spec § R1 matrix). Host: C = privileged container, VM = s.khost1 QEMU layer.
| Cell | Meaning |
|---|---|
| ✅ | Driver implemented in koder-vdev, used by ≥1 test |
| 🟡 | Driver implemented, not yet wired into a generated test |
| ❌ | Not implemented |
Coverage
| # | Modality | Driver | Host | Status |
|---|---|---|---|---|
| 1 | Keyboard | uinput / wlroots virtual-keyboard | C | ✅ (koder-vdev uinput; selftest read-back green on s.khost1, KSTACK-180 fatia 1) |
| 2 | Pointer (moveclickscroll) | uinput / wlroots virtual-pointer | C | 🟡 (koder-vdev driver done — absrelclickscrollbuttons; not yet wired into a generated test) |
| 3 | Drag & drop | sequenced pointer + DnD | C | ❌ |
| 4 | Touch / multitouch / gesture | uinput ABS_MT (protocol B) | C | ✅ (koder-vdev touch — tapmultitapdrag/parallel-multidrag; selftest BTNTOUCH+ABSMT read-back green on s.khost1, KSTACK-183; spec gesture-tdds.kmd) |
| 5 | Stylus / tablet | uinput tablet | C | ❌ |
| 6 | Microphone in | PipeWire virtual source | C | ❌ |
| 7 | Webcam photo | v4l2loopback (still) | C | ❌ |
| 8 | Webcam video | v4l2loopback (stream) | C | ❌ |
| 9 | USB connect/disconnect | QEMU device_add / usbip | VM | ❌ |
| 10 | HDMI / monitor hot-plug | wlroots headless output / QEMU display | C/VM | ❌ |
| 11 | Ethernet cable up/down | dummy/veth + carrier | C | ❌ |
| 12 | Wi-Fi (scanassocsignal) | mac80211_hwsim + hostapd | C | ❌ |
| 13 | Bluetooth (pair/connect) | BlueZ hci_vhci / btvirt | C | ❌ |
| 14 | Battery / power / lid | upower test backend / ACPI | C/VM | ❌ |
| 15 | Removable media mount | virtual USB block + udisks | VM | ❌ |
Seed at creation (2026-06-07 with projects/koder-stack#180). Fatia 1 (2026-06-07):
koder-vdevexists (products/dev/vdev) with the uinput keyboard (#1 ✅, selftest read-back green on s.khost1) + pointer (#2 driver done) — the real-input trigger that supersedes the debug hook (animation-parity-tdds.kmd § R2.1). Build-out order: rest of the container-friendly drivers (R7 step 1), then the VM layer (step 2). Runs on s.khost1, never the owner's laptop (heavy-work-isolation.kmd).