Posts: 510
Joined: Jun 2017
Reputation:
57
they have the same purpose, but for different devices.
If you plug a joystick into Kodi, then that will use joystick.xml. Joysticks are popular in most arcade games and early 80's computers like the Commodore 64.
If you plug in a gamepad, with your usual D-Pad layout then Kodi will use the settings in gamepad.xml.
But it is possible to use these vice versa, depending on the emulator/game etc.
Server: Ubuntu Server 22TB HDD running SAMBA
Kodi: 4 Raspberry Pi 3 running Libreelec - on the main PC - running Linux Mint
My Setup thread |
Posts: 510
Joined: Jun 2017
Reputation:
57
The XML files are there to map the physical devices to Kodi, so that you can play the games using either/or.
During the early days of XBMC, it was able to use different controllers, so you have keyboard.xml as well as ones for remotes (such as the Microsoft MCE remote) and games controllers.
Kodi, 'I think' can differentiate between them, making multi controllers in Kodi a lot easier to use... but I might be wrong!
Server: Ubuntu Server 22TB HDD running SAMBA
Kodi: 4 Raspberry Pi 3 running Libreelec - on the main PC - running Linux Mint
My Setup thread |
Posts: 12,646
Joined: Oct 2014
Reputation:
631
The actual file name in there doesn't matter, as long as it's a valid XML file containing the right information. They're only seperated and called keyboard.xml, joystick.xml and gamepad.xml etc for simplicity of identifying what the tags inside actually refer to. But you could theoretically merge them all together, call it input.xml (or bigfathairyinputfile.xml should you desire) and it would work just as well.
If you compare the joystick and gamepad ones you'll see that the tags used are slightly different (<joystick profile="game.controller.default"> vs <gamepad> for example) which shows what is actually referred to.
As to which one is used, it depends on the hardware and how it identifies itself to the device running Kodi - either as a joystick or a gamepad in this example.