diff --git a/README.md b/README.md index d6ed09f..7687f49 100644 --- a/README.md +++ b/README.md @@ -66,8 +66,10 @@ sinowealth-kb-tool write \ ## Supported Hardware -| Keyboard | ISP MD5 | MCU | MCU Label | Tested Read | Tested Write | -| -------- | ------- | --- | --------- | ----------- | ------------ | +### Keyboards + +| Model | ISP MD5 | MCU | MCU Label | Tested Read | Tested Write | +| ----- | ------- | --- | --------- | ----------- | ------------ | | Digital Alliance Meca Warrior X | 2d169670eae0d36eae8188562c1f66e8 | SH68F90 | SH68F90S | ✅ | ❓ | | [Genesis Thor 300 RGB](https://genesis-zone.com/product/thor-300-rgb-brown) | 2d169670eae0d36eae8188562c1f66e8 | SH68F90 | SH68F90S | ✅ | ✅ | | [Genesis Thor 300](https://genesis-zone.com/product/thor-300-outemu-blue) | e57490acebcaabfcff84a0ff013955d9 | SH68F881 | SH68F881W | ✅ | ✅ | @@ -90,6 +92,12 @@ sinowealth-kb-tool write \ | Xinmeng K916 | cfc8661da8c9d7e351b36c0a763426aa | SH68F90 | ❓ | ✅ | ✅ | | Xinmeng XM-RF68 | 2d169670eae0d36eae8188562c1f66e8 | SH68F90 | SH68F90U | ✅ | ✅ | +### Mice + +| Model | ISP MD5 | MCU | MCU Label | Tested Read | Tested Write | +| ----- | ------- | --- | --------- | ----------- | ------------ | +| [Trust GXT 960](https://www.trust.com/en/product/23758-gxt-960-graphin-ultra-lightweight-gaming-mouse) | 620f0b67a91f7f74151bc5be745b7110 | ❓ | BY8801 | ✅ | ❓ | + ## Bootloader Support ### Platforms @@ -99,6 +107,7 @@ sinowealth-kb-tool write \ | 13df4ce2933f9654ffef80d6a3c27199 | ? | ? | ok | | 2d169670eae0d36eae8188562c1f66e8 | ok | ? | ok | | 3e0ebd0c440af5236d7ff8872343f85d | ok | ok | ok | +| 620f0b67a91f7f74151bc5be745b7110 | ? | ? | ok | | cfc8661da8c9d7e351b36c0a763426aa | ok | fail[^1] | ok | | e57490acebcaabfcff84a0ff013955d9 | ok | ? | ? | diff --git a/src/main.rs b/src/main.rs index a9c4475..eed7cf1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -48,7 +48,7 @@ fn cli() -> Command { .subcommand( Command::new("list") .short_flag('l') - .about("List all connected devices and their identifiers. This is useful to find the manufacturer and product id for your keyboard.") + .about("List all connected devices and their identifiers. This is useful to find the manufacturer and product id for your device.") ) .subcommand( Command::new("read") diff --git a/src/part.rs b/src/part.rs index f1c8e92..424fd9a 100644 --- a/src/part.rs +++ b/src/part.rs @@ -163,6 +163,12 @@ pub const PART_WEIKAV_SUGAR65: Part = Part { ..PART_BASE_SH68F90 }; +pub const PART_TRUST_GXT_960: Part = Part { + vendor_id: 0x145f, + product_id: 0x02b6, + ..PART_BASE_SH68F90 +}; + pub static PARTS: Map<&'static str, Part> = phf_map! { "digitalalliance-meca-warrior-x" => PART_DIGITALALLIANCE_MECA_WARRIOR_X, "genesis-thor-300-rgb" => PART_GENESIS_THOR_300_RGB, @@ -182,6 +188,7 @@ pub static PARTS: Map<&'static str, Part> = phf_map! { "royalkludge-rk68-iso-return" => PART_ROYALKLUDGE_RK68_ISO_RETURN, "royalkludge-rk71" => PART_ROYALKLUDGE_RK71, "terport-tr95" => PART_TERPORT_TR95, + "trust-gxt-960" => PART_TRUST_GXT_960, "weikav-sugar65" => PART_WEIKAV_SUGAR65, "xinmeng-k916" => PART_XINMENG_K916, "xinmeng-xm-rf68" => PART_XINMENG_XM_RF68,