[Windows] Fix buffer size for registry read
[xbmc.git] / system / keymaps / joystick.xml
blob8097e32c4d795bf751244763fb927c070ccb99f0
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- This file contains the mapping of joystick buttons to actions within    -->
3 <!-- Kodi.                                                                   -->
4 <!--                                                                         -->
5 <!-- The format is:                                                          -->
6 <!--   <window>                                                              -->
7 <!--     <joystick profile="game.controller.default">                        -->
8 <!--       <button>action</button>                                           -->
9 <!--     </joystick>                                                         -->
10 <!--   </window>                                                             -->
11 <!--                                                                         -->
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.                     -->
14 <!--                                                                         -->
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          -->
19 <!-- controller.                                                             -->
20 <!--                                                                         -->
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.           -->
24 <!--                                                                         -->
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>                                   -->
29 <!--   </joystick>                                                           -->
30 <!--                                                                         -->
31 <!-- Buttons can be overloaded with hotkeys:                                 -->
32 <!--   <joystick profile="game.controller.default">                          -->
33 <!--     <a>Select</a>                                                       -->
34 <!--     <a hotkey="back">ContextMenu</a>                                    -->
35 <!--   </joystick>                                                           -->
36 <!--                                                                         -->
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>                            -->
42 <!--   </joystick>                                                           -->
43 <!--                                                                         -->
44 <!-- Both hold duration and hotkeys can be the only stand alone variant of   -->
45 <!-- an action:                                                              -->
46 <!--   <joystick profile="game.controller.default">                          -->
47 <!--     <a hotkey="back">ContextMenu</a>                                    -->
48 <!--     <b holdtime="500">Stop</b>                                          -->
49 <!--   </joystick>                                                           -->
50 <!--                                                                         -->
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.                         -->
54 <!--                                                                         -->
55 <!-- More documentation on keymaps can be found on                           -->
56 <!-- http://kodi.wiki/view/keymaps                                           -->
57 <!--                                                                         -->
58 <keymap>
59   <global>
60     <joystick profile="game.controller.default">
61       <a>Select</a>
62       <a holdtime="500">ContextMenu</a>
63       <b>Back</b>
64       <x>ContextMenu</x>
65       <y>FullScreen</y>
66       <start>ActivateWindow(PlayerControls)</start>
67       <back>ActivateWindow(Home)</back>
68       <guide>ActivateWindow(Home)</guide>
69       <up>Up</up>
70       <down>Down</down>
71       <right>Right</right>
72       <left>Left</left>
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>
87     </joystick>
88   </global>
89   <Home>
90     <joystick profile="game.controller.default">
91       <b>Back</b>
92       <b holdtime="500">ActivateWindow(ShutdownMenu)</b>
93     </joystick>
94   </Home>
95   <FileManager>
96     <joystick profile="game.controller.default">
97       <rightbumper>Highlight</rightbumper>
98     </joystick>
99   </FileManager>
100   <MusicPlaylist>
101     <joystick profile="game.controller.default">
102       <leftbumper>Delete</leftbumper>
103     </joystick>
104   </MusicPlaylist>
105   <Music>
106   </Music>
107   <FullscreenVideo>
108     <joystick profile="game.controller.default">
109       <a>Pause</a>
110       <b>Stop</b>
111       <b holdtime="500">FullScreen</b>
112       <x>OSD</x>
113       <y>FullScreen</y>
114       <start>Info</start>
115       <back>FullScreen</back>
116       <guide>OSD</guide>
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>
131     </joystick>
132   </FullscreenVideo>
133   <FullscreenGame>
134     <joystick profile="game.controller.default">
135       <start holdtime="1000">OSD</start>
136       <guide>OSD</guide>
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 -->
143       <!--
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>
153       -->
154       <!-- Hotkeys courtesy Julipo -->
155       <!--
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>
164       -->
165       <!-- Merged -->
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>
178       <!--
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>
183       -->
184     </joystick>
185   </FullscreenGame>
186   <FullscreenLiveTV>
187     <joystick profile="game.controller.default">
188       <a>Pause</a>
189       <b>Stop</b>
190       <b holdtime="500">FullScreen</b>
191       <x>OSD</x>
192       <back>OSD</back>
193       <guide>OSD</guide>
194       <start>Info</start>
195       <up>ChannelUp</up>
196       <down>ChannelDown</down>
197       <left>StepBack</left>
198       <right>StepForward</right>
199     </joystick>
200   </FullscreenLiveTV>
201   <TVGuide>
202     <joystick profile="game.controller.default">
203       <back>Menu</back>
204     </joystick>
205   </TVGuide>
206   <FullscreenRadio>
207     <joystick profile="game.controller.default">
208       <a>Pause</a>
209       <b>Stop</b>
210       <b holdtime="500">FullScreen</b>
211       <x>OSD</x>
212       <back>OSD</back>
213       <guide>OSD</guide>
214       <start>Info</start>
215       <up>ChannelUp</up>
216       <down>ChannelDown</down>
217       <left>StepBack</left>
218       <right>StepForward</right>
219     </joystick>
220   </FullscreenRadio>
221   <RadioGuide>
222     <joystick profile="game.controller.default">
223       <back>Menu</back>
224     </joystick>
225   </RadioGuide>
226   <FullscreenInfo>
227     <joystick profile="game.controller.default">
228       <b>Close</b>
229       <x>OSD</x>
230       <start>Close</start>
231       <lefttrigger>AnalogRewind</lefttrigger>
232       <righttrigger>AnalogFastForward</righttrigger>
233       <leftbumper>AnalogRewind</leftbumper>
234       <rightbumper>AnalogFastForward</rightbumper>
235     </joystick>
236   </FullscreenInfo>
237   <PlayerControls>
238     <joystick profile="game.controller.default">
239       <x>Close</x>
240       <leftthumb>Close</leftthumb>
241       <rightthumb>Close</rightthumb>
242     </joystick>
243   </PlayerControls>
244   <Visualisation>
245     <joystick profile="game.controller.default">
246       <a>Pause</a>
247       <b>Stop</b>
248       <x>Addon.Default.OpenSettings(xbmc.player.musicviz)</x>
249       <y>ActivateWindow(VisualisationPresetList)</y>
250       <start>Info</start>
251       <rightthumb>ActivateWindow(MusicOSD)</rightthumb>
252       <up>SkipNext</up>
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>
264     </joystick>
265   </Visualisation>
266   <MusicOSD>
267     <joystick profile="game.controller.default">
268       <b>Close</b>
269       <start>Info</start>
270     </joystick>
271   </MusicOSD>
272   <VisualisationPresetList>
273     <joystick profile="game.controller.default">
274       <b>Close</b>
275     </joystick>
276   </VisualisationPresetList>
277   <SlideShow>
278     <joystick profile="game.controller.default">
279       <a>Pause</a>
280       <b>Stop</b>
281       <y>ZoomNormal</y>
282       <leftbumper>Rotate</leftbumper>
283       <rightbumper>Info</rightbumper>
284       <up>ZoomIn</up>
285       <down>ZoomOut</down>
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>
294     </joystick>
295   </SlideShow>
296   <ScreenCalibration>
297     <joystick profile="game.controller.default">
298       <x>ResetCalibration</x>
299       <leftbumper>NextResolution</leftbumper>
300       <rightbumper>NextCalibration</rightbumper>
301     </joystick>
302   </ScreenCalibration>
303   <ScreenCalibration>
304     <joystick profile="game.controller.default">
305       <x>ResetCalibration</x>
306       <leftbumper>NextResolution</leftbumper>
307       <rightbumper>NextCalibration</rightbumper>
308     </joystick>
309   </ScreenCalibration>
310   <VideoOSD>
311     <joystick profile="game.controller.default">
312       <b>Close</b>
313     </joystick>
314   </VideoOSD>
315   <VideoMenu>
316     <joystick profile="game.controller.default">
317       <b>Stop</b>
318       <x>OSD</x>
319       <leftbumper>AspectRatio</leftbumper>
320       <start>Info</start>
321     </joystick>
322   </VideoMenu>
323   <OSDVideoSettings>
324     <joystick profile="game.controller.default">
325       <leftbumper>AspectRatio</leftbumper>
326       <x>Close</x>
327     </joystick>
328   </OSDVideoSettings>
329   <OSDAudioSettings>
330     <joystick profile="game.controller.default">
331       <leftbumper>AspectRatio</leftbumper>
332       <x>Close</x>
333     </joystick>
334   </OSDAudioSettings>
335   <VideoBookmarks>
336     <joystick profile="game.controller.default">
337       <leftbumper>Delete</leftbumper>
338     </joystick>
339   </VideoBookmarks>
340   <Videos>
341   </Videos>
342   <VideoPlaylist>
343     <joystick profile="game.controller.default">
344       <leftbumper>Delete</leftbumper>
345     </joystick>
346   </VideoPlaylist>
347   <VirtualKeyboard>
348     <joystick profile="game.controller.default">
349       <a>Select</a>
350       <a holdtime="500">Shift</a>
351       <b>BackSpace</b>
352       <y>Symbols</y>
353       <leftbumper>Shift</leftbumper>
354       <leftthumb>Enter</leftthumb>
355       <lefttrigger>CursorLeft</lefttrigger>
356       <righttrigger>CursorRight</righttrigger>
357       <x>VoiceRecognizer</x>
358       <start>VoiceRecognizer</start>
359     </joystick>
360   </VirtualKeyboard>
361   <ContextMenu>
362     <joystick profile="game.controller.default">
363       <b>Close</b>
364     </joystick>
365   </ContextMenu>
366   <Settings>
367     <joystick profile="game.controller.default">
368       <b>PreviousMenu</b>
369     </joystick>
370   </Settings>
371   <AddonInformation>
372     <joystick profile="game.controller.default">
373       <b>Close</b>
374     </joystick>
375   </AddonInformation>
376   <AddonSettings>
377     <joystick profile="game.controller.default">
378       <b>Close</b>
379     </joystick>
380   </AddonSettings>
381   <TextViewer>
382     <joystick profile="game.controller.default">
383       <b>Close</b>
384     </joystick>
385   </TextViewer>
386   <shutdownmenu>
387     <joystick profile="game.controller.default">
388       <b>PreviousMenu</b>
389       <leftthumb>PreviousMenu</leftthumb>
390     </joystick>
391   </shutdownmenu>
392   <submenu>
393     <joystick profile="game.controller.default">
394       <b>PreviousMenu</b>
395     </joystick>
396   </submenu>
397   <MusicInformation>
398     <joystick profile="game.controller.default">
399       <b>Close</b>
400     </joystick>
401   </MusicInformation>
402   <MovieInformation>
403     <joystick profile="game.controller.default">
404       <b>Close</b>
405     </joystick>
406   </MovieInformation>
407   <NumericInput>
408     <joystick profile="game.controller.default">
409       <b>BackSpace</b>
410       <leftthumb>Enter</leftthumb>
411     </joystick>
412   </NumericInput>
413   <GamepadInput>
414     <joystick profile="game.controller.default">
415       <leftthumb>Stop</leftthumb>
416     </joystick>
417   </GamepadInput>
418   <LockSettings>
419     <joystick profile="game.controller.default">
420       <b>PreviousMenu</b>
421       <leftthumb>Close</leftthumb>
422     </joystick>
423   </LockSettings>
424   <ProfileSettings>
425     <joystick profile="game.controller.default">
426       <b>PreviousMenu</b>
427       <leftthumb>Close</leftthumb>
428     </joystick>
429   </ProfileSettings>
430 </keymap>