Fix Xbox 360 controller support

  Thread Rating:
  • 3 Votes - 4.67 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
darksupernova Offline
Member
Posts: 64
Joined: Sep 2012
Reputation: 0
Post: #31
Its good but a few suggestions:

Before you used the left joystick for volume and the right for navigation, I prefered this layout, now its round the other way.
The axis for volume are back to front, so moving the stick up puts the volume down.

I would recommend switching the sticks because I imagine people will be changing the volume more often then they are navigating through, and the left stick is more natural to use.

Also I dont think theres much you can do about it but the sensitivity for the navigation is very high!

Other than this... Great file! Thanks Smile

EDIT: I just used the one from the link 2-3 posts back in this thread... Im guessing its the most recent?

EDIT2: I've made the changes I suggested and have uploaded the file to save you the work!

http://pastebin.com/SigBqMLk
(This post was last modified: 2012-11-23 12:10 by darksupernova.)
find quote
shiretoko212 Offline
Team-XBMC Member
Posts: 155
Joined: Jul 2012
Reputation: 1
Post: #32
You must be using Frodo, as the volume stick goes increases volume when pushed up in the stable build for me.

By navigation on the thumbstick, you mean time seeking yes? If you mean scrolling the file lists.. you must not be using my keymap, as the triggers scroll the file lists on my keymap.

In the parent post, I explained why I swapped the sticks: "The thumbsticks movements/buttons have swapped sticks so that when you click the right thumbstick for the on screen player controls, your left thumb will already be on the dpad ready to navigate them. This is much more natural and easier to use. Previously, you had to click the left thumbstick to get to the player controls, which made the fact that the left thumbstick can't navigate them frustrating. This change solves that."
Of course if people want it the original way around, I'm fine with that. Either way, they can't merely import my keymap as is, as changes need to account for compatibility with Frodo and the new sections it has and for cross-platform/cross-driver support. I removed all buttons above 10 in my keymap, which would probably make it fail to work with drivers I don't know about.

---
edit: Thanks darksupernova. Can you detail which lines you changed and mention which version of xbmc you're using? It isn't obvious to me glancing at the pastebin link.
(This post was last modified: 2012-11-23 12:18 by shiretoko212.)
find quote
natethomas Offline
Team-XBMC Community Manager
Posts: 3,439
Joined: Apr 2008
Reputation: 61
Location: Kansas
Post: #33
I've decided to do a great deal of testing and altering to see if I could find a combination that made me a bit happier than the default

First off, I've adopted many of the changes Shiretoko included in his keymap, in fact starting with his 1.92 as a base point. From there, I decided to link up left and right shoulder buttons. Now left shoulder queues and right shoulder displays the queue.

I've moved context menu over to the X button (effectively just swapping X and right shoulder). Now almost all the major commands can be found on the main four buttons. A is accept. B is close/go back. Y is fullscreen. X is context.

In fullscreen video mode, I put the OSD on the X button as well as leaving it on Right Stick click, as it seems to me that the OSD in video playback is essentially similar to the Context menu in the library (i.e. a page for additional commands). Now X accesses additional commands in both situations.

On the OSD and the Power Menu, I set it so that all keys that called those windows also close those windows. As far as I am concerned, if a single button can call up a dialog, it should always be able to always close that dialog.

Updated keymap with comments here:
http://pastebin.com/VCBcy3Cc

This keymap at least feels the most logical to me and keeps most of the major functions on frequently accessed keys. I'm certainly open to discussion and alternatives.

Edit: Link updated to fix small formatting errors.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

[Image: badge.gif]
(This post was last modified: 2012-11-23 13:07 by natethomas.)
find quote
shiretoko212 Offline
Team-XBMC Member
Posts: 155
Joined: Jul 2012
Reputation: 1
Post: #34
natethomas, I agree with all of your changes. It makes it even more intuitive. I will wait on updating the parent post with the changes until more people chime in with ideas and suggestions. I consider your pastebin link there to be v1.93.

edit: Unrelated to keymaps entirely, in testing, I noticed two big bugs with the add to queue behavior. It doesn't do anything in the System>File manager section, and there's no sanity checks on what's allowed to be added to the queue. It even tries to add the entire Video Addons section to the queue, which depending on your addons, is practically an endless affair. If you were to add your root folder or C: to as a path in Videos, if you were to accidentally tap the button to add to queue on that entry, expect to wait a very very long hard-drive-crunching time before XBMC becomes responsive again. If the selection to add to the queue is estimated to be over a certain sane amount, it should prompt the user with a warning before doing it.

edit2: I upgraded to Frodo beta1 and your keymap changes work perfectly with it.

edit3: I made your keymap file be v1.93 in the parent post, natethomas.
(This post was last modified: 2013-01-12 12:06 by shiretoko212.)
find quote
shiretoko212 Offline
Team-XBMC Member
Posts: 155
Joined: Jul 2012
Reputation: 1
Post: #35
natethomas: I made a few small changes to apply the toggle ideas you had for the PowerMenu and Video controls to the MusicOSD, PlayerControls, and the Visualisation sections. <button id="3">XBMC.ActivateWindow(MusicOSD)</button> added to Visualisation. <button id="3">Close</button> <button id="10">Close</button> added to MusicOSD. <button id="3">Close</button> <button id="10">Close</button> added to PlayerControls

