generated from erix/meta
drv-ps2-mouse is the PS/2 pointer protocol translator daemon.
- Rust 100%
|
|
||
|---|---|---|
| .github | ||
| src | ||
| .editorconfig | ||
| .gitignore | ||
| ARCHITECTURE.md | ||
| Cargo.toml | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| linker.ld | ||
| README.md | ||
| ROADMAP.md | ||
| rustfmt.toml | ||
| SECURITY.md | ||
drv-ps2-mouse
drv-ps2-mouse is the PS/2 pointer protocol translator daemon.
It reads raw mouse bytes from drv-i8042, decodes standard 3-byte PS/2 packets
into normalized relative pointer events, and forwards them to inputd.
What it does
- Validates startup envelope and role (
SERVICE_ROLE_DRV_PS2_MOUSE). - Registers with
named. - Resolves
drv-i8042andinputdthrough service discovery. - Polls mouse bytes via
drv-i8042 READ_MOUSE_BYTE. - Decodes packet bytes into:
- button mask
delta_xdelta_y
- Forwards pointer events to
inputd APPEND_EVENTusinglib-input.
Runtime model
- Single-threaded event loop.
- Fixed message buffer (
1024bytes). - Fixed packet assembly buffer (
3bytes). - Monotonic request IDs for read/append calls.
Feature flags
drv-ps2-mouse-runtimedrv-ps2-mouse-runtime-phase3-input- compatibility aliases:
drv-ps2-mouse-integration-smokedrv-ps2-mouse-integration-phase3-inputdrv-ps2-mouse-integration-force-fail
Build and test
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets --all-features
Dependencies
lib-bootstraplib-capabilib-ipclib-servicelib-inputipc-syscall-x86_64
No third-party crates are used.