summaryrefslogtreecommitdiff
path: root/udev/50-usbseat.rules
diff options
context:
space:
mode:
Diffstat (limited to 'udev/50-usbseat.rules')
-rw-r--r--udev/50-usbseat.rules18
1 files changed, 18 insertions, 0 deletions
diff --git a/udev/50-usbseat.rules b/udev/50-usbseat.rules
new file mode 100644
index 0000000..c083359
--- /dev/null
+++ b/udev/50-usbseat.rules
@@ -0,0 +1,18 @@
+# set all DisplayLink devices to configuration 1
+# see http://libdlo.freedesktop.org/wiki/DeviceQuirks for more info
+ATTR{idVendor}=="17e9", ATTR{bConfigurationValue}=="2", RUN="/bin/echo 1 > /sys/%b/bConfigurationValue"
+
+# aliases for display, kbd, mouse attached to specific hubs
+
+KERNEL=="fb*",SUBSYSTEMS=="usb", PROGRAM="/bin/seat-id %b", SYMLINK+="usbseat/%c/display",RUN+="usbseat.sh %c"
+
+KERNEL=="mouse*", SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="02", PROGRAM="/bin/seat-id %b",SYMLINK+="usbseat/%c/mouse",RUN+="usbseat.sh %c"
+
+KERNEL=="event*", SUBSYSTEM=="input", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="01",PROGRAM="/bin/seat-id %b",SYMLINK+="usbseat/%c/keyboard",RUN+="usbseat.sh %c"
+
+KERNEL=="control*", SUBSYSTEM=="sound", SUBSYSTEMS=="usb", PROGRAM="/bin/seat-id %b", SYMLINK+="usbseat/%c/sound"
+
+# Handle when keyboard and mouse are one more hub downstream. Relying on pnp order to have already set up mouse, keyboard on upstream hub if we're daisy-chaining
+KERNEL=="event*", SUBSYSTEM=="input", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="01",PROGRAM="/bin/seat-id %b",SYMLINK+="usbseat/%c/keyboard",RUN+="usbseat.sh %c"
+
+KERNEL=="mouse*", SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="02", PROGRAM="/bin/seat-id %b",SYMLINK+="usbseat/%c/mouse",RUN+="usbseat.sh %c"