• 1
  • 12
  • 13
  • 14(current)
  • 15
  • 16
  • 26
Input
(2015-12-21, 08:20)garbear Wrote: Do you mean deadzone? This has been moved to the joystick library's add-on settings. It's kinda hard to find. What other sensitivity settings should there be?

Image
Can you set deadzone settings per system controller or is it a global setting? Just thinking people may want different deadzone settings when emulating system controllers that use digital vs analog. I'm not sure if that's really valid or not though. I don't think I would care but I was thinking some people might.

Also perhaps deadzone settings for the analog triggers (if your input device has that)?
Reply
(2015-12-21, 23:25)Woerd88 Wrote: I also got a usb to ps1 adapter, i wonder how this device will be named/recognised.
I will try to test it next weekend.

I have a USB to PS1 adapter. On OSX, it has USB vendor id 0x6666 (hobbyist) and no driver name. Because it has no driver name, it can't be mapped ATM. This is listed under "known issues" in the builds thread:

Quote:* DIY or hobbyist controllers/adapters with no driver name can't be mapped

Is this the case on your system?
RetroPlayer releases: https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
(2015-12-21, 11:35)sectune Wrote: I have no possibility to test it yet, thank you for your prompt reply! Just to clarify my trouble a bit more: what I am currently having trouble with, in some games, like f.e. arkanoid based games (destroy bricks by rebouncing a ball with a paddle) - if I press f.e. left to move the paddle, then I really have to press it for a very brief moment, otherwise the paddle goes way too far to the left. I hope you can imagine my frustration now - for now I give the fault of me losing the game fully to this sensitivity issue Big Grin

When I am home on the next weekend - is the dead zone setting the one I am searching for? If not and it is somehow still on the to-do list, I am not mad, as for now I can give the fault to my shitty retro gaming skills fully to the input api, if adjusting the deadzone is the magic setting I am searching for I would have no one else to blame but me :-PP

P.S: is the deadzone setting also stored in the keymaps?

(2015-12-22, 16:33)Leuthil Wrote: Can you set deadzone settings per system controller or is it a global setting? Just thinking people may want different deadzone settings when emulating system controllers that use digital vs analog. I'm not sure if that's really valid or not though. I don't think I would care but I was thinking some people might.

Also perhaps deadzone settings for the analog triggers (if your input device has that)?

I'll try to explain the deadzone setting a little more. This setting is used by a "deadzone filter" that is applied to analog input. From the documentation:

Code:
The analog stick deadzone

This is applied to each axis. Axis is scaled appropriately, so position
is continuous from -1.0 to 1.0:

            |    / 1.0
            |   /
          __|__/
         /  |
        /   |--| Deadzone (default 0.2)
  -1.0 /    |

The deadzone filter is one of several filters applied to analog input immediately after it is read from the joystick driver. This seemed like a good idea, because this takes place in a binary add-on, lowering the complexity of Kodi's joystick processing library. That's why this is now an add-on setting instead of a Kodi setting.

However, this has a downside. The driver is (purposefully) not aware of which analog axes are analog sticks and which are triggers or pressure-sensitive buttons, so the deadzone is applied to ALL analog axes.

Kodi's joystick library contains another type of filter, an analog to digital converter. This is necessarily applied late in the processing stage, when Kodi knows whether the target desires analog or digital input. This might be your problem, sectune. E.g. if analog-stick-left is mapped to a digital left button, Kodi applies this simple threshold filter:

Code:
.
            |   __ 1.0 (left pressed)
            |  |
          __|__| 0.0 (unpressed)
         |  |
       __|  |--| Threshold (hardcoded 0.5)
  -1.0
  (right pressed)

So it's certainly feasible to move the deadzone filter to Kodi's joystick library, where it is aware of which analog axes are analog sticks vs. triggers.

This opens up several possibilities:
  • Separate deadzones per feature type (analog stick vs triggers)
  • Separate deadzones per device
  • Configurable threshold for analog-to-digital converrsion
  • More complex curves - deadzone filter doesn't have to be linear, so small changes and large changes can be weighted differently

All: Which features would you guys like to see added to the joystick library after it's merged in the near future?

