Skip to content

Commit cd461ec

Browse files
committed
Rename product from IPI FLY PRO to IPI STAY FLY and bump to 1.3.4
Correct the mouse name across UI, locales, README, window/product titles and release assets. The device is IPI STAY FLY, not IPI FLY PRO.
1 parent 591b6f4 commit cd461ec

25 files changed

Lines changed: 57 additions & 57 deletions

.github/workflows/release.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,17 +44,17 @@ jobs:
4444
body: |
4545
## IPI Stay Fly Driver ${{ github.ref_name }}
4646
47-
Open-source replacement driver for the **IPI FLY PRO** wireless gaming mouse.
47+
Open-source replacement driver for the **IPI STAY FLY** wireless gaming mouse.
4848
4949
### Requirements
5050
- Windows 10/11 (64-bit)
5151
- WebView2 runtime (pre-installed on Windows 11; [download for Windows 10](https://developer.microsoft.com/en-us/microsoft-edge/webview2/))
5252
5353
### Installation
54-
Download the portable **IPI FLY PRO Driver.exe** or use the Windows installer from the release assets.
54+
Download the portable **IPI STAY FLY Driver.exe** or use the Windows installer from the release assets.
5555
files: |
56-
src-tauri/target/release/IPI FLY PRO Driver.exe
57-
src-tauri/target/release/bundle/nsis/IPI FLY PRO Driver_*.exe
58-
src-tauri/target/release/bundle/msi/IPI FLY PRO Driver_*.msi
56+
src-tauri/target/release/IPI STAY FLY Driver.exe
57+
src-tauri/target/release/bundle/nsis/IPI STAY FLY Driver_*.exe
58+
src-tauri/target/release/bundle/msi/IPI STAY FLY Driver_*.msi
5959
env:
6060
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
![IPI STAY FLY Driver home screen](Pics/home.png)
44

5-
Open-source desktop driver for the **IPI FLY PRO** wireless gaming mouse.
5+
Open-source desktop driver for the **IPI STAY FLY** wireless gaming mouse.
66
Built as a fast native Windows app with Tauri, React and Rust, it replaces the closed web driver with a local configuration tool for DPI, latency, wireless behavior and advanced sensor options.
77

88
## Why This Exists
@@ -18,7 +18,7 @@ Support for more devices depends on community help. If you own a related mouse s
1818

1919
## Highlights
2020

21-
- Native Windows app for the IPI FLY PRO
21+
- Native Windows app for the IPI STAY FLY
2222
- Device detection with connected-state overview
2323
- Four DPI stages from 50 to 42,000 DPI
2424
- Polling rates from 125 Hz up to 8,000 Hz
@@ -33,7 +33,7 @@ Support for more devices depends on community help. If you own a related mouse s
3333

3434
### Demo Mode
3535

36-
The top bar includes a **Demo** button. When enabled, the app spawns a virtual IPI FLY PRO so users can open the device card, navigate through every configuration tab and try the interface without owning or connecting the mouse.
36+
The top bar includes a **Demo** button. When enabled, the app spawns a virtual IPI STAY FLY so users can open the device card, navigate through every configuration tab and try the interface without owning or connecting the mouse.
3737

3838
Demo mode is clearly marked with a banner and badge inside the app. While it is active, hardware polling and all HID write/read calls are disabled, so changing settings only affects the local demo state and never sends commands to a real device.
3939

@@ -91,7 +91,7 @@ Control receiver LED behavior, high-power modes, long-distance mode, angle snapp
9191

9292
| Field | Value |
9393
| --- | --- |
94-
| Mouse | IPI FLY PRO |
94+
| Mouse | IPI STAY FLY |
9595
| Vendor ID | `0x3554` |
9696
| Product ID | `0xF517` |
9797
| Sensor | PixArt PAW3950 |
@@ -179,7 +179,7 @@ Press **Ctrl+Shift+D** while the app is running to open the raw HID frame panel.
179179

180180
## Contributing
181181

182-
Pull requests and protocol captures are welcome. If you own an IPI FLY PRO and can verify unimplemented settings, open an issue with device details, app version and captured USB/HID behavior where possible.
182+
Pull requests and protocol captures are welcome. If you own an IPI STAY FLY and can verify unimplemented settings, open an issue with device details, app version and captured USB/HID behavior where possible.
183183

184184
## License
185185

docs/atk-fierce-x-protocol-notes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Capture source: `https://hub.atk.pro/` with `tools/webhid-sniffer-extension`.
1414

1515
## Confirmed Frame Shape
1616

17-
The ATK FIERCE X uses the same 16-byte report style as the IPI FLY PRO.
17+
The ATK FIERCE X uses the same 16-byte report style as the IPI STAY FLY.
1818

1919
The global checksum appears to match the existing rule:
2020

index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="UTF-8" />
55
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
66
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
7-
<title>IPI FLY PRO Driver</title>
7+
<title>IPI STAY FLY Driver</title>
88
</head>
99
<body>
1010
<div id="root"></div>

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "ipi-fly-driver",
33
"private": true,
4-
"version": "1.3.3",
4+
"version": "1.3.4",
55
"type": "module",
66
"scripts": {
77
"dev": "vite",

src-tauri/Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src-tauri/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "ipi-fly-driver"
3-
version = "1.3.3"
3+
version = "1.3.4"
44
edition = "2021"
55

66
[build-dependencies]

src-tauri/examples/recover_polling.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ fn open_device() -> Result<HidDevice, String> {
6565
.collect::<Vec<_>>();
6666

6767
if candidates.is_empty() {
68-
return Err("FLY PRO HID device not found".to_string());
68+
return Err("STAY FLY HID device not found".to_string());
6969
}
7070

7171
candidates.sort_by_key(|candidate| (!candidate.exact_match, candidate.interface_number));
@@ -85,7 +85,7 @@ fn open_device() -> Result<HidDevice, String> {
8585
}
8686
}
8787

88-
Err("unable to open matching FLY PRO HID interface".to_string())
88+
Err("unable to open matching STAY FLY HID interface".to_string())
8989
}
9090

9191
fn write_frame(dev: &HidDevice, frame: &[u8; 16]) -> Result<(), String> {

src-tauri/src/device.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,14 +46,14 @@ impl Device {
4646

4747
if candidates.is_empty() {
4848
return Err(format!(
49-
"FLY PRO not found for VID=0x{VID:04x} PID=0x{PID:04x}. Is the mouse/receiver connected and powered on?"
49+
"STAY FLY not found for VID=0x{VID:04x} PID=0x{PID:04x}. Is the mouse/receiver connected and powered on?"
5050
));
5151
}
5252

5353
candidates.sort_by_key(|candidate| (!candidate.exact_match, candidate.interface_number));
5454

5555
eprintln!(
56-
"FLY PRO HID candidates for VID=0x{VID:04x} PID=0x{PID:04x}:"
56+
"STAY FLY HID candidates for VID=0x{VID:04x} PID=0x{PID:04x}:"
5757
);
5858
for candidate in &candidates {
5959
eprintln!(" - {}", describe_candidate(candidate));
@@ -78,7 +78,7 @@ impl Device {
7878
}
7979

8080
Err(format!(
81-
"Unable to open any matching FLY PRO HID interface.\n{}",
81+
"Unable to open any matching STAY FLY HID interface.\n{}",
8282
open_errors.join("\n")
8383
))
8484
}

src-tauri/src/protocol.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/// IPI FLY PRO – HID frame builder and checksum helpers.
1+
/// IPI STAY FLY – HID frame builder and checksum helpers.
22
///
33
/// All frames are 16 bytes. Byte 0 is the global checksum:
44
/// byte[0] = (0x4D - sum(byte[2..=15])) & 0xFF

0 commit comments

Comments
 (0)