2017-06-05, 21:55
(2017-06-05, 21:12)garbear Wrote: In the future, Kodi will support RetroArch configurations, giving you the best of both worlds.
That would be awesome!
(2017-06-05, 21:12)garbear Wrote: In the future, Kodi will support RetroArch configurations, giving you the best of both worlds.
(2017-06-05, 01:59)garbear Wrote: Not exactly. For example: In 2048 I press and hold start. Immediately the game is paused in-game, then after a second the OSD pops up (currently without pausing the game, but that is trivial to change). When the OSD is closed, we return to 2048 which is still on the pause screen. Start must be pressed again to resume gameplay.
The discussion here is how to improve this flawed behavior. Basically when start is pressed, we need to *not* send the press to the game and pause the game loop when the OSD is opened. The question is, how, when and for how long do we send a regular start press to the game?
(2017-06-05, 02:06)garbear Wrote:(2017-06-04, 07:56)bite_your_idols Wrote: I activated retroplayer using konami code and I can play Super Mario Bros. but I can not get into OSD, if I long press start or select button nothing happens, but if I press my PS button in my dualshock I go to home screen and the game pauses in background. ¿?
That is because PR12180 isn't merged. We need to answer the questions in the discussion above before PR12180 is ready.
(2017-06-06, 11:27)natethomas Wrote: What if exiting the OSD simply sent the pause button signal again, as long as the long pause was used to call it up in the first place?
(2017-06-06, 11:27)natethomas Wrote: If a separate remote called up the OSD, the behavior would not happen.
(2017-06-05, 02:12)garbear Wrote: The problem with combos is that not all controllers have the same buttons. Genesis controllers are missing a Select key. Some controllers are missing shoulder buttons or triggers. The gamecube controller has two triggers but only 1 shoulder button, for example. This means we can't show button names in the GUI, and documentation will always need a long explanation of logical vs. physical controller mappings. etc.You are referencing controller schemes from consoles. Isn't retroplayer using the retropad?
(2017-06-05, 02:12)garbear Wrote: In RetroArch, if select is used as a combo button, how do you send a select press to the game? If you press Select + L1, does the select press also get sent to the game?That's a good question. I expect it doesn't send the Select+L1 buttons when they are detected, but if you don't press them exactly at the same time it probably does set either Select or L1 (whichever was pressed first) during the instant of time that one was pressed before the second one was.
(2016-10-23, 23:07)garbear Wrote:(2016-10-23, 22:38)Woerd88 Wrote: I did found a small bug: when i control kodi with the controller i don't get the navigation sounds.
When i use the keyboard to navigate the menu's i get a click.
Or is this by design?
Nope, this is a bug. I'll look into it, thanks for reporting.
(2017-06-07, 12:56)Ferk Wrote: You are referencing controller schemes from consoles. Isn't retroplayer using the retropad?
(2017-06-07, 12:56)Ferk Wrote: Maybe the problem would be more about the physical controller the user is connecting to their kodi device, if it does not have enough buttons to bind them to the retropad. In this case the "holdtime" for "Start" might have an advantage vs the button combination (as long as "Start" can be bound to the physical gamepad).
(2017-06-07, 12:56)Ferk Wrote: users could either edit the config to match their gamepad
(2017-06-07, 12:56)Ferk Wrote: use an alternative (IR?) control or get a gamepad with more buttons.
(2017-06-07, 12:56)Ferk Wrote:(2017-06-05, 02:12)garbear Wrote: In RetroArch, if select is used as a combo button, how do you send a select press to the game? If you press Select + L1, does the select press also get sent to the game?That's a good question. I expect it doesn't send the Select+L1 buttons when they are detected, but if you don't press them exactly at the same time it probably does set either Select or L1 (whichever was pressed first) during the instant of time that one was pressed before the second one was.
I would have to test that. I think most games I've played do not really use Select much, outside of menus, so I wouldn't have noticed.
<FullscreenGame>
<joystick profile="game.controller.default">
<start holdtime="1000">OSD</start>
<back holdtime="1000">OSD</back>
<guide holdtime="1000">OSD</guide>
</joystick>
</FullscreenGame>
<FullscreenGame>
<joystick profile="game.controller.default">
<start+back holdtime="100">OSD</start>
<guide holdtime="1000">OSD</guide>
</joystick>
</FullscreenGame>
<FullscreenGame>
<joystick profile="game.controller.default">
<start+back+guide holdtime="20">OSD</start>
</joystick>
</FullscreenGame>
(2017-06-08, 05:34)zachmorris Wrote: Wouldn't the best choice be an option for bringing up the OSD? That would be potentially simple to incorporate in the already proposed PR.
Combo Method:
Code:<FullscreenGame>
<joystick profile="game.controller.default">
<start+back holdtime="100">OSD</start>
<guide holdtime="1000">OSD</guide>
</joystick>
</FullscreenGame>
<FullscreenGame>
<joystick profile="game.controller.default">
<start holdtime="1000">OSD</start>
<back holdtime="1000">OSD</back>
<guide holdtime="1000">OSD</guide>
<start meta="select">Stop</start>
<rightbumper meta="select">Save</rightbumper>
<leftbumper meta="select">Load</leftbumper>
<righttrigger meta="select">AnalogFastForward</righttrigger>
<lefttrigger meta="select">AnalogRewind</lefttrigger>
<right meta="select">SaveSlotIncrease</right>
<left meta="select">SaveSlotDecrease</left>
<x meta="select">OSD</x>
<y meta="select">OSD</y>
<a meta="select">Reset</a>
<b meta="select">Reset</b>
</joystick>
</FullscreenGame>
(2017-06-08, 05:09)garbear Wrote:(2017-06-07, 12:56)Ferk Wrote: use an alternative (IR?) control or get a gamepad with more buttons.
Telling the user "you're holding it wrong" doesn't solve the problem.
(2017-06-08, 05:09)garbear Wrote: Nope, an unbelievable amount of work went in on my part to leave the retropad behind.I see. While I can understand why the libretro team chose to introduce the retropad concept, I can understand too why you decided it wasn't a good idea.
(2017-06-08, 05:09)garbear Wrote: Telling the user "you're holding it wrong" doesn't solve the problem.Well, at some point the user needs to concede.He cannot expect to, for example, play a 8-button game with a 4-button gamepad, unless he's ready for some workarounds.
(2017-06-08, 05:09)garbear Wrote:I don't have Retropie (the Select+L1 is from Retropie, not Retroarch), but I have verified just now that behavior in Retroarch for the "Menu Toggle Gamepad Combo" option.(2017-06-07, 12:56)Ferk Wrote: I expect it doesn't send the Select+L1 buttons when they are detected, but if you don't press them exactly at the same time it probably does set either Select or L1 (whichever was pressed first) during the instant of time that one was pressed before the second one was.Could you look into this?
I would have to test that. I think most games I've played do not really use Select much, outside of menus, so I wouldn't have noticed.
(2017-06-10, 19:13)Ferk Wrote: But what happens with the remaining 6 physical buttons when you play with a 10 button physical gamepad a Genesis game?
(2017-06-10, 19:13)Ferk Wrote: I can play NES games in Retroarch and yet the unused buttons can be bound in the joystick.xml to show the OSD, so I guess the default mapping takes over for buttons that are not bound in the core-specific "virtual gamepad".
(2017-06-10, 19:13)Ferk Wrote: I still think this isn't really about console gamepads but about the physical ones.
(2017-06-10, 19:13)Ferk Wrote: The combination I'm using in Retroarch is Select+Start to open the menu, and always one of the keys gets registered, either select or start.
Imho, whether it's using holdtime or button combinations, I think low latency on the game's response is important enough that I wouldn't mind the keypresses being registered in the game when performing an action in Kodi. Plus, for those who might prefer a separate control it would be very annoying to have an input delay.
(2017-06-10, 19:13)Ferk Wrote: With holdtime the same key would always have to be registered, but with a button combination you can decide which button to press first to get the result you want.
So if there was a "Start+L1" combination and you want the game to pause maybe you would press first Start then L1, but if you don't want the game to pause you can decide to press first L1 in a moment where pressing L1 wouldn't matter and then Start.