XBCD Controller (Xbox 360 controller) in XBMC Without Key Emulation
Thanks XIYL
I will try your version as well. As others have said, it is tough to switch to another controller if you used an original Xbox one on the XBox.
One thing that does not work well is the DVD menu at the start of a movie. These are part of the DVD itself, on XBox the A button is like Enter, on PC it is Pause. And you can't move between those psuedo buttons either.This has nothing to do with the .xgi file of course but with the keymap.xml. I will dig around for a solution to that as well.

To make it easier all round, I pasted the contents of the .xgi below. Hope you don't mind.

I am confused, i have the microsoft wireless gaming adapter and a wireless xbox controller i use on my pc but how do i use it for xbmc on windows 7?
doat Wrote:I am confused, i have the microsoft wireless gaming adapter and a wireless xbox controller i use on my pc but how do i use it for xbmc on windows 7?

This is for original Xbox controllers and wired 360 controllers only. If I had a wireless gaming adapter I could probably make a keymap, but I don't.
It is pretty easy to setup an own keymap, you just need time.

Here is a tutorial:

I assume the button-mapping for wireless and for wired controllers do not differ from each other.
The mapping is done by the native xbox-controller-driver published by Microsoft (which only works under vista and above).
If you want to use XBCD, I am not sure how the mapping is done there. If someone could provide these infos it would be helpful, otherwise you have to recheck the buttons which are pressed (please consider posting your results, as the may help others. I would suggest you use the thread mentioned above)

The XBMC-Log will nowadays post your joystick, even if debugging is not enabled. Enable the Debug-Log to see what Buttons were pressed, if you want to remap something or something is not mapped correctly.

You could add/change something of the section "FullScreenVideo" to add support for DVD-Playback in a more accurate way, the functions to use:
PlayDVD      Start playing a DVD (goes to the DVD menu)
ShowVideoMenu     Go to the DVD Video menu when playing a DVD.

Here is a list of functions you can use:

You can also run XBMC's internal commands, just put "XBMC." before function (XBMC.Function). A list of commands is here:

And a list of available windows:

