Is it possible for a USB device to tell the host which alternate interfaces to use, either during startup or any other time?
I know about the GET_INTERFACE and SET_INTERFACE interface requests, but my impression is that the host will just assume alternate interface 0 is in effect on startup -- at least for HID devices. I'm hoping to find some way around this without writing a host driver.
Background: I'm working on a personal project involving converting various PS/2 and other devices to USB (HID). Normally you wouldn't need a driver for this since OS's tend to support such devices natively. However, for the keyboard interface I would like to provide several NKRO options, so some keyboard interfaces will have more than the standard 6+modifier keys. This works fine natively in the OS's I've tried, but I would like to allow the user to choose which keyboard interface to use. Ideally this would be saved on the device and take effect again on startup, so I don't need to provide a driver for the device.