Commit aad4c13c authored by Justinas Stankevicius's avatar Justinas Stankevicius
Browse files

openterface-qt: add udev rules for user access

parent 0196c017
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -4,9 +4,22 @@
  makeDesktopItem,
  copyDesktopItems,
  fetchFromGitHub,
  writeText,
  qt6,
  libusb1,
}:
let
  # Based on upstream instructions: https://github.com/TechxArtisanStudio/Openterface_QT#for-linux-users
  udevRules = writeText "60-openterface.rules" ''
    # Serial to HID converter for keyboard/mouse control.
    # ID 1a86:7523 QinHeng Electronics CH340 serial converter
    KERNEL=="ttyUSB[0-9]*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", TAG+="uaccess"

    # "hidraw" device for accessing the host-target toggleable USB port.
    # ID 534d:2109 MacroSilicon Openterface
    KERNEL=="hidraw*", ATTRS{idVendor}=="534d", ATTRS{idProduct}=="2109", TAG+="uaccess"
  '';
in
stdenv.mkDerivation (final: {
  pname = "openterface-qt";
  version = "0.1.0";
@@ -33,7 +46,9 @@ stdenv.mkDerivation (final: {
    mkdir -p $out/bin
    cp ./openterfaceQT $out/bin/
    mkdir -p $out/share/pixmaps
    cp ./images/icon_256.png $out/share/pixmaps/${final.pname}.png
    cp ./images/icon_256.png $out/share/pixmaps/openterface-qt.png
    mkdir -p $out/etc/udev/rules.d
    cp ${udevRules} $out/etc/udev/rules.d/60-openterface.rules
    runHook postInstall
  '';