В Windows 95/98 дней поставщик оборудования должен был описать возможности устройства через реестр. Соответствующая запись была OEMdate, как описано here.
В старых версиях DirectX это определение аппаратного обеспечения было принято в этой записи реестра. Определение включает переопределение оси (пример: JOY_HWS_ZISJ2X = Z находится на оси J2 X.) и тип устройства: Yoke, Gama pad, Race car controller и Head tracker. Кроме того, в этой записи реестра указывается количество кнопок на устройство. Обратите внимание, что определение зависит от драйвера, а не от устройства. Другими словами, все устройства идентичны.
В настоящее время это не требуется, потому что система берет эти данные из дескриптора устройства - передает USB с устройства через мини-драйвер в систему.
Список допустимых значений указан в файле mmddk.h.