XBCD Controller (Xbox 360 controller) in XBMC Without Key Emulation

  Thread Rating:
  • 2 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
z80yyz Offline
Junior Member
Posts: 6
Joined: Oct 2009
Reputation: 0
Post: #61
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.

[Gamepad]
DevType=5
LStickDZ=5
RStickDZ=5
BThreshold=10
TThreshold=10
AThreshold=100
AxesOn=31
LAFactor=255
RAFactor=255
NButtons=24
LStickFull=0
RStickFull=0
AxesScale=64646464646464
Layouts=2
Profile0=0D0F100E09110B0C0102040503061E20191A1C1B23242526
(This post was last modified: 2010-07-11 14:30 by z80yyz.)
find quote
doat Offline
Junior Member
Posts: 27
Joined: Aug 2010
Reputation: 0
Post: #62
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?
find quote
XIYL Offline
Junior Member
Posts: 30
Joined: Oct 2008
Reputation: 0
Post: #63
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.
find quote
HenryFord Offline
Posting Freak
Posts: 1,260
Joined: Jan 2010
Reputation: 19
Post: #64
It is pretty easy to setup an own keymap, you just need time.

Here is a tutorial:
http://forum.xbmc.org/showthread.php?tid=89630

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:
Code:
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:
http://wiki.xbmc.org/index.php?title=Keymap.xml#Actions

You can also run XBMC's internal commands, just put "XBMC." before function (XBMC.Function). A list of commands is here:
http://wiki.xbmc.org/index.php?title=Lis..._Functions

And a list of available windows:
http://wiki.xbmc.org/index.php?title=Window_IDs

The full list of actions is here:
http://xbmc.svn.sourceforge.net/viewvc/x...iew=markup
Code:
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}};
(This post was last modified: 2011-01-06 12:35 by HenryFord.)
find quote
XIYL Offline
Junior Member
Posts: 30
Joined: Oct 2008
Reputation: 0
Post: #65
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.
(This post was last modified: 2011-01-06 12:41 by XIYL.)
find quote
HenryFord Offline
Posting Freak
Posts: 1,260
Joined: Jan 2010
Reputation: 19
Post: #66
You like the word "actual", don't you Wink

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

Edit
By the way: If someone wants an unique keymap, just send me the controller you need it for Wink
(This post was last modified: 2011-01-06 18:02 by HenryFord.)
find quote
XIYL Offline
Junior Member
Posts: 30
Joined: Oct 2008
Reputation: 0
Post: #67
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.
(This post was last modified: 2011-01-07 08:58 by XIYL.)
find quote
XIYL Offline
Junior Member
Posts: 30
Joined: Oct 2008
Reputation: 0
Post: #68
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.
find quote
pathw Offline
Junior Member
Posts: 28
Joined: Feb 2011
Reputation: 0
Post: #69
Hi, that download link in the first post doesnt seem to work. It just takes me to the last post of this thread.
find quote
wierd165 Offline
Junior Member
Posts: 1
Joined: Feb 2011
Reputation: 0
Post: #70
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)
find quote
HenryFord Offline
Posting Freak
Posts: 1,260
Joined: Jan 2010
Reputation: 19
Post: #71
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?
find quote
pathw Offline
Junior Member
Posts: 28
Joined: Feb 2011
Reputation: 0
Post: #72
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.
find quote
HenryFord Offline
Posting Freak
Posts: 1,260
Joined: Jan 2010
Reputation: 19
Post: #73
Sorry for my late response, here you go:
http://forum.xbmc.org/showthread.php?p=7...post756963

Edit: Just realised you already saw the post Big Grin
find quote
Post Reply