7b8a1b2838
New release branch per the release-branch model (operator decision; local/AGENTS.md reserves branch creation to the operator). sync-versions.sh, driven by bump-release.sh, rewrites: - Cat 1 in-house crates -> version = 0.3.2 - Cat 2 upstream forks -> <upstream-tag>+rb0.3.2 Labels only; no fork source was rebased in this commit. bump-release.sh reports these forks as having newer upstream tags, to be taken next: relibc 0.2.5 -> 0.6.0 syscall 0.9.0 -> 0.9.1 libredox 0.1.18 -> 0.1.19 redoxfs and redox-scheme are already current. kernel, bootloader and installer are 'diverged' in the fork map and stay report-only (manual rebase); bootloader additionally has no merge-base with upstream.
redbear-accessibility
Accessibility scheme daemon — sticky keys, slow keys, bounce keys, and keyboard repeat control.
Status: FEATURE-INCOMPLETE
Category: system
Build: ./local/scripts/build-redbear.sh redbear-full (via redbear-full.toml)
Purpose
Provides accessibility features traditionally found in desktop environments (XKB AccessX / GNOME a11y settings), implemented as a Redox userspace scheme daemon. It filters keyboard input events through configurable rules — sticky modifier keys, key debouncing, slow-key acceptance windows, and repeat-rate controls — before the filtered events reach the application.
Interface
- Scheme:
accessibility— path convention:accessibility:/config,accessibility:/status,accessibility:/sticky-keys - Init service:
/usr/lib/init.d/13_redbear-accessibility.service - Configuration: Read/write via the scheme file
accessibility:/config(key=value lines:sticky_keys=true,slow_key_delay_ms=300, etc.)
Architecture
| File | Purpose |
|---|---|
src/main.rs |
Daemon entry point — creates Socket, registers scheme:accessibility, runs event loop |
src/scheme.rs |
AccessibilityScheme — implements SchemeSync with openat/read/write/fstat; owns filter_key() logic + sticky modifier state machine |
Dependencies: redox-scheme, redox_syscall (path deps to local forks).
Consumers
evdevd(potential integration point for real-time key filtering)- Desktop compositors that read accessibility state for on-screen indicators
- The init service
10_evdevd.serviceis listed asrequires_weak, making this daemon available after the input event layer is up
Status Notes
- Compiles against the current relibc/kernel forks.
- Scheme interface is implemented —
open,read,write,fstatall wired. - Filtering state machine (sticky keys latch/lock cycle, bounce key rejection, slow key timing) is present but not yet integrated into the input pipeline — the scheme currently serves its config/status as a filesystem-like view without actively intercepting evdev events.
- No runtime validation on bare metal or QEMU. The
filter_key()method exists but has no upstream caller in the input path. - No compositor/indicator integration — sticky modifier states are queryable via the scheme but no UI feedback loop exists yet.