An implementation-ready specification and decision record for VoidKontrol v1: a native Void Linux keyboard manager for the Kreo Swarm 75, using IBM Carbon and first-class niri and Noctalia integration, with complete control of the device capabilities that can be verified safely.
Notes
This is a planning map under the user-invoked wayfinder skill. Charting resolves research tickets only; application implementation starts after the decisions and hardware evidence are ready.
User-confirmed v1: verified USB presentation first; other connection modes require separate validation and are deferred. Firmware flashing and the factory-reset UI are excluded.
Cover device information, global and per-key lighting, Base/Fn/Fn1/Fn2 mappings, macros, supported debounce/tap delay, battery/idle sleep, backup/export/import/restore, and explicit recovery.
Follow the supplied KREO-SWARM75-LINUX-CONTROL-SPEC.md. Treat its vendor-derived capabilities as a target, never proof of safe device writes.
Preserve kernel ownership of normal input; no grabbing input devices, driver unbinding, random report probes, or automatic setting writes at discovery/start/reconnect/resume.
Consult wayfinder, grilling, and domain-modeling each decision session; use research/find-docs for current primary-source facts and prototype for user-reviewed interaction decisions.
Gitea has native issue dependencies but this server's API has no parent/subissue operation. Children have a dedicated map-membership label and a named Parent map link. Use native dependencies for all blocking.
Claim an open ticket by assigning xavierk before working it. Decisions belong in resolution comments on their tickets; this map only indexes them.
Starting repository had the supplied spec and agent guidance, with no application code. Current host is Void Linux x86_64/glibc; support beyond the tested host is a release decision.
A dated read-only recheck corrected the supplied spec: hidraw is enabled and the control node exists, but its current permissions exclude the desktop user. This does not authenticate the device or validate commands.
Firmware-specific behavior and recovery refinements that emerge from authenticated captures.
Further interaction refinements exposed by the user-reviewed Carbon prototype.
Out of scope
Application implementation during this charting session; this map clears decisions for the build.
Firmware flashing and factory-reset UI in v1, per the user.
Promising Bluetooth or alternative USB/receiver presentations before independent validation.
Features absent from the model profile, including Hall-effect controls, selectable NKRO/report rate, and hardware-resident static profiles.
## Destination
An implementation-ready specification and decision record for VoidKontrol v1: a native Void Linux keyboard manager for the Kreo Swarm 75, using IBM Carbon and first-class niri and Noctalia integration, with complete control of the device capabilities that can be verified safely.
## Notes
- This is a planning map under the user-invoked wayfinder skill. Charting resolves research tickets only; application implementation starts after the decisions and hardware evidence are ready.
- User-confirmed v1: verified USB presentation first; other connection modes require separate validation and are deferred. Firmware flashing and the factory-reset UI are excluded.
- Cover device information, global and per-key lighting, Base/Fn/Fn1/Fn2 mappings, macros, supported debounce/tap delay, battery/idle sleep, backup/export/import/restore, and explicit recovery.
- Follow the supplied KREO-SWARM75-LINUX-CONTROL-SPEC.md. Treat its vendor-derived capabilities as a target, never proof of safe device writes.
- Preserve kernel ownership of normal input; no grabbing input devices, driver unbinding, random report probes, or automatic setting writes at discovery/start/reconnect/resume.
- Consult wayfinder, grilling, and domain-modeling each decision session; use research/find-docs for current primary-source facts and prototype for user-reviewed interaction decisions.
- Gitea has native issue dependencies but this server's API has no parent/subissue operation. Children have a dedicated map-membership label and a named Parent map link. Use native dependencies for all blocking.
- Claim an open ticket by assigning xavierk before working it. Decisions belong in resolution comments on their tickets; this map only indexes them.
- Starting repository had the supplied spec and agent guidance, with no application code. Current host is Void Linux x86_64/glibc; support beyond the tested host is a release decision.
- A dated read-only recheck corrected the supplied spec: hidraw is enabled and the control node exists, but its current permissions exclude the desktop user. This does not authenticate the device or validate commands.
## Decisions so far
- [Establish a faithful IBM Carbon desktop UI strategy for Void Linux](https://git.bongbetic.com/xavierk/voidkontrol/issues/4): Official Carbon components can be reused; Tauri is a candidate subject to Void/Wayland/accessibility proof, with alternatives and costs documented.
- [Establish the Void Linux runtime, permissions, and packaging requirements](https://git.bongbetic.com/xavierk/voidkontrol/issues/2): Runit/eudev/XBPS and session-authorization requirements are documented; hidraw is present, and package/ABI support gates are explicit.
- [Establish the native niri and Noctalia integration contracts](https://git.bongbetic.com/xavierk/voidkontrol/issues/3): niri 26.04 and native Noctalia 5.1.0 provide Wayland and Luau plugin integration without systemd; lifecycle and version gates are documented.
## Not yet specified
- Firmware-specific behavior and recovery refinements that emerge from authenticated captures.
- Further interaction refinements exposed by the user-reviewed Carbon prototype.
## Out of scope
- Application implementation during this charting session; this map clears decisions for the build.
- Firmware flashing and factory-reset UI in v1, per the user.
- Promising Bluetooth or alternative USB/receiver presentations before independent validation.
- Features absent from the model profile, including Hall-effect controls, selectable NKRO/report rate, and hardware-resident static profiles.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Destination
An implementation-ready specification and decision record for VoidKontrol v1: a native Void Linux keyboard manager for the Kreo Swarm 75, using IBM Carbon and first-class niri and Noctalia integration, with complete control of the device capabilities that can be verified safely.
Notes
Decisions so far
Establish a faithful IBM Carbon desktop UI strategy for Void Linux: Official Carbon components can be reused; Tauri is a candidate subject to Void/Wayland/accessibility proof, with alternatives and costs documented.
Establish the Void Linux runtime, permissions, and packaging requirements: Runit/eudev/XBPS and session-authorization requirements are documented; hidraw is present, and package/ABI support gates are explicit.
Establish the native niri and Noctalia integration contracts: niri 26.04 and native Noctalia 5.1.0 provide Wayland and Luau plugin integration without systemd; lifecycle and version gates are documented.
Not yet specified
Out of scope