I do agree you probably want a base object for inheritance, exposing a common interface wouldn't be a good idea.
No matter what, you need to implement your abstraction. You're always going to end up with a list of vendor specific implementations.
I do agree you probably want a base object for inheritance, exposing a common interface wouldn't be a good idea.
No matter what, you need to implement your abstraction. You're always going to end up with a list of vendor specific implementations.
Are you joking? For an analogy, do any NIC vendors even provide their own tools for configuring their Ethernet cards? And even if some do, how many people actually bother to use those, instead of OS-specific utilities like ifconfig? How's backlighting any different here?
The fact that you even have a whole table with these features shows that these features are not that difficult to categorise and unbrand to be general enough to have OS-defined behaviours and configurations for.