Open-source desktop driver for the IPI STAY FLY wireless gaming mouse.
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.
This project was started because the official web driver is hard to find, only available in Chinese, and clearly not designed with users outside China in mind. The goal is to make IPI mouse configuration more accessible for the western market through an open, local and understandable desktop app.
Support for more devices depends on community help. If you own a related mouse such as the IPI FLOAT 88, QI Pro or another IPI-compatible model, protocol captures, USB/HID identifiers and testing feedback are very welcome.
- Native Windows app for the IPI STAY FLY
- Device detection with connected-state overview
- Four DPI stages from 50 to 42,000 DPI
- Polling rates from 125 Hz up to 8,000 Hz
- Sleep timer, debounce, lift-off distance and work mode controls
- Advanced wireless and sensor behavior, including receiver LED, full power mode, long-distance mode and 20K FPS scan rate
- Hardware-free demo mode with a virtual mouse for exploring the UI
- Simple selectable color themes
- Multi-language interface with German, English, Spanish, Mexican Spanish, French, Italian, Polish, Portuguese and Simplified Chinese
- No account, no cloud dependency, no telemetry
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.
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.
The app includes a small theme picker in the top bar. Themes currently change the accent color, selected navigation state, headings, control highlights and other UI accents. Available themes are Stay Fly Gold, Cyber Mint, Ice Blue, Crimson Pro, Violet Pulse and Monochrome.
The language selector is available in the sidebar and uses a dropdown so more translations can be added later. Current languages are:
| Language | Locale |
|---|---|
| German | de |
| English | en |
| Spanish | es |
| Mexican Spanish | es-MX |
| French | fr |
| Italian | it |
| Polish | pl |
| Portuguese | pt |
| Simplified Chinese | zh |
Configure four DPI stages and tune every stage in precise 50 DPI steps.
Adjust the performance profile, polling rate, debounce time, lift-off distance and motion options from one focused screen.
Control receiver LED behavior, high-power modes, long-distance mode, angle snapping and the 20K FPS sensor scan mode.
Note
Recently implemented
- Battery level: the battery percentage is now read from the device. The mouse reports its cell voltage, which is mapped to a charge percentage through a Li-Ion discharge curve.
- Button remapping: the buttons tab now applies real changes to the mouse. Each physical button (left, right, middle, and both side buttons) can be reassigned to any standard mouse action, and Restore Default puts every button back to its factory mapping.
Still in progress: non-mouse button actions (DPI shortcuts, keyboard keys and macros) are not exposed yet.
| Field | Value |
|---|---|
| Mouse | IPI STAY FLY |
| Vendor ID | 0x3554 |
| Product ID | 0xF517 |
| Sensor | PixArt PAW3950 |
| DPI range | 50 - 42,000 DPI |
| Polling rate | 125 / 250 / 500 / 1000 / 2000 / 4000 / 8000 Hz |
| Switches | Omron mechanical |
| Weight | 48 g +/- 2 g |
| Connectivity | 2.4 GHz wireless, Bluetooth, USB wired |
| Battery | 300 mAh |
| Chip | Nordic 54L15 |
| Layer | Technology |
|---|---|
| Desktop shell | Tauri 1.5 |
| Frontend | React 18, TypeScript, Vite |
| Styling | Tailwind CSS |
| Native backend | Rust |
| HID access | hidapi |
| Localization | i18next |
- Windows 10 or Windows 11
- WebView2 runtime
- Node.js 20+
- Rust
- Visual Studio Build Tools 2022 with the Desktop development with C++ workload
Windows 11 usually includes WebView2 already. On Windows 10, install it from Microsoft if the app cannot start.
git clone https://github.com/SpookyyQ/IPI-Stay-Fly-Driver.git
cd IPI-Stay-Fly-Driver
npm install
npm run tauri devnpm run tauri buildThe generated installer and release files are written to:
src-tauri/target/release/bundle/The app communicates with the mouse through reverse-engineered HID frames.
- Frame size: 16 bytes
- Report ID:
8 - Global checksum:
byte[0] = (0x4D - sum(byte[2..=15])) & 0xFFImplemented commands and captured protocol tests live in src-tauri/src/protocol.rs.
cd src-tauri
cargo testPress Ctrl+Shift+D while the app is running to open the raw HID frame panel. This is useful for protocol exploration and debugging device communication.
- Button remapping
- Additional lighting options
- More captured protocol frames for unverified device features
- Packaged public releases
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.
This project is licensed under the MIT License.




