As for automatically changing the status, SM_MEDIACENTER would require Windows version checks (which are never used in Wine)
If SM_MEDIACENTER is fundamentally a version check, I don't see why that would be the wrong thing to do here?
SM_TABLETPC would likely require touchscreen/tablet detection (rbernon is working on some touch stuff so that could be useful)
Having a tablet attached isn't the same thing as being a tablet, though.
``` case SM_TABLETPC: case SM_MEDIACENTER: - return 0; + return (index == SM_TABLETPC) ? enable_tabletpc : enable_mediacenter; ```
Why not just make these two separate cases?