Original xbox controller
#1
Hi,

I have an Acer3700 running Win7 32bit set up with xbmc.

Original xbox joypad connected via USB and that works fine via the XBCD drivers.

However, I cannot get the joypad to work in XBMC. I have moved the joystick.Microsoft.Xbox.Controller.S xml file to userdata\keymaps as keyboard.xml.

Obviously I'm doing something wrong as the joypad doesn't in XBMC.

I'm sure it's simple, but I just can't see it.

Any ideas? Thanks...
Reply
#2
matthewcb Wrote:I'm sure it's simple

I suspect it's not simple. I think you need some helper software to make the XBMC joypad work with XBMC.

JR
Reply
#3
Ok, fixed it myself in the end.

Will post the fix in case anyone else has the same issue. It was relatively simple in the end.

The problem lay with the name of the controller. In the xml files included with XBMC, the Xbox controller wasn't named as it was displaying in Device Manager.

Therefore, the xml file needed updating to ensure the xbox controller was named as per the device manager naming of it.

I just used the xbox controller s xml file and copied it to the local roaming folder.
Reply
#4
(2011-04-02, 20:14)matthewcb Wrote: Hi,

I have an Acer3700 running Win7 32bit set up with xbmc.

Original xbox joypad connected via USB and that works fine via the XBCD drivers.

However, I cannot get the joypad to work in XBMC. I have moved the joystick.Microsoft.Xbox.Controller.S xml file to userdata\keymaps as keyboard.xml.

Obviously I'm doing something wrong as the joypad doesn't in XBMC.

I'm sure it's simple, but I just can't see it.

Any ideas? Thanks...

I hate resurrecting an old thread, but a fresh post didn't garner me any results..

I am really desperate to use my XBOX 1 controller with my HTPC running Win7 HP x64.

Like you, I created the dongle and the controller is visible and "working" in Windows. But I get nothing in XBMC. I suspect it's because I didn't put in the XML file in XBMC.

Could you post your XML file with some info on placement?

Thanx

Michale

Reply
#5
Here is a thread which will show you the perks around configuring your controller. It is written for the 360 controller, but it should work for the original controller just as well.
http://forum.xbmc.org/showthread.php?tid=89630

Step 4 is the important one - you need to have a keymap-file which does respond to the name of the controller. Note that the name can be different in the device manager, so use the log of XBMC to determine what controller-name XBMC expects in the keymaps.

The Keymap used by the OP is the one which is being shipped with XBMC. You will find it in XBMC_InstallationFolder\system\keymaps . You'll find a XML-file called "joystick.Microsoft.Xbox.Controller.S". Edit that. Note that changes would be overwritten next time you update XBMC. The best suggestion is to take this keymap and place it in C:\Users\YourUsername\AppData\Roaming\XBMC\userdata\keymaps . Then just switch out the name used for the controller with the one you took from the logfile and ét vóila: It should work.
Need help? Check out my XBMC Frodo Guide. It contains full featured guides to Sickbeard and CouchPotato as well.

Image
Reply
#6
Thanx for the reply HenryFord.

I'll try your suggestion when I get home. If it works, this will be totally awesome! Big Grin

Thanx again...

Michale

Reply
#7
Finally had time to get into this. I can report success!!! Big Grin

Now, two problems. One major, one minor..

The minor one is, with the old XBOX XBMC, the "Y" button on the controller scrolled thru the various resolutions. 16:9 4:3 ZOOM, etc etc.. Is there a way to replicate this for XBMC EDEN??

The major problem is the analog joystick is used instead of the D-PAD. It's very flaky. Not precise at all. Can I edit the xml to use the D-PAD instead of the analog joystick??

Thanx again for the assist, HF.. VERY much appreciated.

Michale
Reply
#8
No problem, glad I could help Smile

Yes, the resolution-thing is possible in Eden. You have to change the mapping of the Y-Key to use the action "XBMC.Resolution()" - that would cycle through the available resolutions. But I suspect you mean AspectRatio (as indicated by 16:9, 4:3, etc.), in that case change the mapping to use "AspectRatio" - that would cycle through the available AspectRatios within XBMC.

Unfortunately I cannot help you with the exact mappings you have to use/change since I don't own a Xbox 1-Controller and no way for me to check...
However - you can check out which buttons have to be mapped with the help of the debug log. Start XBMC, enable debug-logging, and press the buttons you want to use. Remember the order and consult your debug.log, the button-presses should be shown in there. Change your keymap accordingly. Do you need any further help regarding keymaps? The wiki has a little tutorial on how to edit those xml-files to fit your needs:
http://wiki.xbmc.org/index.php?title=HOW...yboard.xml
Need help? Check out my XBMC Frodo Guide. It contains full featured guides to Sickbeard and CouchPotato as well.

Image
Reply
#9
(2012-08-13, 16:28)HenryFord Wrote: Do you need any further help regarding keymaps? The wiki has a little tutorial on how to edit those xml-files to fit your needs:
http://wiki.xbmc.org/index.php?title=HOW...yboard.xml

