summaryrefslogtreecommitdiff
path: root/bin/extra/usbtoggle
diff options
context:
space:
mode:
authorRaymaekers Luca <raymaekers.luca@gmail.com>2024-04-16 10:09:29 +0200
committerRaymaekers Luca <raymaekers.luca@gmail.com>2024-04-16 10:09:29 +0200
commit692bc52c20da866630fa401be6740bc38f8f8574 (patch)
treebe52e621dbbb15bfd2f43ec92053e4b0a817c392 /bin/extra/usbtoggle
parent197a1a74f468d9d69d624b19f90280a3946455e5 (diff)
parent19ea61db733c9152f2b334b0ae9871f81ac3664d (diff)
Merge branch 'main' of debuc.com:dotfiles
Diffstat (limited to 'bin/extra/usbtoggle')
-rwxr-xr-xbin/extra/usbtoggle25
1 files changed, 25 insertions, 0 deletions
diff --git a/bin/extra/usbtoggle b/bin/extra/usbtoggle
new file mode 100755
index 0000000..7adb2a2
--- /dev/null
+++ b/bin/extra/usbtoggle
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+# toggle an usb device
+
+# dependencies
+# - lsusb (to list usb devices)
+# - commander (menu command)
+# - doas (to run as root)
+
+device="$(lsusb | fzf)"
+[ "$device" ] || exit 1
+# get vendor id
+d=${device#*: * }
+v=${d%%:*}
+# get product id
+d=${device#*:*:}
+p=${d%% *}
+
+# find path by uzing vendor and product IDs
+file="$(grep -l "$p" $(grep -l "$v" /sys/bus/usb/devices/*/idVendor |
+ sed 's/idVendor/idProduct/') |
+ sed 's/idProduct$/authorized/')"
+
+echo 0 | doas tee "$file"
+echo 1 | doas tee "$file"