Implement native InputCapture with private EIS receiver transport

Add consent, zones and outside-edge barriers, connection-scoped leases, bounded input queues and keyboard/pointer forwarding. Restore local input on release, locking, topology or keymap changes, receiver loss and emergency escape. Preserve held-key state and distinguish finger stops from absent scroll axes.

Validation: independent review cleared; 5 native InputCapture unit tests; 32 portal tests; official D-Bus contract checks on a private bus; real installed libei receiver interoperability test. Live physical barrier and consent interaction remain to be checked in a desktop session.
This commit is contained in:
Samuel Onoja committed 2026-09-30 04:51:08 +01:00
1 parent baca852ee9
commit d26e1511d1
22 files changed
+2349 -11

No files matched your search

+2
View File
@@ -14,6 +14,8 @@ name = "ferese-record"
path = "src/record_main.rs"
[dependencies]
reis = { version = "0.7.1", features = ["calloop"] }
calloop.workspace = true
ferese-protocols = { path = "../crates/ferese-protocols", default-features = false, features = ["client"] }
ferese-ipc = { path = "../crates/ferese-ipc" }
url = "2.5"