Skip to main content

openlogi_core/
lib.rs

1//! Shared types and configuration for OpenLogi.
2//!
3//! Everything here is data — the device model, the action catalogue, the
4//! binding types, the shape of the config file. It must never depend on
5//! `hidpp`, `async-hid`, or any platform-specific event/window API; those live
6//! in sibling crates.
7//!
8//! The exceptions are feature-gated: reading and writing that config file
9//! (`fs`) and locale negotiation (`locale`), which reads the host's language
10//! preference, both on by default; and, off by default, the dedicated tokio
11//! worker thread the host crates run async work on (`worker`) and the `tracing`
12//! filter every process installs (`logging`). Without them this crate touches
13//! no host at all, which is what the `wasm (portable crates)` CI job checks.
14
15#![deny(missing_docs)]
16
17pub mod action_ring;
18pub mod app;
19pub mod binding;
20pub mod bindings;
21pub mod brand;
22pub mod color;
23pub mod config;
24pub mod device;
25pub mod device_order;
26pub mod diagnostics;
27pub mod env;
28pub mod hid;
29#[cfg(feature = "locale")]
30pub mod locale;
31#[cfg(feature = "logging")]
32pub mod logging;
33#[cfg(feature = "fs")]
34pub mod paths;
35pub mod scroll;
36#[cfg(feature = "fs")]
37pub mod single_instance;
38#[cfg(feature = "worker")]
39pub mod worker;