Kodi Community Forum

Full Version: a few questions (additional Xbox 360 controller features)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Will retroplayer indicate a low battery whilst running? I use retroarch with openelec at the moment, and if the battery dies without a warning it required a hard reset. I know its not retroplayer but these are some of the pitfalls I find when using emus with kodi. Will kodi be able to shutdown the controller? As it stands with my setup, To shutdown a controller requires digging your way into the OS settings, With long presses being introduced will it be possible to close down a controller with a long press of the home button? Are savestates transferable between kodi machines? Say im playing Mario in the living room and get relegated to the spare tv, Will retroplayer be able to use the save state from the game I was playing in the living room?
(2016-01-24, 17:53)stuCONNERS Wrote: [ -> ]Will retroplayer indicate a low battery whilst running? I use retroarch with openelec at the moment, and if the battery dies without a warning it required a hard reset. I know its not retroplayer but these are some of the pitfalls I find when using emus with kodi.

Controller battery level is a planned feature, but I'm focusing on the important stuff (like not crashing) first.

(2016-01-24, 17:53)stuCONNERS Wrote: [ -> ]Will kodi be able to shutdown the controller? As it stands with my setup, To shutdown a controller requires digging your way into the OS settings, With long presses being introduced will it be possible to close down a controller with a long press of the home button?

Can a PC "shut down" a controller? I didn't know this was possible.

The other issue you touched on is long-pressing buttons. I want to add support for long presses and button combos to joystick.xml. Besides long-pressing the guide button, what other combos / long presses should we use?

(2016-01-24, 17:53)stuCONNERS Wrote: [ -> ]Are savestates transferable between kodi machines? Say im playing Mario in the living room and get religated to the spare tv, Will retroplayer be able to use the save state from the game I was playing in the living room?

Savestates are transferable between computers, but not between emulators. So if you start with Snes9x on one computer you can't generally use bSNES on another.

One possible solution is to have a python script that converts savestates between the different emulator formats, but that's something I haven't looked into yet.
(2016-01-25, 21:06)garbear Wrote: [ -> ]Can a PC "shut down" a controller? I didn't know this was possible.

Someone managed it in Windows for the 360 controller, I find myself using his little utility quite often, as sometimes the Wireless 360 Controller doesn't shut itself off as expected.

Link Here to the forum post

Also this which shows battery levels and works for multiple controllers
If you link to some source code, I can implement it in Kodi
(2016-01-26, 03:31)garbear Wrote: [ -> ]If you link to some source code, I can implement it in Kodi

Found some here, not the same utility though.

Here's some more from a dev forum.

Hopefully they can help point you in the right direction.
Found https://x360ce.googlecode.com/svn-histor...x360ce.def where you can see all the available symbols exported by XInput 1.3. For the battery information I could find an official documentation at https://msdn.microsoft.com/en-us/library...s.85).aspx but there's nothing on XInputPowerOffController but I guess the example code should be enough.

Another feature of the Xbox 360 controller I forgot about is the headset which can be attached. Aparently the audio devices (for output and input) can be retrieved using XInputGetDSoundAudioDeviceGuids but I don't really know how our audio system works.

And https://msdn.microsoft.com/en-us/library...on_effects describes how to get rumble / force feedback / vibration working.
My Xbox 360 controller always stays on even when shutting down my Windows PC with the official Xbox 360 drivers. I always have to pop the battery pack out and back in to shut it off lol. If you could get it working it would be a nice feature, but it should be an option in the settings since some people who quit Kodi may be going back to the Android home screen using their controller as input, or Steam Link since apparently that is a thing now too lol.
(2016-01-26, 15:39)Leuthil Wrote: [ -> ]My Xbox 360 controller always stays on even when shutting down my Windows PC with the official Xbox 360 drivers. I always have to pop the battery pack out and back in to shut it off lol. If you could get it working it would be a nice feature, but it should be an option in the settings since some people who quit Kodi may be going back to the Android home screen using their controller as input, or Steam Link since apparently that is a thing now too lol.

I use a PS3 DualShock so removing the battery isnt an option. Thats why I asked about shut down of the controller. Im on Openelec 6.0.0, and to shut down the controller have to go into the Openelec settings addon and close it from there. Otherwise its flat battery everytime you wanna use it.

@garbear How do you plan on quitting the game with a pad? Im using the PS home button at the moment that then takes me back to my roms. The downside of using the "Home" button is if you catch it by mistake its game over. An are you sure you want to "Exit YES/NO" would help alot here.
(2016-01-26, 20:02)stuCONNERS Wrote: [ -> ]@garbear How do you plan on quitting the game with a pad? Im using the PS home button at the moment that then takes me back to my roms. The downside of using the "Home" button is if you catch it by mistake its game over. An are you sure you want to "Exit YES/NO" would help alot here.

I use the stop button on my remote control at the moment which works quite well. I wouldn't want to map a controller button to exit for the exact reason you mentioned.
I know it also means you need two input devices for retroplayer. Maybe Home could trigger the OSD or something? least you could fast forward, stop etc without the need of a second input.
I have found that the buttons which aren't mapped for the current emulated system still continue to trigger kodi functions. For example, if I play a SNES game and touch the right analog stick up/down it adjusts the volume. It should work for you too, as long as you add a 'Kodi' mapping for your controller, and map an unused button to bring up the OSD.
A suggestion for the future. If you have questions that aren't related, create separate threads for them, so that it's easier to find the conversation later when the title actually means something.
(2016-01-27, 05:24)natethomas Wrote: [ -> ]A suggestion for the future. If you have questions that aren't related, create separate threads for them, so that it's easier to find the conversation later when the title actually means something.

or I abuse my moderator privileges and rename the thread Wink
Since I have several Xbox 360 controllers and I find these additional features mentioned here interesting I took a look and implemented them in the joystick implementation, see https://github.com/kodi-game/peripheral....ck/pull/30. That way we could use the force feedback functionality, read the battery state and turn off the controller. But these features aren't supported by the general API yet so they can't be used until the API is extended.