Skip to content

todbot/hidpytoy

Repository files navigation

HIDPyToy - A simple tool to play with USB HID devices

Written in Python 3 with PySide6 and packaged with PyInstaller.

Download

Pre-built executables are available on the hidpytoy releases page for:

Requirements

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.txt

On 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 trigger

Running

source venv/bin/activate        # Windows: venv\Scripts\activate
make run
# or directly:
python src/main/python/main.py

Building a standalone executable

Install the dev dependencies (includes PyInstaller):

pip install -r requirements-dev.txt

Then 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/HIDPyToy

Cross-compilation is not supported — build each platform on its native OS.

Codesigning

See codesigning.md for macOS notarization and Windows Azure Trusted Signing setup and instructions.

UI Customization

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.py

Do not edit HIDToyWindow.py by hand — it is overwritten on each regeneration.

About

A GUI app for playing with HID devices, written in Python

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors