Xbox 360 wireless controller Keymap.xml
#1
Lightbulb 
I recently built a HTPC for running XBMC, but unfortunately I can't run linux on it because ALSA doesn't properly support my HDMI audio, so I've been forced to use Windows Smile

I don't own a 360, but I bought a wireless controller for it a while back to play at friends houses, and I thought it would be nice to be able to hook it up to my HTPC with the 360 Wireless Receiver. Having a consistent control scheme is important to me, since I've used XBMC on and Xbox for years now. Anyhow, I was unable to find any support at all for this controller, despite people in #xbmc telling me that it should "just work" with the default XBMC keymap (it doesn't, with the official MS drivers in Windows).

After a few days of work, I've created a keymap.xml that works almost exactly the same as the standard Xbox 1 controller, with a few caveats:
  • The DPAD is completely unrecognized by XBMC in any fashion, so I've mapped the keyboard UP, DOWN, LEFT, RIGHT to the functions that the DPAD would normally be handling, and have set up an external program (EventGhost) to map the DPAD inputs to those keyboard presses.
  • The Xbox 360 controller joysticks are much more sensitive than the Xbox 1 controller, and the official MS drivers don't allow adjustments to the deadzone, so I've assigned the manual seek functions to the left joystick X axis instead of the proper X axis on the right joystick. It was just way too difficult to change the volume (with the right stick Y axis) without accidentally jumping all over the place in the playing media.

I've also set up EventGhost to launch XBMC when I press the blue button while XBMC is not running, and have xpadder activated when XBMC closes. This allows me to control the mouse on my desktop with the controller as well. There is no keyboard control though, unfortunately, because Windows requires admin permissions to launch the onscreen keyboard for some reason.

Anyhow, I'm linking to all of these files (which I've hosted on my site) for anyone else who is in a similar situation. Particularly, I hope that my keymap.xml can be merged into the official builds for XBMC at some point, and maybe a developer will be inspired to figure out why the DPAD isn't working. Smile

If you use my EventGhost setup, you'll want to be sure to edit the path to your XBMC (if you installed it someplace other than Program Files/XBMC) and the path to where you put Xpadder.exe.

Let me know if anyone has issues ....

Keymap.xml
EventGhost_0.3.7.r851_Setup.exe
XBMC 360 Controller.xml
Xpadder.exe
Xpadder.ini
Wireless 360.xpaddercontroller
XBMC_Pad_360.xpadderprofile
Reply
#2
Killarny Wrote:Anyhow, I was unable to find any support at all for this controller, despite people in #xbmc telling me that it should "just work" with the default XBMC keymap (it doesn't, with the official MS drivers in Windows).

There is an xbox360 event client in SVN which works with the official drivers, but it is supposed to be compiled separately.

Xbox360EventClient.rar
Reply
#3
bb10 Wrote:There is an xbox360 event client in SVN which works with the official drivers, but it is supposed to be compiled separately.

Xbox360EventClient.rar

Thanks, bb10, I'll give this a go...
Reply
#4
I also made, some time ago, an eventghost setup for the 360 wireless pad, and i didn't modified the keymap.xml:
http://forum.xbmc.org/showthread.php?tid...eventghost

hope this can help
Reply
#5
KoTiX Wrote:I also made, some time ago, an eventghost setup for the 360 wireless pad, and i didn't modified the keymap.xml:
http://forum.xbmc.org/showthread.php?tid...eventghost

hope this can help

I wanted to use keymap for as much as I could, in the hopes that XBMC would eventually support the controller natively, since there seems to be so little left to do (basically just fixing the DPAD and perhaps adjust the sensitivities of the thumbsticks).

Your thread was one of the most useful to me when I was trying to figure out how to use EventGhost Smile Thanks for all the information!
Reply
#6
Just so you know, that Xbox360EventClient.rar is the answer I have been looking for forever for my wired 360 Controller. I just run that .exe file, and start XBMC, no xpadder or anything and it is PERFECT. Just like the Xbox controller so far. Amazing, so thank you for sharing.
Reply
#7
bb10 Wrote:There is an xbox360 event client in SVN which works with the official drivers, but it is supposed to be compiled separately.

Xbox360EventClient.rar

This program works great!

I know this post is pretty old and I was wondering if this has made it into the main branch (or whatever you call it) yet?

I am thinking about just installing the small program as a service, but I don't really want to do that if there is a better way to get this to work.

