Commit Graph

157 Commits

Author SHA1 Message Date
Lennard Kittner
3065cfc198 Implement cloud alpha support 2026-02-18 12:57:44 +01:00
Lennard Kittner
2106484d38 Add cloud alpha product ID 2026-02-18 12:56:57 +01:00
Lennard Kittner
e7a1788fc9 Add missing udev rule 2026-02-14 20:57:09 +01:00
Lennard Kittner
867f031d73 Fix README CLI usage information 2026-02-14 15:38:49 +01:00
Lennard Kittner
7b3f1e9508 Add GitHub Sponsors 2026-02-14 15:21:48 +01:00
Lennard Kittner
0d8c16ee8b Update badge links in README.md 2026-02-14 15:14:28 +01:00
Lennard Kittner
9eb2923f63 Update README with installation section 2026-02-14 15:09:23 +01:00
Lennard Kittner
27c99764f9 Update Cargo.lock 2026-02-12 19:57:52 +01:00
Lennard Kittner
a470f635d4 Version bump to 1.3.0 2026-02-12 19:48:32 +01:00
Lennard Kittner
b62b474949 Add Cargo.lock for proper Rust release 2026-02-12 19:47:43 +01:00
Lennard Kittner
3a2b0d2301 Add product ID for Cloud Flight S 2026-02-03 11:51:09 +01:00
Lennard Kittner
649cfc86f5 Add some more cloud 3s packets 2026-01-22 13:15:56 +01:00
Lennard Kittner
e5e419b8ee Add some more debug prints 2026-01-21 20:14:49 +01:00
Lennard Kittner
889c1cc7dd Add battery packet cloud 3 s 2026-01-21 10:45:58 +01:00
Lennard Kittner
e872c83c6c Merge pull request #16 from Nubebuster/cloud-iii-s-support
Add Cloud III S Wireless support (partial)
2026-01-21 10:17:46 +01:00
Mark Cockram
569fc47dc9 Merge branch 'main' into cloud-iii-s-support 2026-01-20 23:05:27 +01:00
NubeBuster
66dae28cf0 Add equalizer band control for Cloud III S Wireless
- Add can_set_equalizer capability flag to DeviceState
- Add set_equalizer_band_packet trait method with default None implementation
- Add can_set_equalizer() helper method to Device trait
- Implement equalizer protocol: 10 bands (32Hz-16kHz), ±12dB range
- Encode values as dB*100 in 16-bit big-endian signed format
- Add Cloud III S Wireless implementation of set_equalizer_band_packet()
- Validate band index (0-9) and clamp dB values to valid range

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-17 04:26:11 +01:00
Lennard Kittner
1945295280 Add rule for new USB device 0c9d:03f0
Added new USB device rule for idProduct 0c9d and idVendor 03f0.
2026-01-16 17:26:53 +01:00
Lennard Kittner
a7494de9f3 Merge pull request #19 from SimyriK/main
Add support for HyperX Cloud Flight S
2026-01-16 17:25:32 +01:00
Lennard Kittner
7da9675e3c Merge branch 'main' into main 2026-01-16 17:21:02 +01:00
Lennard Kittner
fafc7b043f Merge pull request #21 from RiskRunner0/main
Remove unnecessary clone
2026-01-14 17:15:07 +01:00
Matt Smith
a62929ce98 Remove unnecessary clone 2026-01-13 22:22:38 -05:00
NubeBuster
0e46295ffd Add auto-shutdown support for Cloud III S Wireless
Implement auto-shutdown timer functionality for the Cloud III S Wireless headset
based on pcap analysis. The feature uses SET_REPORT (report ID 0x0c) with timeout
values encoded as 16-bit big-endian seconds. Supports disabling (0 minutes) and
various preset durations via the existing automatic_shutdown CLI option.
2026-01-12 23:04:31 +01:00
Lennard Kittner
ab9442251d Merge pull request #17 from MGehrmann/feature/add_cloud_iii_wireless_prod_id
Add additional product ID (0x0c9d) for Cloud III Wireless
2026-01-03 11:25:14 +01:00
Marius Gehrmann
04d92ec44e Add additional product ID for Cloud III Wireless 2026-01-03 09:49:09 +01:00
NubeBuster
a3f0fa63dd Add Cloud III S Wireless support (partial)
Add initial support for HyperX Cloud III S Wireless (PID 0x06BE).

Working features:
- Mic mute control via --mute true/false
- Button event detection (volume up/down, play/pause)

Not yet implemented (protocol not discovered):
- Battery level query
- Sidetone control
- Auto-shutdown timer

