Oder man macht eine recht überschaubare Klassifizierung wie "Input, Output, Speichermedium, Verarbeitung". Damit müsste man _etwa_ alle irgendwie unter einen Hut bringen. Der Anwender bekommt dann beim ersten Start des Mediaplayers einen Dialog gezeigt, in dem er ein Gerät aussuchen kann, dass der groben Klassifizierung (input, output, speicher, verarbeitung) entspricht und dann gehts los. So entsteht nie das Problem, dass ich für jede Geräteklasse den Kernel (und die Erkennungsmethoden) nachrüsten muss.
EDIT: Und der User wird wohl kaum das Gerät "Drucker" als Ausgabegerät nehmen, wenn drunter "Lautsprecher" oder "Soundkarte" steht.
(Hoffe ich jedenfalls
)