The full list of actions is here:
45     {"left" , ACTION_MOVE_LEFT },
46     {"right" , ACTION_MOVE_RIGHT},
47     {"up" , ACTION_MOVE_UP },
48     {"down" , ACTION_MOVE_DOWN },
49     {"pageup" , ACTION_PAGE_UP },
50     {"pagedown" , ACTION_PAGE_DOWN},
51     {"select" , ACTION_SELECT_ITEM},
52     {"highlight" , ACTION_HIGHLIGHT_ITEM},
53     {"parentdir" , ACTION_PARENT_DIR},
54     {"previousmenu" , ACTION_PREVIOUS_MENU},
55     {"info" , ACTION_SHOW_INFO},
56     {"pause" , ACTION_PAUSE},
57     {"stop" , ACTION_STOP},
58     {"skipnext" , ACTION_NEXT_ITEM},
59     {"skipprevious" , ACTION_PREV_ITEM},
60     {"fullscreen" , ACTION_SHOW_GUI},
61     {"aspectratio" , ACTION_ASPECT_RATIO},
62     {"stepforward" , ACTION_STEP_FORWARD},
63     {"stepback" , ACTION_STEP_BACK},
64     {"bigstepforward" , ACTION_BIG_STEP_FORWARD},
65     {"bigstepback" , ACTION_BIG_STEP_BACK},
66     {"osd" , ACTION_SHOW_OSD},
67     {"showsubtitles" , ACTION_SHOW_SUBTITLES},
68     {"nextsubtitle" , ACTION_NEXT_SUBTITLE},
69     {"codecinfo" , ACTION_SHOW_CODEC},
70     {"nextpicture" , ACTION_NEXT_PICTURE},
71     {"previouspicture" , ACTION_PREV_PICTURE},
72     {"zoomout" , ACTION_ZOOM_OUT},
73     {"zoomin" , ACTION_ZOOM_IN},
74     {"playlist" , ACTION_SHOW_PLAYLIST},
75     {"queue" , ACTION_QUEUE_ITEM},
76     {"zoomnormal" , ACTION_ZOOM_LEVEL_NORMAL},
77     {"zoomlevel1" , ACTION_ZOOM_LEVEL_1},
78     {"zoomlevel2" , ACTION_ZOOM_LEVEL_2},
79     {"zoomlevel3" , ACTION_ZOOM_LEVEL_3},
80     {"zoomlevel4" , ACTION_ZOOM_LEVEL_4},
81     {"zoomlevel5" , ACTION_ZOOM_LEVEL_5},
82     {"zoomlevel6" , ACTION_ZOOM_LEVEL_6},
83     {"zoomlevel7" , ACTION_ZOOM_LEVEL_7},
84     {"zoomlevel8" , ACTION_ZOOM_LEVEL_8},
85     {"zoomlevel9" , ACTION_ZOOM_LEVEL_9},
86     {"nextcalibration" , ACTION_CALIBRATE_SWAP_ARROWS},
87     {"resetcalibration" , ACTION_CALIBRATE_RESET},
88     {"analogmove" , ACTION_ANALOG_MOVE},
89     {"rotate" , ACTION_ROTATE_PICTURE},
90     {"close" , ACTION_CLOSE_DIALOG},
91     {"subtitledelayminus", ACTION_SUBTITLE_DELAY_MIN},
92     {"subtitledelay" , ACTION_SUBTITLE_DELAY},
93     {"subtitledelayplus" , ACTION_SUBTITLE_DELAY_PLUS},
94     {"audiodelayminus" , ACTION_AUDIO_DELAY_MIN},
95     {"audiodelay" , ACTION_AUDIO_DELAY},
96     {"audiodelayplus" , ACTION_AUDIO_DELAY_PLUS},
97     {"audionextlanguage" , ACTION_AUDIO_NEXT_LANGUAGE},
98     {"nextresolution" , ACTION_CHANGE_RESOLUTION},
99     {"audiotoggledigital", ACTION_TOGGLE_DIGITAL_ANALOG},
100     {"number0" , REMOTE_0},
101     {"number1" , REMOTE_1},
102     {"number2" , REMOTE_2},
103     {"number3" , REMOTE_3},
104     {"number4" , REMOTE_4},
105     {"number5" , REMOTE_5},
106     {"number6" , REMOTE_6},
107     {"number7" , REMOTE_7},
108     {"number8" , REMOTE_8},
109     {"number9" , REMOTE_9},
110     {"osdleft" , ACTION_OSD_SHOW_LEFT},
111     {"osdright" , ACTION_OSD_SHOW_RIGHT},
112     {"osdup" , ACTION_OSD_SHOW_UP},
113     {"osddown" , ACTION_OSD_SHOW_DOWN},
114     {"osdselect" , ACTION_OSD_SHOW_SELECT},
115     {"osdvalueplus" , ACTION_OSD_SHOW_VALUE_PLUS},
116     {"osdvalueminus" , ACTION_OSD_SHOW_VALUE_MIN},
117     {"smallstepback" , ACTION_SMALL_STEP_BACK},
118     {"fastforward" , ACTION_PLAYER_FORWARD},
119     {"rewind" , ACTION_PLAYER_REWIND},
120     {"play" , ACTION_PLAYER_PLAY},
121     {"playpause" , ACTION_PLAYER_PLAYPAUSE},
122     {"delete" , ACTION_DELETE_ITEM},
123     {"copy" , ACTION_COPY_ITEM},
124     {"move" , ACTION_MOVE_ITEM},
125     {"mplayerosd" , ACTION_SHOW_MPLAYER_OSD},
126     {"hidesubmenu" , ACTION_OSD_HIDESUBMENU},
127     {"screenshot" , ACTION_TAKE_SCREENSHOT},
128     {"rename" , ACTION_RENAME_ITEM},
129     {"togglewatched" , ACTION_TOGGLE_WATCHED},
130     {"scanitem" , ACTION_SCAN_ITEM},
131     {"reloadkeymaps" , ACTION_RELOAD_KEYMAPS},
132     {"volumeup" , ACTION_VOLUME_UP},
133     {"volumedown" , ACTION_VOLUME_DOWN},
134     {"mute" , ACTION_MUTE},
135     {"backspace" , ACTION_BACKSPACE},
136     {"scrollup" , ACTION_SCROLL_UP},
137     {"scrolldown" , ACTION_SCROLL_DOWN},
138     {"analogfastforward" , ACTION_ANALOG_FORWARD},
139     {"analogrewind" , ACTION_ANALOG_REWIND},
140     {"moveitemup" , ACTION_MOVE_ITEM_UP},
141     {"moveitemdown" , ACTION_MOVE_ITEM_DOWN},
142     {"contextmenu" , ACTION_CONTEXT_MENU},
143     {"shift" , ACTION_SHIFT},
144     {"symbols" , ACTION_SYMBOLS},
145     {"cursorleft" , ACTION_CURSOR_LEFT},
146     {"cursorright" , ACTION_CURSOR_RIGHT},
147     {"showtime" , ACTION_SHOW_OSD_TIME},
148     {"analogseekforward" , ACTION_ANALOG_SEEK_FORWARD},
149     {"analogseekback" , ACTION_ANALOG_SEEK_BACK},
150     {"showpreset" , ACTION_VIS_PRESET_SHOW},
151     {"presetlist" , ACTION_VIS_PRESET_LIST},
152     {"nextpreset" , ACTION_VIS_PRESET_NEXT},
153     {"previouspreset" , ACTION_VIS_PRESET_PREV},
154     {"lockpreset" , ACTION_VIS_PRESET_LOCK},
155     {"randompreset" , ACTION_VIS_PRESET_RANDOM},
156     {"increasevisrating" , ACTION_VIS_RATE_PRESET_PLUS},
157     {"decreasevisrating" , ACTION_VIS_RATE_PRESET_MINUS},
158     {"showvideomenu" , ACTION_SHOW_VIDEOMENU},
159     {"enter" , ACTION_ENTER},
160     {"increaserating" , ACTION_INCREASE_RATING},
161     {"decreaserating" , ACTION_DECREASE_RATING},
162     {"togglefullscreen" , ACTION_TOGGLE_FULLSCREEN},
163     {"nextscene" , ACTION_NEXT_SCENE},
164     {"previousscene" , ACTION_PREV_SCENE},
165     {"nextletter" , ACTION_NEXT_LETTER},
166     {"prevletter" , ACTION_PREV_LETTER},
167     {"jumpsms2" , ACTION_JUMP_SMS2},
168     {"jumpsms3" , ACTION_JUMP_SMS3},
169     {"jumpsms4" , ACTION_JUMP_SMS4},
170     {"jumpsms5" , ACTION_JUMP_SMS5},
171     {"jumpsms6" , ACTION_JUMP_SMS6},
172     {"jumpsms7" , ACTION_JUMP_SMS7},
173     {"jumpsms8" , ACTION_JUMP_SMS8},
174     {"jumpsms9" , ACTION_JUMP_SMS9},
175     {"filterclear" , ACTION_FILTER_CLEAR},
176     {"filtersms2" , ACTION_FILTER_SMS2},
177     {"filtersms3" , ACTION_FILTER_SMS3},
178     {"filtersms4" , ACTION_FILTER_SMS4},
179     {"filtersms5" , ACTION_FILTER_SMS5},
180     {"filtersms6" , ACTION_FILTER_SMS6},
181     {"filtersms7" , ACTION_FILTER_SMS7},
182     {"filtersms8" , ACTION_FILTER_SMS8},
183     {"filtersms9" , ACTION_FILTER_SMS9},
184     {"firstpage" , ACTION_FIRST_PAGE},
185     {"lastpage" , ACTION_LAST_PAGE},
186     {"guiprofile" , ACTION_GUIPROFILE_BEGIN},
187     {"red" , ACTION_TELETEXT_RED},
188     {"green" , ACTION_TELETEXT_GREEN},
189     {"yellow" , ACTION_TELETEXT_YELLOW},
190     {"blue" , ACTION_TELETEXT_BLUE},
191     {"increasepar" , ACTION_INCREASE_PAR},
192     {"decreasepar" , ACTION_DECREASE_PAR}};
Thanks HenryFord, I actually do have plans on doing the actual keymap in the near future and am actually using a slightly modified one on my own system. The only reason why I haven't put it up is that it just isn't ready for consumption yet. Atm I'm actually using a modified keymap and a custom XBCD setup but when I release a keymap it will be set up to work with XBCD's default settings. I may actually do it tomorrow just cause you posted so check back.

