With the packaged udev rules for the steam controller /usr/lib/udev/rules.d/99-steam-controller-perms.rules, the uaccess tag is ignored on /dev/uinput and the default permissions for the controller are 0600 owned by root:root. This means that the user cannot modify the settings on the controller to put it in the correct mode or read input from the controller.
The corrected rules are:
# Valve USB devices SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666" # Steam Controller udev write access KERNEL=="uinput", SUBSYSTEM=="misc", MODE="0660", TAG+="uaccess", OPTIONS+="static_node=uinput"
The additions here OPTIONS+="static_node=uinput" which causes the character device to be created prior to udev starting so it is created with the correct ACL/permissions.
MODE="0660" sets the correct rw group permission, which for the ACL applied by the uaccess tag sets the mask value. If this is not set, /dev/uinput has 0600 permissions and the ACL mask gets set to no permissions resulting in no access to the user.