Full NGenuity replacement for the HyperX Pulsefire Dart wireless gaming mouse on Linux.
HyperX only provides NGenuity (Windows-only) for configuring their mice. This project provides a complete Linux alternative with both a native KDE Plasma 6 widget and a standalone Qt application.
A native system tray widget for KDE Plasma 6 that monitors your HyperX Pulsefire Dart battery.
git clone https://github.com/radoslavchobanov/plasmangenuity.git
cd plasmangenuity
./install-plasmoid.sh- Native Plasma 6 system tray integration
- Real-time battery percentage display
- Charging status indicator
- Connection mode display (wireless/wired)
- Color-coded battery level (green → yellow → orange → red)
- One-click access to configuration panel
- KDE Plasma 6
- Python 3.8+ with
hidapimodule - udev rules for non-root access
- Modern mouse icon with battery level fill bar
- Color-coded status: green (>50%) → yellow (25-50%) → orange (10-25%) → red (<10%)
- Charging animation: pulsing lightning bolt indicator
- Instant hotplug detection via udev monitoring
- Left-click opens the configuration panel
- Right-click context menu for quick actions
A Plasma-style popup panel with full mouse configuration:
| Tab | Features |
|---|---|
| Info | Firmware version, battery %, charging status, connection mode, voltage |
| DPI | 5 profiles with enable/disable, DPI values (50-16000), per-profile colors |
| LED | Logo/scroll wheel lighting, effects (static/breathing/spectrum/trigger), color picker, brightness, speed |
| Buttons | Remap 6 buttons to mouse/keyboard/media/DPI functions |
| Macros | Record and assign macro sequences with delays |
| Settings | Polling rate (125/250/500/1000 Hz), battery alert threshold |
- Quick battery check from terminal
- JSON output for scripting
- Continuous monitoring mode
- Device listing
| Device | USB ID | Mode |
|---|---|---|
| HyperX Pulsefire Dart (wireless dongle) | 0951:16E1 |
Wireless |
| HyperX Pulsefire Dart (USB cable) | 0951:16E2 |
Wired |
git clone https://github.com/radoslavchobanov/plasmangenuity.git
cd plasmangenuity
./install-plasmoid.shArch / Manjaro:
sudo pacman -S hidapi python-pyqt5 python-pyudev python-hidapiDebian / Ubuntu:
sudo apt install libhidapi-hidraw0 python3-pyqt5 python3-pyudev python3-hidFedora:
sudo dnf install hidapi python3-qt5 python3-pyudev python3-hidapi# Full installation with GUI
pip install "plasmangenuity[tray]"
# CLI only
pip install plasmangenuitysudo cp 99-plasmangenuity.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm triggerThen unplug and replug your wireless dongle.
git clone https://github.com/radoslavchobanov/plasmangenuity.git
cd plasmangenuity
makepkg -siAfter installation, the widget appears in your system tray. If not visible:
- Right-click on the system tray
- Select "Configure System Tray..."
- Go to "Entries" tab
- Find "PlasmaNGenuity" and set to "Always shown"
plasmangenuity-tray &# Show battery status
plasmangenuity
# JSON output (for scripts/waybar)
plasmangenuity --json
# Continuous monitoring
plasmangenuity --watch --interval 10
# List detected devices
plasmangenuity --list- Ensure the wireless dongle is plugged in
- Check udev rules:
ls /etc/udev/rules.d/99-plasmangenuity.rules - Run
plasmangenuity --listto see detected interfaces - Try running with
sudoto rule out permission issues
- udev rules not installed or not active
- Run:
sudo udevadm control --reload-rules && sudo udevadm trigger - Unplug and replug the dongle
- Mouse/dongle is not connected or not detected
- Check USB connection
- Wait a few seconds after plugging in
- Verify hidapi is installed:
python3 -c "import hid"
kpackagetool6 -t Plasma/Applet -r org.kde.plasma.plasmangenuitypip uninstall plasmangenuity- Protocol reverse engineering by santeri3700
- Inspired by the lack of Linux support from HyperX/HP
MIT License — see LICENSE for details.
Note: This is an unofficial project and is not affiliated with HyperX or HP Inc.