• 1
  • 9
  • 10
  • 11(current)
  • 12
  • 13
  • 26
Input
The list of icons grows with the amount of platforms emulated by libretro, which is a finite amount (only so many platforms exist). Also, if a core doesn't explicitly specify a controller profile, it falls back to game.controller.default which ofc means a default icon
Reply
Oh I see, so you assign controllers to the ports that the platform supports so that the platform thinks it has that type of controller in (ie.NES Zapper vs NES Controller). I thought this was a selection based on which controller(s) the user wants to use for the ports on that platform (ie. Xbox controller vs Keyboard etc) but I guess I was mistaken. Am I thinking correctly? This makes a lot more sense now lol. Looking great!
Reply
Right, shown are NES ports because Kodi recognized the.nes file as a nes rom and presented the option to "configure NES" (input)

In the mockup, "Configure NES" is hard-coded. I like this better than "configure emulator 1", "Configure emulator 2", etc because all the emulators are usually the same platform. For this to work, however, kodi will need to recognize rom platforms (possibly using PyRomInfo) and reference an external xml document that says which platforms support which devices on which ports. That in itself is a significant task
Reply
Hmm yeah. There are a few emulators that support multiple platforms as well (thinking of some Sega platform emulators), but none of which have cores made in libretro I don't think. That could potentially add to the complexity though.
Reply
Not sure if this is useful or not, but there is an input control API that some game developers use when making games with the Unity game engine. There is a big list of device profiles (~65) and their buttons and how they map to their "standard" controller (which is also similar to the Xbox 360 controller). Not sure if it would be useful or not but thought I'd post it anyway.

https://github.com/pbhogan/InControl/tre...ceProfiles

Also you can read about its design philosophy here http://www.gallantgames.com/pages/incont...d-controls. There's some other good write-ups on the site as well such as Best Practices and such. It may be too Unity game engine specific though or you probably know all of it anyway Big Grin.
Reply
awesome. thanks for the resource!!!
Reply
a little screen capture i took on OSX...

Image
Reply
How about instead of a drop down list of the input, you make the controller image be a little smaller, move it to the left and put some columns with the input type? For example, on the PS2 there would be a column for the face, and shoulder buttons, and another column it would have the directional buttons, and the analog sticks.

That and having kodi recognizing which button or keyboard is emulating the controller. For example, in the nes controller setting it has the B button as Xbox 360 button X, so it would appear as B = X button. That way, if someone decides to change only one button, he/she can go quickly to the nes controller menu and select it without doing the whole process again. You could add a reset button if they want to do it from scratch.

Its something like the dolphing input options. Only a little more compact since it would have a gamepad image, and to avoid from it to being scrolling down for easy viewing.
Reply
thanks, I like that idea. I'll try it out when i return to working on the configuration GUI
Reply
I tried for about 4 hours to set up my six-axis PS3 joysticks. Basically I can't set up the buttonmap.xml manually because it is just ignored and when I make any change with the interface it erases the .xml I created manually by hand, and when I try to set it up with the joystick, I end up scrambling the config with multiple button presses from the joystick flooding the config. The interface needs to not advance to the next button when it detects a joystick button has been pressed. Sometimes a single button press on the joystick will jump through 4 or 5 button settings. You should only be able to set a button when you manually select the button, and press enter, then you should be able to press the joystick button you want.
I don't have any idea why a manually created xml doesn't work.
I can't use the remote/keyboard to set individual buttons. It sets the button to the keyboard/remote button (I can;t use the remote to select the individual button I want to set/reset.)
The joystick sends out multiple key presses that sets up to 4 buttons.

Any ideas?

[UPDATE] So I figured I'd try using a keyboard to setup the controllers instead of the remote only I'd been using and sure enough the ESC button allows me to "escape" out of programming the keys and use the cursor to try a button again (for when a button press on the sixaxis sets 4 commands in a row. It took awhile, but I got them all set except for Default, if I setup the Default controller with the sixaxis the screen goes crazy, menus go away, things get selected, and I have to reboot to get it to stop, and once I reboot and use the controller, the crazy comes back. So I stopped setting up default and all is well. I'm still curious as to why manually configuring the .xml doesn't work, or even how it knows I've done so and then erases it when I make a change through the gui.

Anyway, great WIP (I am using the OpenELEC-RetroPlayer-20151006-d21b506-Generic.x86_64-5.95.5 version). Smile Thanks for all the work you have put into it.
Using a NUC7PJYHN and a 2820FYKH0 Intel NUC running LibreELEC, and two FireTVs.:)
Reply
(2015-10-09, 22:34)MacGyver Wrote: I tried for about 4 hours to set up my six-axis PS3 joysticks. Basically I can't set up the buttonmap.xml manually because it is just ignored and when I make any change with the interface it erases the .xml I created manually by hand, and when I try to set it up with the joystick, I end up scrambling the config with multiple button presses from the joystick flooding the config. The interface needs to not advance to the next button when it detects a joystick button has been pressed. Sometimes a single button press on the joystick will jump through 4 or 5 button settings. You should only be able to set a button when you manually select the button, and press enter, then you should be able to press the joystick button you want.
I don't have any idea why a manually created xml doesn't work.
I can't use the remote/keyboard to set individual buttons. It sets the button to the keyboard/remote button (I can;t use the remote to select the individual button I want to set/reset.)
The joystick sends out multiple key presses that sets up to 4 buttons.

