drv-ps2-mouse is the PS/2 pointer protocol translator daemon.
Find a file
2026-03-23 10:19:51 +02:00
.github phase3-input: add PS/2 mouse translator daemon 2026-03-11 12:18:33 +02:00
src drv-ps2-mouse: resolve i8042 through deviced 2026-03-21 03:31:24 +02:00
.editorconfig Initial commit 2026-03-11 10:16:01 +01:00
.gitignore Initial commit 2026-03-11 10:16:01 +01:00
ARCHITECTURE.md phase3-input: fix transport framing and document mouse translator 2026-03-11 14:14:36 +02:00
Cargo.toml drv-ps2-mouse: resolve i8042 through deviced 2026-03-21 03:31:24 +02:00
CODE_OF_CONDUCT.md Initial commit 2026-03-11 10:16:01 +01:00
CONTRIBUTING.md Initial commit 2026-03-11 10:16:01 +01:00
LICENSE Initial commit 2026-03-11 10:16:01 +01:00
linker.ld drv-ps2-mouse: resolve i8042 through deviced 2026-03-21 03:31:24 +02:00
README.md phase3-input: fix transport framing and document mouse translator 2026-03-11 14:14:36 +02:00
ROADMAP.md phase3-input: fix transport framing and document mouse translator 2026-03-11 14:14:36 +02:00
rustfmt.toml drv-ps2-mouse: drop unstable rustfmt options for stable toolchains 2026-03-23 10:19:51 +02:00
SECURITY.md Initial commit 2026-03-11 10:16:01 +01:00

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-i8042 and inputd through service discovery.
  • Polls mouse bytes via drv-i8042 READ_MOUSE_BYTE.
  • Decodes packet bytes into:
    • button mask
    • delta_x
    • delta_y
  • Forwards pointer events to inputd APPEND_EVENT using lib-input.

Runtime model

  • Single-threaded event loop.
  • Fixed message buffer (1024 bytes).
  • Fixed packet assembly buffer (3 bytes).
  • Monotonic request IDs for read/append calls.

Feature flags

  • drv-ps2-mouse-runtime
  • drv-ps2-mouse-runtime-phase3-input
  • compatibility aliases:
    • drv-ps2-mouse-integration-smoke
    • drv-ps2-mouse-integration-phase3-input
    • drv-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-bootstrap
  • lib-capabi
  • lib-ipc
  • lib-service
  • lib-input
  • ipc-syscall-x86_64

No third-party crates are used.