Cloud III S uses a different protocol than Cloud III:
- Header 0x05 for mic control (20-byte packets)
- Header 0x0f for button events (2-byte incoming)
- Does not respond to Cloud III protocol (0x66 header)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-30 02:59:10 +01:00
simyrik
ea0ced003b Add support for HyperX Cloud Flight S
- Add PRODUCT_ID 0x16EA to Cloud II Wireless device support
- Cloud Flight S uses the same protocol as Cloud II Wireless
- Update README.md with Cloud Flight S in supported devices list
- Add udev rules for Cloud Flight S (idProduct=16ea)
- Fix prepare_write() to handle devices that don't support get_input_report
- Fix is_none_or compatibility issue for older Rust versions
2025-12-12 12:02:52 +07:00
Lennard Kittner
1eb46435ff Remove experimental from Cloud III 2025-11-18 10:24:22 +01:00
Lennard Kittner
87b9f9adff Fix capitalization in get_display_data 2025-11-17 11:49:43 +01:00
Lennard Kittner
61ef91f17a Use https in modules 2025-11-16 13:16:32 +01:00
Lennard Kittner
ac8014f7e1 Clarify udev rules file creation instructions 2025-11-15 17:13:01 +01:00
Lennard Kittner
fa9fb1148d Enable recursive submodule checkout in CI workflows 2025-11-15 17:11:45 +01:00
Lennard Kittner
39ddba7fdb Add conditional debug printing 2025-11-15 17:02:42 +01:00
Lennard Kittner
529a76560d Version bump 2025-11-08 13:49:44 +01:00
Lennard Kittner
ea79493b70 Update README 2025-11-08 13:49:12 +01:00
Lennard Kittner
b6265e6f24 Conditionally enable passive Refresh 2025-11-08 13:46:33 +01:00
Lennard Kittner
6b0e2fe9f9 Fix README 2025-11-08 13:33:52 +01:00
Lennard Kittner
37f7be587f Update README 2025-11-08 13:32:32 +01:00
Lennard Kittner
eb304eda01 Use can set functions in cli app 2025-11-08 13:26:43 +01:00
Lennard Kittner
fc01eee908 Clippy fixes 2025-11-08 13:19:30 +01:00
Lennard Kittner
2f18725c11 Remove debugging code 2025-11-08 13:13:19 +01:00
Lennard Kittner
ebfa58d21d Merge pull request #14 from fsvm88/old_cloud2
Implement Old Cloud 2 completely
2025-11-08 13:01:34 +01:00
Fabio Scaccabarozzi
f7c230a8ef Show read-only markers in CLI output (Option A)
Changed DeviceState Display trait to use to_string_with_readonly_info()
instead of to_string_with_padding().

This allows CLI users to see which features are hardware-limited before
attempting to use them, providing helpful context and reducing confusion
about why certain commands might not work.

The tray application continues to use to_string_with_padding() since
it's display-only and doesn't allow user interaction.

Implements Option A as discussed in PR #14
2025-10-27 23:10:20 +00:00
Fabio Scaccabarozzi
7a937efd91 Remove read-only markers from tray application
The tray application is display-only and doesn't allow users to change
any settings. Therefore, showing (read-only) markers doesn't provide
value since all fields are implicitly read-only in this context.

Changed to_string_with_readonly_info() back to to_string_with_padding()
for the tray display.

Addresses PR #14 review comment from @LennardKittner
2025-10-27 23:09:21 +00:00
Fabio Scaccabarozzi
84bbc4a122 Refactor: eliminate code duplication in DeviceState display methods
Create helper function get_display_data() that returns the device data
array with 4-tuple format (prefix, value, suffix, readonly_flag).

Both to_string_with_padding() and to_string_with_readonly_info() now
call this helper function:
- to_string_with_padding() ignores the readonly flag
- to_string_with_readonly_info() uses it to add (read-only) markers

This eliminates ~100 lines of duplicated code and makes the codebase
easier to maintain.

Addresses PR #14 review comment from @LennardKittner
2025-10-27 23:08:44 +00:00
Fabio Scaccabarozzi
51eb341985 PR comment: move docs from root folder 2025-10-25 11:54:00 +01:00
Fabio Scaccabarozzi
5ba124b086 Add documentation about unknown command 4 2025-10-19 18:32:35 +01:00
Fabio Scaccabarozzi
80976df212 Some features are read-only: either they require Windows APO, or they really don't have a software command available. Add the plumbing to detect and report this. Also, add documentation for the featureset. 2025-10-19 18:21:31 +01:00
Fabio Scaccabarozzi
f447baa244 Improve documentation: some features are not available via HID for HyperX Cloud 2 Wireless, only via Windows APO 2025-10-19 18:12:36 +01:00
Fabio Scaccabarozzi
8c3d954e0e Align everything to Headset_protocol.md (Copilot) 2025-10-19 18:08:46 +01:00