#!/bin/bash # Enable USB gadget mode # Fix or add dwc2 overlay if grep -q "^dtoverlay=dwc2" /boot/config.txt; then sudo sed -i 's/^dtoverlay=dwc2.*/dtoverlay=dwc2,dr_mode=peripheral/' /boot/config.txt else echo "dtoverlay=dwc2,dr_mode=peripheral" | sudo tee -a /boot/config.txt fi # Load required kernel modules echo dwc2 | sudo tee /etc/modules-load.d/dwc2.conf echo libcomposite | sudo tee /etc/modules-load.d/libcomposite.conf # Install HID gadget script and service sudo cp ~/rpikvm/hid-setup.sh /usr/local/bin/hid-setup.sh sudo cp ~/rpikvm/hidg.service /etc/systemd/system/hidg.service sudo chmod +x /usr/local/bin/hid-setup.sh # Enable systemd service sudo systemctl daemon-reload sudo systemctl enable hidg.service # Install Python + venv sudo apt install python3 python3-pip python3-venv git -y # Create virtual environment and install web UI dependencies python3 -m venv ~/rpikvm ~/rpikvm/bin/pip install flask evdev # Create the control webUI mkdir -p ~/rpikvm/templates sudo chmod +x ~/rpikvm/startApp.sh