You are still going to need separate global events unless you lock all input notifications to the motion controller component, which is pretty terrible. You can also use events as Actions instead of button events and just rebind the calling button (ie: action_grip, rebind as trigger / grip based on platform). There is also some attempts at the SDK level to abstract input and the XR layer should end up handling it in the end.
Better to keep the global inputs but with a “tracked device ID” attached to it and the capability of setting input events tied to a specific id.
Regardless 12 trackers all adding button inputs is a use case that isn’t ever going to be needed except by extreme outliers, who can re-factor input themselves to accommodate for it.
Edit Even if you move input into the controllers, how are you going to keep it from bloating there too? You’ll have it easier in device by device events, but now you still have to support Oculus specific inputs and Knuckles capacitive inputs and other manufacturer input events. It still ends up being a platform by platform configuration, except with less flexibility since you don’t have re-binding and have the un-used events sitting in there.
Don’t get me wrong, current input is a mess and far from ideal, but I’m not sure that is the solution.