http://pastebin.com/SYDynqGX v1.94 Parent post updated.
(This post was last modified: 2012-11-26 08:51 by shiretoko212.)
find quote
Rafa_m Offline
Junior Member
Posts: 4
Joined: Nov 2012
Reputation: 0
Post: #36
hi, i am having some problems setting up xbmc with my xbox controller,
i have this: http://pastebin.com/VCBcy3Cc on my keymaps folder
i have replaced the name of the joystick on the xbmc log with the same one that i have on the keymap folder
what else do i need to do?
find quote
shiretoko212 Offline
Team-XBMC Member
Posts: 155
Joined: Jul 2012
Reputation: 1
Post: #37
Rafa_m: Which operating system are you using? Rerun xbmc, and then what device name shows up in the xbmc.log when you search for "Enabled Joystick:" without quotes? Search for multiple instances, just in case there's more than one device. Share each whole line here, and I'll update the keymap with it for you to use. The pastebin you linked to shows no change in the altnames from the supplied keymap. As you have likely discovered another device name, you'd be helping this project by sharing it here and getting it to work.
(This post was last modified: 2012-11-27 13:13 by shiretoko212.)
find quote
da-anda Offline
Team-XBMC Member
Posts: 2,383
Joined: Jun 2009
Reputation: 36
Location: germany
Post: #38
I took the time yesterday to merge your keymap with the current one. Here is the result I'm going to create a PR of.
https://github.com/da-anda/xbmc/commit/8...7efbcebea6

Have a look and check if something is still missing. If so, please use the linked version from my git repository to do the changes with, because I won't spend another hour rearranging the sections to match the current keymap structure in order to get a better overview on what really changed.
find quote
shiretoko212 Offline
Team-XBMC Member
Posts: 155
Joined: Jul 2012
Reputation: 1
Post: #39
da-anda: That looks fantastic. I spent some time reviewing it section by section and using it in xbmc. I noticed the following minor issues:
In MusicOSD section, <button id="10">Close</button> is missing. This allows the same button that calls the screen to dismiss it.
In VideoOSD section, <button id="10">Close</button> is missing. Same reason as above.
In MyVideoLibrary section, <button id="5">Delete</button> overrides the queuing function with delete as though it were a queue section, but it's an actual file section and would delete actual files. Please remove this line from that section.
If you need me to add them via github, let me know. I don't have an account there and would need to learn the ins and outs. Outside of those 3 changes, your merge is excellent as far as I can tell. The only other changes to keep an eye out for are when people report more xbox 360 controller device names, which there are no doubt more hiding out in the wild.
(This post was last modified: 2012-11-27 19:43 by shiretoko212.)
find quote
da-anda Offline
Team-XBMC Member
Posts: 2,383
Joined: Jun 2009
Reputation: 36
Location: germany
Post: #40
Thanks for input, will update
find quote
shiretoko212 Offline
Team-XBMC Member
Posts: 155
Joined: Jul 2012
Reputation: 1
Post: #41
Parent post updated with http://pastebin.com/gyBGgPJM (v1.95)
Changes in v1.95: Thanks to da-anda for doing the work to merge it into his PR. This pastebin link reflects the latest version in the PR with three small corrections and includes a FullscreenLiveTV section unique to Frodo and the original buttons 11-15 for other nonstandard drivers that need it.
(This post was last modified: 2012-11-28 18:18 by shiretoko212.)
find quote
natethomas Offline
Team-XBMC Community Manager
Posts: 3,439
Joined: Apr 2008
Reputation: 61
Location: Kansas
Post: #42
That's a big keymap! We've finally managed to cross the 700 line barrier!

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

[Image: badge.gif]
find quote
shiretoko212 Offline
Team-XBMC Member
Posts: 155
Joined: Jul 2012
Reputation: 1
Post: #43
Yeah, especially since each device name adds 40 lines. Judging from the strangeness of the names, there are no doubt at least half a dozen more out there that we don't know about. Why did Microsoft do that?
(This post was last modified: 2012-11-29 09:11 by shiretoko212.)
find quote
binBD Offline
Senior Member
Posts: 200
Joined: May 2011
Reputation: 3
Location: illinois
Post: #44
(2012-11-15 20:07)shiretoko212 Wrote:  Sorry for the delayed reply everyone. For some reason, the forum wasn't sending me notification emails.

MonkeyRoach: "Everything works pretty good except one problem.When the wireless controller turns off it doesn't work anymore."
pshchelo: "when the controller turns off after idling (naturally happens when you watch a movie and do not touch any controls) the whole XBMC quits immediately without any notice!"
Those are worth filing bug reports on. http://trac.xbmc.org/ There is nothing I can do about that in the keymap.

darksupernova: "I added the following instead of the gamepad name: Xbox 360 Wireless Controller"
I made a new version 1.91 in the original post and added that device name to the list of altname tags. Additionally, v1.91 improves the dpad video time stepping defaults, including back button to go back 7 seconds. Makes the dpad more predictable and consistent. right/left = +/-30 seconds. up/down = +/-10 minutes. back button = -7 seconds.

darksupernova: "I would like to use the sticks for up, down, left, right, however when I try this, they spas out and click 100 times! How do I only let them input once?"
Not possible without some kind of code change. I tried that as well. Just get used to the d-pad.


wookietv: "is there going to be any support for the linux variations?"
The default Linux drivers for the 360 controller use completely different button/axis mappings. Unless a different driver for Linux behaves like the Windows driver (someone let me know if this is the case), it isn't possible to support it with this keymapping.

i feel the same way
so could you help me vote to fix this and spread the word
we need a scrolltime="#" fo the axis control
http://forum.xbmc.org/showthread.php?tid=146660
(This post was last modified: 2012-11-29 18:04 by binBD.)
find quote
da-anda Offline
Team-XBMC Member
Posts: 2,383
Joined: Jun 2009
Reputation: 36
Location: germany
Post: #45
I just updated my branch. If the keymap is now good to go I'll create the PR and hope it'll get in for Beta2.
Link: https://github.com/da-anda/xbmc/commit/f...444970557d
(This post was last modified: 2012-11-29 21:53 by da-anda.)
find quote
Post Reply