Guide to configure controllers in Kodi
#1
Documentation has been moved to: http://kodi.wiki/view/HOW-TO:Configure_controllers
Reply
#2
Limitations

Note: this section assumes familiarity with Kodi's http://kodi.wiki/view/Keymap system for joysticks.

It's important I mention the limitations of the current utility. This was built to solve ONE PROBLEM AND ONE PROBLEM ONLY. I've removed the 4,000 lines of joystick XML configuration and replaced it with a single keymap named joystick.xml.



Specifically, the joystick keymap used to look like:

Code:
<button id="1">Select</button>
<axis id="1" limit="-1">AnalogSeekBack</axis>

The controller configuration utility creates a buttonmap that looks like:

Code:
<feature name="a" button="1" />
<feature name="lefttrigger" axis="-1"/>

And Kodi's remaining keymap looks like:

Code:
<a>Select</a>
<lefttrigger>AnalogSeekBack</lefttrigger>

The driver-specific data (button IDs, axis IDs) have been separated from the Kodi commands. Kodi's joystick keymap is now independent of the driver configuration. The controller configuration utility simply allows you to collect this driver information without doing it by hand as before.

This means that all previous limitations STILL HOLD:
  • You can't have different button maps for different players if they use the same joystick
  • You can't change commands in the joystick.xml keymap (you'll have to edit joystick.xml by hand, just like every other keymap)

If you have questions about controller configuration, or want to discuss the utility or its limitations, post a message below. Thanks!
Reply
#3
One potential issue I have run into whilst testing, is that when playing games on a system which do not use the full button map, it is possible to accidentally press one of the other buttons which kodi still responds to.

For example, if I am playing a SNES game and accidentally knock <leftstickleft> the seek bar will come up (and does not go away). I am sure there will be some other examples. This could be desired behavior however, as it would be nice to use the rewind functionality of libretro right from the controller.
Reply
#4
Fixed by making all buttons "noop" while in fullscreen game, see joystick.xml.
Reply
#5
I updated the guide. Things should be much more clear now.
Reply
#6
When I first saw retroplayer it was like having the ability to rewind with the left trigger for example (actually I don't care about this, but wanted to make a point).
Having all buttons noop while in fullscreen means this functionality is lost, right?
Reply
#7
Yup, bye bye rewind. If you have thoughts on joystick.xml, it definitely needs some love.
Reply
#8
OK, joystick.xml got some love: http://forum.kodi.tv/showthread.php?tid=...pid2240458 . Now's the time to restore rewind, and any other changes you think should happen.
Reply
#9
Mhm as pointed out in the other thread I'm not quite sure how we should handle it, let's keep discussion in your linked thread.
Reply
#10
I'm pretty embarrassed and feel a little silly to ask this, but I just popped Krypton into the oven (read: running 17.0 alpha right now) and this is my introduction to controller profiles. And I'm not sure I understand what it's supposed to do or what I should expect even after reading through the proposed Wiki guide.

- Does it get my USB SNES controller working properly with Kodi?
- Or does it get my XB controller working properly like a SNES controller with Kodi, attached to an emulator such as Retroarch?
- And does it conflict with the emulator's internal controller configuration?
Reply
#11
How do I get my Wiimote working correctly?

- I've got the Wiimote paired
- it works to control Kodi
- the controller config utility seems to recognize when I press buttons on my Wiimote
- however, nothing happens when I try to play a game. All the buttons stay mapped to the default "Kodi" mapping

Does this have something to do with my system telling me that the joystick add-on isnt working because of unmet dependencies?
Reply
#12
Just tryed to configure a X360 wireless and peripherals and configure controler options are grayed. Any ideas? Controler works just fine with 16.1

edit. Fond the problem. Joystick plugin was disabled. I think this plugin is a little necessary so why not force it enabled by default?
Reply
#13
(2016-08-15, 04:29)tamodolo Wrote: edit. Fond the problem. Joystick plugin was disabled. I think this plugin is a little necessary so why not force it enabled by default?

Where did you find this Joystick plugin? How did you enable it? I'm on the latest nightly of Krypton and I can't get my controller to work for the life of me.
Reply
#14
(2016-08-15, 12:49)jeevcat Wrote:
(2016-08-15, 04:29)tamodolo Wrote: edit. Fond the problem. Joystick plugin was disabled. I think this plugin is a little necessary so why not force it enabled by default?

Where did you find this Joystick plugin? How did you enable it? I'm on the latest nightly of Krypton and I can't get my controller to work for the life of me.

My problem was that I hadn't successfully built all the game addons successfully. Following the instructions at the bottom of https://github.com/garbear/xbmc cleared this up for me.
Reply
#15
I can't seem to get my Wii U Pro controller to work properly. Since I switched from LibreELEC stable (Kodi v16) to one of the latest Milhouse LibreELEC builds (Kodi v17) the controller can't be used to navigate within Kodi. It is properly recognized in the bluetooth connections (shown as paired and connected) as well as in Kodi itself (shown as a new device connected plus as well in the periphals section), but the buttons don't seem to work properly. The left analogue stick acts as a mouse and the remaining buttons don't do anything. I tried creating manual keymaps but that didn't have any effect. Interestingly my Wii Remote controller is still working fine in Kodi v17, even though it's not listed under periphals and no manual keymaps were set by me. Unfortunately I'm unsure whether this "issue" is related to Kodi v17 in general or rather LibreELEC specific.

UPDATE: It works fine. I just had to better understand how the new configuration section works. I think it's a nice implementation, thanks!
Reply

Logout Mark Read Team Forum Stats Members Help
Guide to configure controllers in Kodi1