Written in Python 3 with PySide6 and packaged with PyInstaller.
Download
Pre-built executables are available on the hidpytoy releases page for:
Python 3.9 or newer (3.11 or 3.12 recommended). Then:
git clone https://github.com/todbot/hidpytoy
cd hidpytoy
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txtOn Linux, HID device access typically requires either running as root or adding a udev rule:
# create /etc/udev/rules.d/99-hid.rules with:
SUBSYSTEM=="hidraw", MODE="0666"
# then reload:
sudo udevadm control --reload-rules && sudo udevadm triggersource venv/bin/activate # Windows: venv\Scripts\activate
make run
# or directly:
python src/main/python/main.pyInstall the dev dependencies (includes PyInstaller):
pip install -r requirements-dev.txtThen build for your current platform:
make build-mac # produces dist/HIDPyToy.app
make build-win # produces dist/HIDPyToy/HIDPyToy.exe
make build-linux # produces dist/HIDPyToy/HIDPyToyCross-compilation is not supported — build each platform on its native OS.
See codesigning.md for macOS notarization and Windows Azure Trusted Signing setup and instructions.
Edit src/main/python/HIDToyWindow.ui in Qt Designer, then regenerate the Python class:
make regen-ui
# or directly:
pyside6-uic src/main/python/HIDToyWindow.ui -o src/main/python/HIDToyWindow.pyDo not edit HIDToyWindow.py by hand — it is overwritten on each regeneration.
