Requires python3, python-uinput and RPi.GPIO Make sure that user pi can open the uinput device. Enable access to it: sudo groupadd -f uinput sudo gpasswd -a pi uinput Open /etc/udev/rules.d/99-input.rules and add this: SUBSYSTEM=="input", GROUP="input", MODE="0660" KERNEL=="uinput", GROUP="uinput", MODE="0660"