some mice have a per axis "sensitivity" control which adapts the hardware resolution without changing the DPI (looking at you Etekcity and Roccat). buttons need a couple of has_capability() functions to check which action types and actions are possible light support: - on/off - color - patterns some epollfd-like thing for the caller to check if events are available. Needed for notification when the mouse changes through someone else manipulating settings.