aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/run_onchange_after_deploy-flatpak-overrides.sh.tmpl
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-13 13:43:39 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-13 13:43:39 +0100
commit6ab4b0faef22b4fda4b6a3b45dca4c3858eb8802 (patch)
treef32207b47b76bf63a9139151b87a2546b3d2bfe7 /run_onchange_after_deploy-flatpak-overrides.sh.tmpl
parentbbbefc46533e6645fb0688731c1ca78d5106c1d6 (diff)
downloaddotfiles-6ab4b0faef22b4fda4b6a3b45dca4c3858eb8802.tar.gz
dotfiles-6ab4b0faef22b4fda4b6a3b45dca4c3858eb8802.tar.bz2
dotfiles-6ab4b0faef22b4fda4b6a3b45dca4c3858eb8802.zip
feat(udev,flatpak): allow ungoogled-chromium to talk to ZSA keyboards
usevia.app uses WebHID to talk to /dev/hidraw* directly. Two layers were blocking it: 1. Host: no udev rule existed for ZSA boards, so /dev/hidraw nodes were root-only. Add etc/udev/rules.d/50-zsa.rules covering the ZSA VID 3297 (ErgoDox EZ / Moonlander / Voyager) with TAG+=uaccess so logind grants the active session user access. Also include the two bootloader VIDs used during firmware flashing for completeness. 2. Sandbox: the chromium flatpak only sees /dev/dri by default. Add a --device=all override (flatpak has no finer-grained device knob). The host udev rule still gates which hidraw nodes the user can actually open, so this isn't a meaningful escalation. Also wire `udevadm control --reload && udevadm trigger` into the etc deploy script so rule changes apply without a reboot or replug.
Diffstat (limited to 'run_onchange_after_deploy-flatpak-overrides.sh.tmpl')
-rw-r--r--run_onchange_after_deploy-flatpak-overrides.sh.tmpl6
1 files changed, 6 insertions, 0 deletions
diff --git a/run_onchange_after_deploy-flatpak-overrides.sh.tmpl b/run_onchange_after_deploy-flatpak-overrides.sh.tmpl
index 0456883..fb73022 100644
--- a/run_onchange_after_deploy-flatpak-overrides.sh.tmpl
+++ b/run_onchange_after_deploy-flatpak-overrides.sh.tmpl
@@ -19,3 +19,9 @@ apply io.mpv.Mpv --filesystem=xdg-config/mpv:ro
# LibreWolf needs raw /dev access for v4l2 webcams. Flatpak has no
# finer-grained device option, so this opens video/dri/snd at once.
apply io.gitlab.librewolf-community --device=all
+
+# Ungoogled Chromium needs /dev/hidraw* for WebHID (e.g. usevia.app
+# configuring ZSA keyboards). --device=all is the only knob flatpak
+# offers; the host udev rule (etc/udev/rules.d/50-zsa.rules) restricts
+# which hidraw nodes the user can actually open.
+apply io.github.ungoogled_software.ungoogled_chromium --device=all