I'll check that..

Thanx again...
Reply
#10
One clarification..

Would looking at the old XBOX1 XBMC keymaps give me an idea of what the buttons are called for the XBOX1 controllerHuh

Michale
OK, I got the DEBUG info from the log file, but it's a tad confusing...

PHP Code:
10:45:43 T:1028   DEBUGJoystick 0 hat 1 Down
10
:45:44 T:1028   DEBUGJoystick 0 hat 4294967295 Centered
10
:45:45 T:1028   DEBUGJoystick 0 hat 1 Down
10
:45:45 T:1028   DEBUGJoystick 0 hat 4294967295 Centered
10
:45:46 T:1028   DEBUGJoystick 0 hat 1 Down
10
:45:47 T:1028   DEBUGJoystick 0 hat 4294967295 Centered
10
:45:47 T:1028   DEBUGJoystick 0 hat 1 Down
10
:45:48 T:1028   DEBUGJoystick 0 hat 4294967295 Centered 

On the D-PAD, I pushed UP, RIGHT, DOWN, LEFT...

But, according to the log file, all the button pushes were the same...


Michale
Reply
#11
OK, forgive the long post, but it's the log file....

PHP Code:
10:55:21 T:3776  NOTICELog level changed to 2
10
:55:21 T:3776  NOTICEEnabled debug logging due to GUI settingLevel 2.
10
:55:21 T:3776   DEBUG: ------ Window Init () ------
10:55:25 T:3776   DEBUGJoystick 0 button 4 Down
10
:55:25 T:3776    INFOXCURL::DllLibCurlGlobal::CheckIdle Closing session to http://feeds.feedburner.com (easy=005E5848, multi=00107998)
10:55:25 T:3776   DEBUGJoystick 0 button 4 Up
10
:55:26 T:3776   DEBUGJoystick 0 button 2 Down
10
:55:26 T:3776   DEBUGCGUIWindowManager::PreviousWindowDeactivate
10
:55:27 T:3776   DEBUG: ------ Window Deinit (SettingsCategory.xml) ------
10:55:27 T:3776   DEBUGCGUIWindowManager::PreviousWindowActivate new
10:55:27 T:3776   DEBUG: ------ Window Init (Settings.xml) ------
10:55:27 T:3776    INFOLoading skin fileSettings.xml
10
:55:27 T:3776   DEBUGJoystick 0 button 2 Up
10
:55:29 T:3776   DEBUGJoystick 0 button 1 Down
10
:55:29 T:3776   DEBUGCApplication::ExecuteXBMCAction Translating ActivateWindow(SystemSettings)
10:55:29 T:3776   DEBUGCApplication::ExecuteXBMCAction To ActivateWindow(SystemSettings)
10:55:29 T:3776   DEBUGActivating window ID10016
10
:55:29 T:3776   DEBUG: ------ Window Deinit (Settings.xml) ------
10:55:29 T:3776   DEBUG: ------ Window Init (SettingsCategory.xml) ------
10:55:29 T:3776    INFOLoading skin fileSettingsCategory.xml
10
:55:29 T:3776   DEBUGJoystick 0 button 1 Up
10
:55:31 T:3776   DEBUGJoystick 0 button 3 Down
10
:55:31 T:3776   ERRORKeymapping errorno such action '' defined
10
:55:31 T:3776   DEBUGJoystick 0 button 3 Up
10
:55:33 T:3776   DEBUGJoystick 0 hat 1 Down
10
:55:33 T:3776   DEBUGJoystick 0 hat 4294967295 Centered
10
:55:34 T:3776   DEBUGJoystick 0 hat 1 Down
10
:55:34 T:3776   DEBUGJoystick 0 hat 4294967295 Centered
10
:55:35 T:3776   DEBUGJoystick 0 hat 1 Down
10
:55:35 T:3776   DEBUGJoystick 0 hat 4294967295 Centered
10
:55:36 T:3776   DEBUGJoystick 0 hat 1 Down
10
:55:37 T:3776   DEBUGJoystick 0 hat 4294967295 Centered
10
:55:40 T:3776   DEBUGSDLKeyboardscancode50sym0112unicode0000modifier0
10
:55:40 T:3776   DEBUGCApplication::OnKeydown (f081pressedaction is Down
10
:55:40 T:3776   DEBUGCWin32WASAPI::EnumerateAudioSinksfound endpoint deviceDigital Audio (S/PDIF) (High Definition Audio Device)
10:55:40 T:3776 WARNINGFailed to find previously selected audio sink
10
:55:41 T:3776   DEBUGSDLKeyboardscancode50sym0112unicode0000modifier0
10
:55:41 T:3776   DEBUGCApplication::OnKeydown (f081pressedaction is Down
10
:55:41 T:3776   DEBUGSDLKeyboardscancode50sym0112unicode0000modifier0
10
:55:41 T:3776   DEBUGCApplication::OnKeydown (f081pressedaction is Down
10
:55:41 T:3776   DEBUGSDLKeyboardscancode50sym0112unicode0000modifier0
10
:55:41 T:3776   DEBUGCApplication::OnKeydown (f081pressedaction is Down
10
:55:43 T:3776   DEBUGSDLKeyboardscancode1csym000dunicode000dmodifier0
10
:55:43 T:3776   DEBUGCApplication::OnKey: return (f00dpressedaction is Select
10
:55:44 T:3776   DEBUGSDLKeyboardscancode4dsym0113unicode0000modifier0
10
:55:44 T:3776   DEBUGCApplication::OnKeyright (f083pressedaction is Right
10
:55:46 T:3776   DEBUGSDLKeyboardscancode1csym000dunicode000dmodifier0
10
:55:46 T:3776   DEBUGCApplication::OnKey: return (f00dpressedaction is Select
10
:55:46 T:3776  NOTICEDisabled debug logging due to GUI settingLevel 0.
10
:55:46 T:3776  NOTICELog level changed to 0 

On this logfile, what I hit the buttons as follows:

Y B A X PAD-UP PAD-RIGHT PAD-DOWN PAD-LEFT

And then went back into SETTINGS and killed the DEBUG...

I was hoping you might be able to help me separate the chaff from the wheat.. Big Grin


Michale
Reply
#12
(2012-08-13, 16:59)Michale32086 Wrote: OK, forgive the long post, but it's the log file....
Next time you can use a service like http://pastebin.com or http://xbmclogs.com/ Smile

Quote:Y B A X PAD-UP PAD-RIGHT PAD-DOWN PAD-LEFT
I hope this is correct, if something is not working just let me know and we can figure it out.
However, once you have a lot of the buttons worked out, it's getting easier to identify the leftovers.
This is the list I came up with from your log:
Y - <button id=4></button>
B - <button id=2></button>
A - <button id=1></button>
X - <button id=3></button>

And for the D-PAD (I actually forgot that you have to trigger certain positions, because the D-PAD is a hat):
Up - <hat id="1" position="up"></hat>
Down - <hat id="1" position="down"></hat>
Right - <hat id="1" position="right"></hat>
Left - <hat id="1" position="left"></hat>

That is corresponding to the first post I made in the thread I linked to earlier. Although I did it initially with the X360 Controller the buttons are being passed as the same.
So I'd suggest you take that list and start working from there:
Code:
button id="1"    A
button id="2"    B
button id="3"    X
button id="4"    Y
button id="5"    Left Shoulder Button
button id="6"    Right Shoulder Button
button id="7"    back
button id="8"    start
button id="9"    left stick button
button id="10"   right stick button

axis limit="-1" id="1"    Left on left stick
axis limit="+1" id="1"    Right on left stick
axis limit="-1" id="2"    Up on left stick
axis limit="+1" id="2"    Down on left stick

axis limit="-1" id="3"    LeftTrigger
axis limit="+1" id="3"    RightTrigger

axis limit="-1" id="4"    Up on right stick
axis limit="+1" id="4"    Down on right stick
axis limit="-1" id="5"    Left on right stick
axis limit="+1" id="5"    Right on right stick

hat id="1" position="up"   Up on DPAD
hat id="1" position="right"   Right on DPAD
hat id="1" position="down"   Down on DPAD
hat id="1" position="left"   Left on DPAD
Need help? Check out my XBMC Frodo Guide. It contains full featured guides to Sickbeard and CouchPotato as well.

Image
Reply
#13
OK I think I am getting a handle on this...

I assume the designations above the <JOYSTICK NAME> attribute would be the section of XBMC you happen to be in?

IE <global> is the main menu, <FullscreenVideo> would be when you are watching a video? And the keymaps are set for that particular section?

Something along those lines?

EDIT: OK Making progress... Big Grin I haven't worried too much about the key/button mappings. In the XML, the BLACK button does resolution/aspect ratio and that's good enough..

But the D-PAD/Joystick is murder..

I have read the blog post here: http://www.kellbot.com/2011/11/getting-x...ontroller/ (You get honorable mention, Ford... Big Grin) and this thread as well http://forum.xbmc.org/showthread.php?tid=89630

But those are geared towards making the joystick work right, as opposed to the D-PAD...

Closing in on it, though!! Big Grin

EDIT: COMPLETE SUCCESS!!!! WOOT!!! Big Grin In this post, http://forum.xbmc.org/showthread.php?tid...pid1120364 a user had posted his XML file.. I copied it, pasted in the system/keymaps dir and tried it. No change.. Sad Then I remember, the USER Dir!! Copied it to the blaa/blaa/userdata/keymaps and SHAZZAAAM!! Full D-PAD capability!!!

Whew!!!!!

Thanx again for all the help! It's going to be a relief not having to get up and down whenever we want to pause or start a show... Big Grin

Michale
Reply

Logout Mark Read Team Forum Stats Members Help
Original xbox controller0