post_install() { echo "==> Setting up VBX permissions..." # Reload udev rules echo "==> Reloading udev rules..." udevadm control --reload-rules >/dev/null 2>&1 || true udevadm trigger --subsystem-match=input --action=change >/dev/null 2>&1 || true # Determine installing user CURRENT_USER="${SUDO_USER:-$USER}" if [ -n "$CURRENT_USER" ] && [ "$CURRENT_USER" != "root" ]; then echo "==> Adding user '$CURRENT_USER' to 'input' group..." if ! id -nG "$CURRENT_USER" | grep -qw input; then usermod -a -G input "$CURRENT_USER" 2>/dev/null || true fi echo "==> Applying ACLs to existing input devices..." for dev in /dev/input/event*; do [ -e "$dev" ] && setfacl -m "u:${CURRENT_USER}:rw" "$dev" 2>/dev/null || true done echo "" echo "==> VBX setup complete for user '$CURRENT_USER'" echo " ACLs apply to current devices; future ones are handled by udev (TAG+=uaccess)." echo " Run 'vbx' to test keyboard sounds." else echo "==> Could not determine install user." echo " To enable VBX manually, run: sudo usermod -a -G input \$USER" fi } post_upgrade() { post_install } post_remove() { echo "==> Removing VBX udev rules..." udevadm control --reload-rules >/dev/null 2>&1 || true udevadm trigger --subsystem-match=input --action=change >/dev/null 2>&1 || true }