Skip to content

Tags: Sapd/HeadsetControl

Tags

4.0.0

Toggle 4.0.0's commit message

Verified

This tag was signed with the committer’s verified signature.
Sapd Denis Arnst
HeadsetControl 4.0.0

continuous

Toggle continuous's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
C++ Rewrite (#443)

* C++ Rewrite

Rewrite codebase from C to modern C++20

Complete modernization introducing type safety, better error handling, and a cleaner architecture.

- **Language**: C → C++20 (requires GCC 10+, Clang 10+, MSVC 2019+)
- **Structure**: Reorganized into lib/, cli/, tests/
- **Error handling**: Result<T> type with rich error information
- **Device code**: 50-70% reduction via protocol templates

- High-level C++ API (headsetcontrol.hpp)
- C API for FFI bindings (headsetcontrol_c.h)
- Shared library support (-DBUILD_SHARED_LIBRARY=ON)
- Protocol templates: HIDPPDevice, SteelSeriesNovaDevice
- Data-driven capability system
- Test suite

- HIDDevice base class with virtual methods per capability
- Device registry singleton for device lookup
- Capability descriptors as single source of truth
- Feature handler registry (replaces switch statements)

CLI interface unchanged - fully backwards compatible.

- See docs/ADDING_A_DEVICE.md for adding devices
- See docs/ADDING_A_CAPABILITY.md for adding features
- See docs/LIBRARY_USAGE.md for library integration

3.1.0

Toggle 3.1.0's commit message

3.0.0

Toggle 3.0.0's commit message

Verified

This tag was signed with the committer’s verified signature.
Sapd Denis Arnst
Ouput feature (JSON/YAML/ENV)

2.7.0

Toggle 2.7.0's commit message
Update repo-device-requested.yml

2.6.1

Toggle 2.6.1's commit message

2.6

Toggle 2.6's commit message
Change formatting option and fixed format

2.5

Toggle 2.5's commit message
Windows: Link statically

2.4

Toggle 2.4's commit message
Auto-generate udev-rules

Also fix cmake version warning

2.3

Toggle 2.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Update README.md with the Development section

Also added Windows and `-c` option