1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- This file contains the mapping of joystick buttons to actions within -->
5 <!-- The format is: -->
7 <!-- <joystick profile="game.controller.default"> -->
8 <!-- <button>action</button> -->
12 <!-- The <global> section is a fall through - they will only be used if the -->
13 <!-- button is not used in the current window's section. -->
15 <!-- The "profile" attribute specifies the controller profile whose buttons -->
16 <!-- are being mapped. Currently, the default controller profile is used for -->
17 <!-- every controller. In the future it may be possible to specify mappings -->
18 <!-- for the controller profile most similar to the user's physical -->
21 <!-- Actions can be built-in functions. -->
22 <!-- eg <b>ActivateWindow(Music)</b> -->
23 <!-- would automatically go to Music on the press of the B button. -->
25 <!-- Buttons can be overloaded with hold durations, in milliseconds: -->
26 <!-- <joystick profile="game.controller.default"> -->
27 <!-- <a>Select</a> -->
28 <!-- <a holdtime="500">ContextMenu</a> -->
31 <!-- Buttons can be overloaded with hotkeys: -->
32 <!-- <joystick profile="game.controller.default"> -->
33 <!-- <a>Select</a> -->
34 <!-- <a hotkey="back">ContextMenu</a> -->
37 <!-- It is even possible to combine both hotkeys and hold durations: -->
38 <!-- <joystick profile="game.controller.default"> -->
39 <!-- <a>Select</a> -->
40 <!-- <a hotkey="back">ContextMenu</a> -->
41 <!-- <a hotkey="back" holdtime="500">Stop</a> -->
44 <!-- Both hold duration and hotkeys can be the only stand alone variant of -->
46 <!-- <joystick profile="game.controller.default"> -->
47 <!-- <a hotkey="back">ContextMenu</a> -->
48 <!-- <b holdtime="500">Stop</b> -->
51 <!-- A limitation is that if a single press is mapped in a section, a -->
52 <!-- global "holdtime" overload will be ignored. The workaround is to -->
53 <!-- duplicate the holdtime overload in the section. -->
55 <!-- More documentation on keymaps can be found on -->
56 <!-- http://kodi.wiki/view/keymaps -->
60 <joystick profile="game.controller.default">
62 <a holdtime="500">ContextMenu</a>
66 <start>ActivateWindow(PlayerControls)</start>
67 <back>ActivateWindow(Home)</back>
68 <guide>ActivateWindow(Home)</guide>
73 <leftthumb>Screenshot</leftthumb>
74 <rightthumb>ActivateWindow(ShutdownMenu)</rightthumb>
75 <lefttrigger>ScrollUp</lefttrigger>
76 <righttrigger>ScrollDown</righttrigger>
77 <leftbumper>ScrollUp</leftbumper>
78 <rightbumper>ScrollDown</rightbumper>
79 <leftstick direction="left">Left</leftstick>
80 <leftstick direction="right">Right</leftstick>
81 <leftstick direction="up">Up</leftstick>
82 <leftstick direction="down">Down</leftstick>
83 <rightstick direction="left">VolumeDown</rightstick>
84 <rightstick direction="right">VolumeUp</rightstick>
85 <rightstick direction="up">VolumeUp</rightstick>
86 <rightstick direction="down">VolumeDown</rightstick>
90 <joystick profile="game.controller.default">
92 <b holdtime="500">ActivateWindow(ShutdownMenu)</b>
96 <joystick profile="game.controller.default">
97 <rightbumper>Highlight</rightbumper>
101 <joystick profile="game.controller.default">
102 <leftbumper>Delete</leftbumper>
108 <joystick profile="game.controller.default">
111 <b holdtime="500">FullScreen</b>
115 <back>FullScreen</back>
117 <up>ChapterOrBigStepForward</up>
118 <down>ChapterOrBigStepBack</down>
119 <right>StepForward</right>
120 <left>StepBack</left>
121 <leftthumb>ShowSubtitles</leftthumb>
122 <rightthumb>AspectRatio</rightthumb>
123 <lefttrigger>AnalogRewind</lefttrigger>
124 <righttrigger>AnalogFastForward</righttrigger>
125 <leftbumper>AnalogRewind</leftbumper>
126 <rightbumper>AnalogFastForward</rightbumper>
127 <leftstick direction="left">AnalogSeekBack</leftstick>
128 <leftstick direction="right">AnalogSeekForward</leftstick>
129 <leftstick direction="up">noop</leftstick>
130 <leftstick direction="down">noop</leftstick>
134 <joystick profile="game.controller.default">
135 <start holdtime="1000">OSD</start>
137 <!-- Give games access to volume controls -->
138 <rightstick direction="left" hotkey="back">VolumeDown</rightstick>
139 <rightstick direction="right" hotkey="back">VolumeUp</rightstick>
140 <rightstick direction="up" hotkey="back">VolumeUp</rightstick>
141 <rightstick direction="down" hotkey="back">VolumeDown</rightstick>
142 <!-- RetroPie hotkeys, ref: https://github.com/RetroPie/RetroPie-Setup/wiki/RetroArch-Configuration -->
144 <b hotkey="back">Player.Reset</b>
145 <x hotkey="back">OSD</x>
146 <start hotkey="back">Stop</start>
147 <rightbumper hotkey="back">Save</rightbumper>
148 <leftbumper hotkey="back">Load</leftbumper>
149 <righttrigger hotkey="back">AnalogFastForward</righttrigger>
150 <lefttrigger hotkey="back">AnalogRewind</lefttrigger>
151 <right hotkey="back">SaveSlotIncrease</right>
152 <left hotkey="back">SaveSlotDecrease</left>
154 <!-- Hotkeys courtesy Julipo -->
156 <a hotkey="back">Screenshot</a>
157 <x hotkey="back">FullScreen</x>
158 <y hotkey="back">OSD</y>
159 <start hotkey="back">OSD</start>
160 <rightbumper hotkey="back">Save</rightbumper>
161 <leftbumper hotkey="back">Load</leftbumper>
162 <leftstick direction="left" hotkey="back">SaveSlotDecrease</leftstick>
163 <leftstick direction="right" hotkey="back">SaveSlotIncrease</leftstick>
166 <!-- Screenshot is disabled until it has been further automated
167 (currently pops up multiple annoying confusing dialogs) -->
168 <!-- <a hotkey="back">Screenshot</a> -->
169 <!-- Reset is disabled until player can undo a reset -->
170 <!--<b hotkey="back">PlayerControl(Reset)</b> -->
171 <x hotkey="back">OSD</x>
172 <y hotkey="back">OSD</y>
173 <start hotkey="back">Stop</start>
174 <rightbumper hotkey="back">AnalogFastForward</rightbumper>
175 <leftbumper hotkey="back">AnalogRewind</leftbumper>
176 <righttrigger hotkey="back">AnalogFastForward</righttrigger>
177 <lefttrigger hotkey="back">AnalogRewind</lefttrigger>
179 <right hotkey="back">SaveSlotIncrease</right>
180 <left hotkey="back">SaveSlotDecrease</left>
181 <leftstick direction="left" hotkey="back">SaveSlotDecrease</leftstick>
182 <leftstick direction="right" hotkey="back">SaveSlotIncrease</leftstick>
187 <joystick profile="game.controller.default">
190 <b holdtime="500">FullScreen</b>
196 <down>ChannelDown</down>
197 <left>StepBack</left>
198 <right>StepForward</right>
202 <joystick profile="game.controller.default">
207 <joystick profile="game.controller.default">
210 <b holdtime="500">FullScreen</b>
216 <down>ChannelDown</down>
217 <left>StepBack</left>
218 <right>StepForward</right>
222 <joystick profile="game.controller.default">
227 <joystick profile="game.controller.default">
231 <lefttrigger>AnalogRewind</lefttrigger>
232 <righttrigger>AnalogFastForward</righttrigger>
233 <leftbumper>AnalogRewind</leftbumper>
234 <rightbumper>AnalogFastForward</rightbumper>
238 <joystick profile="game.controller.default">
240 <leftthumb>Close</leftthumb>
241 <rightthumb>Close</rightthumb>
245 <joystick profile="game.controller.default">
248 <x>Addon.Default.OpenSettings(xbmc.player.musicviz)</x>
249 <y>ActivateWindow(VisualisationPresetList)</y>
251 <rightthumb>ActivateWindow(MusicOSD)</rightthumb>
253 <down>SkipPrevious</down>
254 <left>StepBack</left>
255 <right>StepForward</right>
256 <lefttrigger>AnalogRewind</lefttrigger>
257 <righttrigger>AnalogFastForward</righttrigger>
258 <leftbumper>AnalogRewind</leftbumper>
259 <rightbumper>AnalogFastForward</rightbumper>
260 <leftstick direction="left">PreviousPreset</leftstick>
261 <leftstick direction="right">NextPreset</leftstick>
262 <leftstick direction="up">noop</leftstick>
263 <leftstick direction="down">noop</leftstick>
267 <joystick profile="game.controller.default">
272 <VisualisationPresetList>
273 <joystick profile="game.controller.default">
276 </VisualisationPresetList>
278 <joystick profile="game.controller.default">
282 <leftbumper>Rotate</leftbumper>
283 <rightbumper>Info</rightbumper>
286 <left>PreviousPicture</left>
287 <right>NextPicture</right>
288 <leftstick direction="left">AnalogMoveXLeft</leftstick>
289 <leftstick direction="right">AnalogMoveXRight</leftstick>
290 <leftstick direction="up">AnalogMoveYUp</leftstick>
291 <leftstick direction="down">AnalogMoveYDown</leftstick>
292 <lefttrigger>ZoomOut</lefttrigger>
293 <righttrigger>ZoomIn</righttrigger>
297 <joystick profile="game.controller.default">
298 <x>ResetCalibration</x>
299 <leftbumper>NextResolution</leftbumper>
300 <rightbumper>NextCalibration</rightbumper>
304 <joystick profile="game.controller.default">
305 <x>ResetCalibration</x>
306 <leftbumper>NextResolution</leftbumper>
307 <rightbumper>NextCalibration</rightbumper>
311 <joystick profile="game.controller.default">
316 <joystick profile="game.controller.default">
319 <leftbumper>AspectRatio</leftbumper>
324 <joystick profile="game.controller.default">
325 <leftbumper>AspectRatio</leftbumper>
330 <joystick profile="game.controller.default">
331 <leftbumper>AspectRatio</leftbumper>
336 <joystick profile="game.controller.default">
337 <leftbumper>Delete</leftbumper>
343 <joystick profile="game.controller.default">
344 <leftbumper>Delete</leftbumper>
348 <joystick profile="game.controller.default">
350 <a holdtime="500">Shift</a>
353 <leftbumper>Shift</leftbumper>
354 <leftthumb>Enter</leftthumb>
355 <lefttrigger>CursorLeft</lefttrigger>
356 <righttrigger>CursorRight</righttrigger>
357 <x>VoiceRecognizer</x>
358 <start>VoiceRecognizer</start>
362 <joystick profile="game.controller.default">
367 <joystick profile="game.controller.default">
372 <joystick profile="game.controller.default">
377 <joystick profile="game.controller.default">
382 <joystick profile="game.controller.default">
387 <joystick profile="game.controller.default">
389 <leftthumb>PreviousMenu</leftthumb>
393 <joystick profile="game.controller.default">
398 <joystick profile="game.controller.default">
403 <joystick profile="game.controller.default">
408 <joystick profile="game.controller.default">
410 <leftthumb>Enter</leftthumb>
414 <joystick profile="game.controller.default">
415 <leftthumb>Stop</leftthumb>
419 <joystick profile="game.controller.default">
421 <leftthumb>Close</leftthumb>
425 <joystick profile="game.controller.default">
427 <leftthumb>Close</leftthumb>