Merge branch 'main' into cloud-iii-s-support

This commit is contained in:
Mark Cockram
2026-01-20 23:05:27 +01:00
committed by GitHub
7 changed files with 44 additions and 12 deletions

View File

@@ -6,8 +6,8 @@ use std::time::Duration;
const HYPERX: u16 = 0x0951;
pub const VENDOR_IDS: [u16; 1] = [HYPERX];
// Possible Cloud II Wireless product IDs
pub const PRODUCT_IDS: [u16; 3] = [0x1718, 0x018B, 0x0b92];
// Possible Cloud II Wireless product IDs (and Cloud Flight S)
pub const PRODUCT_IDS: [u16; 4] = [0x1718, 0x018B, 0x0b92, 0x16EA];
const BASE_PACKET: [u8; 62] = {
let mut tmp = [0u8; 62];
@@ -266,12 +266,15 @@ impl Device for CloudIIWireless {
}
fn prepare_write(&mut self) {
// Attempt to read input report before writing
// This may not work for all devices (e.g., Cloud Flight S),
// so we ignore the error
let mut input_report_buffer = [0u8; 64];
input_report_buffer[0] = 6;
self.state
let _ = self
.state
.hid_device
.get_input_report(&mut input_report_buffer)
.unwrap();
.get_input_report(&mut input_report_buffer);
}
fn allow_passive_refresh(&mut self) -> bool {

View File

@@ -6,7 +6,7 @@ use std::{time::Duration, vec};
const HP: u16 = 0x03F0;
pub const VENDOR_IDS: [u16; 1] = [HP];
pub const PRODUCT_IDS: [u16; 1] = [0x05B7];
pub const PRODUCT_IDS: [u16; 2] = [0x05B7, 0x0c9d]; // Possible Cloud III Wireless product IDs
const BASE_PACKET: [u8; 62] = {
let mut packet = [0; 62];

View File

@@ -17,7 +17,7 @@ use thistermination::TerminationFull;
// Possible vendor IDs [HyperX, HP]
const VENDOR_IDS: [u16; 2] = [0x0951, 0x03F0];
// All supported product IDs
const PRODUCT_IDS: [u16; 7] = [0x1718, 0x018B, 0x0D93, 0x0696, 0x0b92, 0x05B7, 0x06BE];
const PRODUCT_IDS: [u16; 9] = [0x1718, 0x018B, 0x0D93, 0x0696, 0x0b92, 0x05B7, 0x16EA, 0x0c9d, 0x06BE];
const RESPONSE_BUFFER_SIZE: usize = 256;
const RESPONSE_DELAY: Duration = Duration::from_millis(50);
@@ -537,7 +537,7 @@ pub trait Device {
}
responded = true;
}
if !self.get_device_state().connected.is_none_or(|c| c) {
if !matches!(self.get_device_state().connected, Some(true)) {
break;
}
}

View File

@@ -58,7 +58,6 @@ impl Tray for StatusTray {
fn tool_tip(&self) -> ToolTip {
let description = self
.message
.clone()
.lines()
.filter(|l| !l.contains("Unknown"))
.collect::<Vec<&str>>()