sectune: Does this explanation help you understand why your sensitivity is off? Can you explain a little better what's going on now?
RetroPlayer releases: https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
Thanks for the detailed explanation. That makes a lot of sense. I think for the majority of cases the default would be fine, but there may be some exceptions where people would want to customize each feature type and the threshold for analog-to-digital conversion.
Reply
@garbear congrats on making setting up controllers so easy, after messing about with retropie this is so much easier. There is 1 thing I think can be improved on though. I think it would be worth having a set of default keymaps for each system.
After a user sets up their default/kodi keymap it would be nice if kodi could automagicly spit out a keymap for each individual system by using sane defaults (maybe something like the bottom of this page). Of course the user could then change them if they are not happy with the default.
Image
Reply
(2016-01-02, 04:39)N3MIS15 Wrote: There is 1 thing I think can be improved on though. I think it would be worth having a set of default keymaps for each system.
After a user sets up their default/kodi keymap it would be nice if kodi could automagicly spit out a keymap for each individual system by using sane defaults (maybe something like the bottom of this page). Of course the user could then change them if they are not happy with the default.

Our system is actually based on that page. Under the hood, virtually all of the multi-emulator distributions use the Libretro API (us included). The controller configuration utility is a basically frontend for this input system. A little more remote-friendly, a little less text files.

When I added the ability to map each platform individually, I introduced the bug that disables input when the default is mapped but the platform one is not. When this bug is fixed, retroplayer will fall back to the hard-coded mappings in the RetroPie page you suggested.
RetroPlayer releases: https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
Hi!
I was wondering at this point if it is possible to map/use multiple controllers for a multiplayer experience (in the same room)

Also I am a UX/UI designer, I can help out if needed.
Reply
I'm not sure if it's been discussed/thought about but how would the new input layer handle something like Dolphin, which has multiple differnet types of controllers to handle (Wiimote, GC-controller, Wiimot+nunchuck, Motion plus whatever)?
Reply
(2016-01-03, 19:25)grumpygamer Wrote: Hi!
I was wondering at this point if it is possible to map/use multiple controllers for a multiplayer experience (in the same room)

Also I am a UX/UI designer, I can help out if needed.

Yes, if both controllers are mapped, they should be connected to players in the game. You can also map the keyboard for an extra player (soon multiple) if you're missing a controller.

I have little UX/UI experience. But I can recognize a bad design. Which is every emulator ever. It has been really difficult cramming such a complex system into a simple design. I'm sure that I've made some bad decisions, so I welcome any comments on the current version.

(2016-01-03, 22:27)ghallberg Wrote: I'm not sure if it's been discussed/thought about but how would the new input layer handle something like Dolphin, which has multiple differnet types of controllers to handle (Wiimote, GC-controller, Wiimot+nunchuck, Motion plus whatever)?

Multiple controllers will be implemented by importing multiple controller profile add-ons in the emulator's addon.xml. For example, see nestopia. It imports two profiles:

Code:
<requires>
    <import addon="game.controller.nes" version="1.0.0"/>
    <import addon="game.controller.nes.zapper" version="1.0.0"/>
</requires>

So in this case, we would create a controller add-on for each Wii peripheral.

What if we created a device manager for this kind of thing? A while ago I posted my idea of how this would work. You could configure the devices connected to a platform:

Image

It would show an icon on the button for each port, and show the supported controllers:

Image

Would this be simple enough?
RetroPlayer releases: https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
@garbear: That seems very reasonable. For Dolphin specifically you kind of need to add another layer of distinction probably, since it can run both GC-games and Wii-games, and each of those consoles support a different set of controllers.

I'm not super knowledgeable about this stuff, just wanted to highlight it while you're thinking about the interface and implementation still. Hope it's not too late in the process!

Maybe you should contact one of the developers of Dolphin for more specific info.

Thanks for the great work really looking forward to getting these things into Kodi soon!
Reply
I am wondering if investing in something like this (arcade kits) and this (zero delay controller) is a good idea.
Will Retroplayer support that?
Has anyone tried it already?
Reply
(2016-01-04, 12:43)ghallberg Wrote: @garbear: That seems very reasonable. For Dolphin specifically you kind of need to add another layer of distinction probably, since it can run both GC-games and Wii-games, and each of those consoles support a different set of controllers.

True, and can't Wii code access the GC ports? Or is that just when it's in GC mode? Thanks for bringing this to my attention, when I create this manager I'll factor in the Wii situation for frictionless Dolphin support (one can hope...)

(2016-01-04, 23:06)grumpygamer Wrote: I am wondering if investing in something like this (arcade kits) and this (zero delay controller) is a good idea.
Will Retroplayer support that?
Has anyone tried it already?