As far as the DVD thing its not a priority but I'll definitely try to get it resolved with an actual keymap. tbh I don't understand why it doesn't already work but perhaps it'll jump out at me whilst I'm in there.
You like the word "actual", don't you Wink

Yeah, that is cool - Posting your results will help for future reference.

By the way: If someone wants an unique keymap, just send me the controller you need it for Wink
As far as using the default config in xbcd its out of the question. XBMC doesn't support how windows does the POV hat (dpad) and in the default config LT and RT aren't axis. So my update will be both an xbcd config and a keymap.
I have it working now, but I did encounter a few issues while setting it up. For some reason, when i try to set it up with 7 axis (XBCD default) xbmc will detect 6 and replace the 5th one with the 7th one. the log with debug enabled wont show axis ids only buttons. From what I see in the xml there isn't any reason why DVDs menus don't work. It must be somewhere else where the problem lies. I've looked through all the documentation on key actions and I cant find anything tied to DVDs like that. (note: the dvd menu issue is that even when your in the menu the nav keys and the a button are all still acting like playback controls eg pause instead of select.)

Just got to get it all cleaned up then I'll update the first post.
Hi, that download link in the first post doesnt seem to work. It just takes me to the last post of this thread.
pathw Wrote:Hi, that download link in the first post doesnt seem to work. It just takes me to the last post of this thread.

Same here and is this for a wired xbox 360 controller? (sorry newb here)
wierd165 Wrote:Same here and is this for a wired xbox 360 controller? (sorry newb here)
Why do you think the download-link directs you to the post of XIYL? Well..because he is not finished.

What exactly do you need? Do you use XBCD?
so far I've been using the Xbox360Eventclient.
But I want to remap the keys.
For example I'd like to make the left analog stick work. And change the screenshot key to switch profile.
Sorry for my late response, here you go:

Edit: Just realised you already saw the post Big Grin

Logout Mark Read Team Forum Stats Members Help
XBCD Controller (Xbox 360 controller) in XBMC Without Key Emulation2
This forum uses Lukasz Tkacz MyBB addons.