Documentation
Using the library
- Getting started: requirements, building and installing, the build options, the model the API follows, results, ids, defs and limits.
- Windows and monitors: creating and changing windows, owned windows and popups, custom chrome, monitors, handing a window to a GPU layer.
- Input: keys, text and input methods, the on-screen keyboard, the pointer, cursors, touch and pens.
- Gamepads: mapped and raw pads, rumble and motion.
- Clipboard and drag and drop.
- Services and system facts: file dialogs, addresses, files, keeping the display awake, message boxes, the user's preferences, accessibility hooks.
- Platforms: what each platform asks of a program.
- Testing a program on the headless test backend.
- API reference, generated from the headers.
How it works
- Overview: the library's profile, the core and the backends, and how a request travels.
- Glossary.
- The event stream: storage, merging, critical records and the limits' arithmetic.
- Text input, Gamepads, Clipboard and drops, Services.
- Backends: Linux, Wayland, X11, Win32, Apple, Android, Web.
- Maul conventions: the rules every Maul library follows.
Maintaining it
- Development: toolchain, building each platform, generated files, vendored data, fuzz findings.
- Checks: the local tiers, the test labels, the CI jobs and their budgets.
- Test environments: the display fixture, stand-ins, simulators, emulators and browsers.
- Release.