I built RetroPlayer with DIY controllers in mind. With a little c++, you get all the power of Kodi's joystick library for free: Individual platform mapping, the freedom to use analog or digital IO for any feature, and (someday, see this) configurable analog stick curves (deadzone, etc). I'll be happy to start a GPIO driver if DIY controllers really start to catch on.
RetroPlayer releases: https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
(2015-12-23, 02:02)garbear Wrote: I have a USB to PS1 adapter. On OSX, it has USB vendor id 0x6666 (hobbyist) and no driver name. Because it has no driver name, it can't be mapped ATM. This is listed under "known issues" in the builds thread:

Quote:* DIY or hobbyist controllers/adapters with no driver name can't be mapped

Is this the case on your system?

I just tested my adapter and it is working, but there are some issues.
I am working with this product: http://www.dx.com/p/pu-302-ps2-player-to...orxCk8mnd4
It allows 2 orginal ps controllers on 1 usb port.
It will be listed as follows by windows:
- hid compliant game controller (HID\VID_0810&PID_0001&REV_0106&Col01)
- hid compliant game controller (HID\VID_0810&PID_0001&REV_0106&Col02)

When i configure in Kodi it will create 1 buttonmap:
- <device name="Twin USB Joystick" provider="directinput" vid="2064" pid="1" buttoncount="12" hatcount="1" axiscount="4">

It works ok, and when i plugin 2 identical ps1 controllers, they both work on Kodi.
But they use the exact buttonmap, so i think this will cause issues when using 1 adapter for multiplayer?

It get's weird when i plug in two different controllers:
- Controller 1 with analog sticks: https://en.wikipedia.org/wiki/DualShock
- Controller 2 without analog sticks: https://en.wikipedia.org/wiki/PlayStation_Controller
The buttons like cross, and circle will work, but the d-pad only work for the last mapped controller
(It changes from <"left" hat="h0left" to <"left" axis="-0">)

I was very suprised it worked right out of the box with RetroPlayer Cool
I think this usb convertor has no priorty at all, but i just wanted to post my findings so it may help you in your final design.
Reply
Oh yeah, and i got my PS Flight Stick connected trought the USB adapter (https://www.youtube.com/watch?v=n0ndVdtXtOY)
I have never been navigation trough the Kodi menu's that smoothly / cool . Tongue
Reply
(2016-01-05, 00:36)Woerd88 Wrote: It works ok, and when i plugin 2 identical ps1 controllers, they both work on Kodi.
But they use the exact buttonmap, so i think this will cause issues when using 1 adapter for multiplayer?

This is a limitation with the current configuration utility. Configuration is per-device, not per-player, so different players with the same device must use the same keymap. Kodi still sees two controllers, so even though they use the same buttonmap, they can control two separate players.

I'd like to overcome this limitation. I think that a "player manager" would solve this, where you can configure each player's buttonmap separately. This would also open up some cool features, like tracking high scores and other statistics. What do you think?

(2016-01-05, 00:36)Woerd88 Wrote: It get's weird when i plug in two different controllers:
- Controller 1 with analog sticks: https://en.wikipedia.org/wiki/DualShock
- Controller 2 without analog sticks: https://en.wikipedia.org/wiki/PlayStation_Controller
The buttons like cross, and circle will work, but the d-pad only work for the last mapped controller
(It changes from <"left" hat="h0left" to <"left" axis="-0">)

This sounds like a bug. Keep in mind, that sometimes DPADs are seen as two axes that can take on the discrete values (-1.0, 0.0, 1.0). Kodi should handle this just fine. I'll try to locate a controller without analog sticks and see if I can reproduce.

(2016-01-05, 00:36)Woerd88 Wrote: I think this usb convertor has no priorty at all, but i just wanted to post my findings so it may help you in your final design.

Thanks for the input. I'm still encountering quirks that require significant changes, so the earlier these get detected, the better.

(2016-01-05, 00:48)Woerd88 Wrote: Oh yeah, and i got my PS Flight Stick connected trought the USB adapter (https://www.youtube.com/watch?v=n0ndVdtXtOY)
I have never been navigation trough the Kodi menu's that smoothly / cool . Tongue

Sweet Smile Can you post a buttonmap?
RetroPlayer releases: https://github.com/garbear/xbmc/releases

Donations: eigendude.eth
Reply
  • 1
  • 12
  • 13
  • 14(current)
  • 15
  • 16
  • 26

Logout Mark Read Team Forum Stats Members Help
Input3