I was thinking, (I know, that's dangerous.....
)
Since USB mouses report their buttons, I don't see a reason for making button naming a root process. Rather, why not have a btnx-detect process that is run once as root, then have a user-level btnx-config that btnx reports the button presses to. This would avoid duplication of work for the process, and the end-user. And again, the end-user can do absolutely anything their access would allow.
In summary:
btnx-detect = a one time root process for initial detection of the mouse
btnx-root-daemon = a root process that listens to event handlers, and publishes them directly to the end-user application
btnx = much the same as now, but listening to btnx-root-daemon instead of the event handlers, thereby not needing to be a root process
btnx-config = much the same as now, but not a root process. Integrated into mouse properties, with command execution based upon UID
I know all this would require massive changes, but it would probably make the whole process more secure.
Feel free to pick the idea apart....
Bookmarks