Skip to main content

xa11y_linux/
lib.rs

1//! Linux accessibility backend.
2//!
3//! - AT-SPI2 introspection over D-Bus (`atspi`) with native EWMH/ICCCM and
4//!   Sway window management — implements the core `Provider` trait.
5//! - Input simulation (`input`, `wayland_input`) — XTest on X11 sessions,
6//!   libei via `org.freedesktop.portal.RemoteDesktop` on Wayland sessions.
7//!   Routing is per capability at runtime, with explicit environment
8//!   overrides and correct mixed Wayland/XWayland detection.
9//! - Screen capture (`screenshot`) — `GetImage` on X11, the Screenshot
10//!   portal on Wayland.
11
12#[cfg(target_os = "linux")]
13mod atspi;
14
15#[cfg(target_os = "linux")]
16mod events;
17
18#[cfg(target_os = "linux")]
19mod input;
20
21#[cfg(target_os = "linux")]
22mod wayland_input;
23
24#[cfg(target_os = "linux")]
25mod scale;
26
27#[cfg(target_os = "linux")]
28mod screenshot;
29
30#[cfg(target_os = "linux")]
31mod session;
32
33#[cfg(target_os = "linux")]
34mod window;
35
36#[cfg(target_os = "linux")]
37pub use atspi::LinuxProvider;
38
39#[cfg(target_os = "linux")]
40pub use input::LinuxInputProvider;
41
42#[cfg(target_os = "linux")]
43pub use screenshot::LinuxScreenshot;
44
45#[cfg(not(target_os = "linux"))]
46mod stub;
47
48#[cfg(not(target_os = "linux"))]
49pub use stub::{LinuxInputProvider, LinuxProvider, LinuxScreenshot};