(2015-11-28, 01:00)furii Wrote: if that is the case then wouldn't it make more sense to call it kodi rather than default? i feel like default implies if you don't specifically map a console the default will be used as well as is possible. i'm only just beginning to explore retroplayer so feel free to chastise if this is a dumb opinion
Your opinions are welcome here. Kodi is a sensible label, more so than "default". "default" is from the way emulators get input from Kodi. An emulator can ask for input in the form of an available
game controller add-on, and it "defaults" to a Xbox 360 controller if the add-on isn't installed.
I didn't have a name for "controller that controls Kodi and emulators that want 360 input or are missing the controller add-on they require", so "default" it became. I'm open to suggestions.
I think the real solution is to fix the problem - using the default as well as possible.
This is a difficult problem because "as well as possible" is hard to compute with limited data. Kodi receives very little information from the various joystick drivers we use. Basically we know the USB ID, the number of buttons and axes. Not a lot to work with.
Fortunately, with enough data, we can start generalizing to unseen events. For example, if your friend plugs in a controller with an unknown USB ID, but the number of buttons and axes matches a controller already in the database, it's pretty likely that the mapping from 360 to NES will be the same too.
And good news - there's already some data out there! The
SDL GameControllerDB has mappings for almost every controller to the 360 profile. Also, the
xpad kernel driver Has some useful joystick name to USB vendor ID / product ID mappings.
We're dropping SDL support, so the GameControllerDB's use is limited, but a powerful enough generalizer might still be able to make use of the data.