Any ideas?

[UPDATE] So I figured I'd try using a keyboard to setup the controllers instead of the remote only I'd been using and sure enough the ESC button allows me to "escape" out of programming the keys and use the cursor to try a button again (for when a button press on the sixaxis sets 4 commands in a row. It took awhile, but I got them all set except for Default, if I setup the Default controller with the sixaxis the screen goes crazy, menus go away, things get selected, and I have to reboot to get it to stop, and once I reboot and use the controller, the crazy comes back. So I stopped setting up default and all is well. I'm still curious as to why manually configuring the .xml doesn't work, or even how it knows I've done so and then erases it when I make a change through the gui.

Anyway, great WIP (I am using the OpenELEC-RetroPlayer-20151006-d21b506-Generic.x86_64-5.95.5 version). Smile Thanks for all the work you have put into it.

Running into similar issues just with a DualShock 4 on the same build with an Intel NUC. I thought it was strange when after bluetooth syncing the DS4, OE didn't react (no button presses were working) as I would imagine. I use the PS3 bluetooth remote (for TV and OE operation) and it works fine. But the OE doesn't react to any key presses of DS4. It was my understanding that the DS3 and the DS4 contollers should work with OE out of the box.

So I decided to connect the DS4 to the NUC via USB and that worked....but noticed same really sensitive behavior you noticed when setting up your DS3. When pressing any DS4 button during the controller setup it must be pressed with the up-most sensitivity or the menu will select multiple things. I will try your keyboard method and see if it helps.

Does anyone know if any additional configurations are required to make standard DualShock4 work with OPENELEC? My assumption is this would virtually be the same compatibility as the X360 controller due to the "out of box" compatibility with OPENELEC. Thanks to garbear for bringing this amazing project to life!
Reply
I'm having a bit of an issue, and was hoping someone knew what I was doing wrong. I'm able to map my buttons in the gui just fine, but when I launch a game, my button presses don't register. It's as if the controller isn't mapped at all.

I'm using a Bliss-Box 4-Play adapter in hopes that I can use an NES controller with the NES emulator, SNES controller with the SNES emulator, and so on.

Any ideas?

Thanks!
Reply
(2015-11-27, 23:02)Atarian Wrote: I'm having a bit of an issue, and was hoping someone knew what I was doing wrong. I'm able to map my buttons in the gui just fine, but when I launch a game, my button presses don't register. It's as if the controller isn't mapped at all.

Any ideas?

Thanks!

You have to map your buttons to the Default AND to the console you're emulating. So if you are trying to play an NES game, you need to map default and NES. Actually, if you don't care if your controller controls Kodi, you don't even need to map default.
Reply
(2015-11-27, 23:44)natethomas Wrote:
(2015-11-27, 23:02)Atarian Wrote: I'm having a bit of an issue, and was hoping someone knew what I was doing wrong. I'm able to map my buttons in the gui just fine, but when I launch a game, my button presses don't register. It's as if the controller isn't mapped at all.

Any ideas?

Thanks!

You have to map your buttons to the Default AND to the console you're emulating. So if you are trying to play an NES game, you need to map default and NES. Actually, if you don't care if your controller controls Kodi, you don't even need to map default.

Thanks for the reply! I figured as much when I was setting it up, so I was just using my tv remote to select the games and launch them since I plan to use multiple controllers (different ones per emulator). I'm using a Bliss-Box 4-Play adapter in hopes that I can use an NES controller with the NES emulator, SNES controller with the SNES emulator, and so on. Kodi sees the adapter just fine, and I'm able to use the controller mapping GUI without any issue when I'm mapping my keys. It's only when I launch a game that my button presses don't register.
Reply
Gonna need a debug log then, I'd guess. It's an unusual thing to be able to map the buttons to the controller correctly and then not use the controller.
Reply
  • 1
  • 9
  • 10
  • 11(current)
  • 12
  • 13
  • 26

Logout Mark Read Team Forum Stats Members Help
Input3