The only problem with it is that the keys are not really that sensitive so you have to push down pretty hard to get it to go, but other then that it is just like the Xbox 1 XBMC controls.
Reply
#8
Allen626 Wrote:I know this post is pretty old and I was wondering if this has made it into the main branch (or whatever you call it) yet?

I am thinking about just installing the small program as a service, but I don't really want to do that if there is a better way to get this to work.

The only problem with it is that the keys are not really that sensitive so you have to push down pretty hard to get it to go, but other then that it is just like the Xbox 1 XBMC controls.

a) I'm pretty sure that the Xbox360 Event Client is in the main codebase these days. If you check out SVN, you will see the project for it. I'm not sure if it's automatically compiled when you build the main project, I think it is not. I'm not sure what the project policy is on packaging things like eventclients, but they appear to not do so.

b) If you do figure out how to install it as a service, especially in any sort of automated way, I'm sure people would be curious as to how.

c) You can modify the repeat rate in the http server settings menu, which makes the scroll rate a bit quicker. But you are correct that it is still notably slower than an xbox remote on xbmc. Unfortunately I'm not clueful enough to know if/how this might be remedied.

=darwin
Reply
#9
darwin Wrote:a) I'm pretty sure that the Xbox360 Event Client is in the main codebase these days. If you check out SVN, you will see the project for it. I'm not sure if it's automatically compiled when you build the main project, I think it is not. I'm not sure what the project policy is on packaging things like eventclients, but they appear to not do so.

b) If you do figure out how to install it as a service, especially in any sort of automated way, I'm sure people would be curious as to how.

c) You can modify the repeat rate in the http server settings menu, which makes the scroll rate a bit quicker. But you are correct that it is still notably slower than an xbox remote on xbmc. Unfortunately I'm not clueful enough to know if/how this might be remedied.

=darwin


a. Hmm ok so it may not be in the 9.04.1-repack2? I guess I will try to do a SVN update through the updater script to see if that includes it.

b. Windows Resource Kit can allow you to install programs as services. Microsoft has a guide for it on there technet. http://support.microsoft.com/kb/137890

c. I will give it a try as well.
Reply
#10
bb10 Wrote:There is an xbox360 event client in SVN which works with the official drivers, but it is supposed to be compiled separately.

Xbox360EventClient.rar


The link is not working, can someone please post another link?

Thanks,
Bar1
Reply
#11
Bar1 Wrote:The link is not working, can someone please post another link?

Thanks,
Bar1

Xbox360 EventClient

Here you go. Smile
Reply
#12
Allen626 Wrote:b. Windows Resource Kit can allow you to install programs as services. Microsoft has a guide for it on there technet. http://support.microsoft.com/kb/137890

That is a really old KB article. The resource kit is no longer required, use sc.exe which is included in WinXP (and above I would think).
Command structure below

Code:
sc create [i]service_name[/i] binpath= [i]"path to executable"[/i] start= auto

If the service name has a space in it, enclose in quotes. Also, it is very picky about having that space after the equals sign. The 'start= auto' will automatically start the service at reboot. To start the service immedaitely use
Code:
sc start [i]service_name[/i]

you can also use the sc command to setup auto restart on failure and the like.

Going to give the event client a shot when I get home tonight. Hope it works.
Reply
#13
The EventClient makes the Xbox 360 wireless gamepad work automatically without having to manually edit anything at all! Thanks for the posts! However, is it possible to get EventClient to work with an external player (e.g., mpc-hc.exe)? If so, can you please explain?
Reply
#14
bb10 Wrote:Xbox360 EventClient

Wow, finally after searching and trying i got my XBOX 360 Wireless Pad working with my xbmc.
The settings are pretty good.

but i've two things that annoy me:
  1. i always have to start that .exe before i launch my xbmc. i generally started my XBMC with a button on my iMon Pad before. Now i have to do a step before.
    Is it possible to integrate that Xbox360 EventClient into the xbmc? Is it avalible as plugin?
  2. The left Stick is not in use. Why not use it to go through Menus.

Another Question:

If xbmc isn't running and i want to launch it with my pad (with the start button or something).
How could i do that? Eventghost, XPadder?
Reply
#15
Ok....I know this is an old thread but just trying to get my controller working. All done I think but is there a file that will show me what buttons do what and is there a way to change them.

For instance cant find how to stop a music track once it is playing and how to go back to previous menu ie what the Esc key currently does when using keyboard?
Reply

Logout Mark Read Team Forum Stats Members Help
Xbox 360 wireless controller Keymap.xml0