PDA

View Full Version : Xbox 360 wireless controller Keymap.xml


Killarny
2009-03-22, 08:10
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 :)

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. :)

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 (http://killarny.org/media/xbmc/Keymap.xml)
EventGhost_0.3.7.r851_Setup.exe (http://killarny.org/media/xbmc/EventGhost_0.3.7.r851_Setup.exe)
XBMC 360 Controller.xml (http://killarny.org/media/xbmc/XBMC 360 Controller.xml)
Xpadder.exe (http://killarny.org/media/xbmc/Xpadder.exe)
Xpadder.ini (http://killarny.org/media/xbmc/Xpadder.ini)
Wireless 360.xpaddercontroller (http://killarny.org/media/xbmc/Wireless 360.xpaddercontroller)
XBMC_Pad_360.xpadderprofile (http://killarny.org/media/xbmc/XBMC_Pad_360.xpadderprofile)

bb10
2009-03-22, 22:55
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 (http://www.mediafire.com/file/ddyzwhmjvmw/Xbox360EventClient.rar)

Killarny
2009-03-22, 23:26
There is an xbox360 event client in SVN which works with the official drivers, but it is supposed to be compiled separately.

Xbox360EventClient.rar (http://www.mediafire.com/file/ddyzwhmjvmw/Xbox360EventClient.rar)

Thanks, bb10, I'll give this a go...

KoTiX
2009-03-23, 14:37
I also made, some time ago, an eventghost setup for the 360 wireless pad, and i didn't modified the keymap.xml:
http://xbmc.org/forum/showthread.php?t=43415&highlight=360+wireless+eventghost

hope this can help

Killarny
2009-03-23, 19:18
I also made, some time ago, an eventghost setup for the 360 wireless pad, and i didn't modified the keymap.xml:
http://xbmc.org/forum/showthread.php?t=43415&highlight=360+wireless+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 :) Thanks for all the information!

murf43143
2009-04-09, 09:11
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.

Allen626
2009-08-10, 05:31
There is an xbox360 event client in SVN which works with the official drivers, but it is supposed to be compiled separately.

Xbox360EventClient.rar (http://www.mediafire.com/file/ddyzwhmjvmw/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.

darwin
2009-08-11, 06:51
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

Allen626
2009-08-11, 11:40
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.

Bar1
2009-10-27, 11:14
There is an xbox360 event client in SVN which works with the official drivers, but it is supposed to be compiled separately.

Xbox360EventClient.rar (http://www.mediafire.com/file/ddyzwhmjvmw/Xbox360EventClient.rar)


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

Thanks,
Bar1

bb10
2009-10-27, 21:56
The link is not working, can someone please post another link?

Thanks,
Bar1

Xbox360 EventClient (http://bb10.gotdns.org/XBMC%5BWin32%5D/X360%20controller%20eventclient/Xbox360EventClient.exe)

Here you go. :)

ForsetiAvatar
2009-11-04, 00:36
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

sc create service_name binpath= "path to executable" 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
sc start service_name

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.