Installation
Prerequisites
- Python 3.9 or later
- The PolyKybd keyboard connected via USB
Installation
- Install Python: Download and install Python 3.9+ from python.org. Check “Add Python to PATH” during installation.
- Clone the repo:
Terminal window git clone https://github.com/thpoll83/PolyKybdHost.gitcd PolyKybdHost - Install dependencies:
Terminal window pip install -e . - Run:
Or use the included batch file
Terminal window python -m polyhostautorun_polyhost.bat.
- Install Python (if not already installed):
Terminal window brew install python - Clone the repo:
Terminal window git clone https://github.com/thpoll83/PolyKybdHost.gitcd PolyKybdHost - Create a virtual environment and install:
Terminal window python3 -m venv .venvsource .venv/bin/activatepip install -e . - Run:
Terminal window python -m polyhost
- Install system dependencies:
Terminal window # Debian/Ubuntusudo apt install python3 python3-venv python3-pip# Fedorasudo dnf install python3 python3-pip - Install the udev rule for HID access (required for non-root access):
Then log out and back in (or add yourself to the
Terminal window sudo cp polyhost/device/99-hid.rules /etc/udev/rules.d/sudo udevadm control --reload-rulessudo udevadm triggerplugdevgroup). - Clone the repo:
Terminal window git clone https://github.com/thpoll83/PolyKybdHost.gitcd PolyKybdHost - Create a virtual environment and install:
Terminal window python3 -m venv .venvsource .venv/bin/activatepip install -e . - Run:
Terminal window python -m polyhost
Startup options
A plain python -m polyhost launch starts the tray GUI and brings up the background daemon that owns the keyboard (spawning it if one isn’t already running). The other flags select different startup modes:
python -m polyhost # GUI + daemon (default)python -m polyhost --no-daemon # legacy in-process startup (development)python -m polyhost --connect # run the GUI as a client of a running daemonpython -m polyhost --headless # run only the daemon, no GUIpython -m polyhost --debug 1 # basic debug loggingpython -m polyhost --debug 2 # verbose debug loggingpython -m polyhost --host <IP> # forwarder mode (remote machine)python -m polyhost --portable # skip autostart registrationAutostart
PolyKybdHost can register itself to launch at login. Run it once normally — on first launch it will offer to add itself to your OS startup entries (a non-elevated scheduled task on Windows, a .desktop entry on Linux, a launchd plist on macOS). Use --portable to skip this and remove any existing entry.