I ran into the same issue trying to get triggerhappy to process the VOLUME_UP and VOLUME_DOWN events from my Dell AC511 soundbar.
No matter whether I set the user to run the process as in /etc/defaults/triggerhappy, or /etc/init.d/triggerhappy, it would always run as user nobody.
The process would run, but because nobody doesn't have privileges, my commands to amixer would not run.
The solution I found was to edit /etc/systemd/system/multi-user.target.wants/triggerhappy.service and set the user in there to pi.
After doing that and restarting the daemon, the triggerhappy process ran under user pi and everything worked.
Edit: Future updates my overwrite changes to this file, I don't know.