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