1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- This file contains the mapping of keys (gamepad, remote, and keyboard) to actions within XBMC -->
3 <!-- The <global> section is a fall through - they will only be used if the button is not -->
4 <!-- used in the current window's section. Note that there is only handling -->
5 <!-- for a single action per button at this stage. -->
6 <!-- For joystick/gamepad configuration under linux/win32, see below as it differs from xbox -->
9 <!-- The format is: -->
11 <!-- <button>action</button> -->
14 <!-- To map keys from other remotes using the RCA protocol, you may add <universalremote> blocks -->
15 <!-- In this case, the tags used are <obc#> where # is the original button code (OBC) of the key -->
16 <!-- You set it up by adding a <universalremote> block to the window or <global> section: -->
17 <!-- <universalremote> -->
18 <!-- <obc45>Stop</obc45> -->
19 <!-- </universalremote> -->
21 <!-- Note that the action can be a built-in function. -->
22 <!-- eg <B>XBMC.ActivateWindow(MyMusic)</B> -->
23 <!-- would automatically go to My Music on the press of the B button. -->
25 <!-- Joysticks / Gamepads: -->
26 <!-- See the sample PS3 controller configuration below for the format. -->
28 <!-- Joystick Name: -->
29 <!-- Do 'cat /proc/bus/input/devices' or see your xbmc log file to find the names of -->
30 <!-- detected joysticks. The name used in the configuration should match the detected name. -->
33 <!-- 'id' is the button ID used by SDL. Joystick button ids of connected joysticks appear -->
34 <!-- in xbmc.log when they are pressed. Use your log to map custom buttons to actions. -->
36 <!-- Axis Ids / Analog Controls -->
40 <joystick name="Harmony">
41 <!-- up --> <button id="1">Up</button>
42 <!-- minus --> <button id="2">Down</button>
43 <!-- left --> <button id="3">Left</button>
44 <!-- right --> <button id="4">Right</button>
45 <!-- OK --> <button id="5">Select</button>
46 <!-- menu --> <button id="6">ContextMenu</button>
47 <!-- hold play --> <button id="7">Fullscreen</button>
48 <!-- hold menu --> <button id="8">ContextMenu</button>
49 <!-- hold right --> <button id="9">Right</button>
50 <!-- hold left --> <button id="10">Left</button>
51 <!-- Stop --> <button id="15">Stop</button>
52 <!-- Stop Hold --> <button id="17"/>
53 <!-- Play --> <button id="16">Play</button>
54 <!-- Play Hold --> <button id="18"/>
55 <!-- Replay --> <button id="91">SkipPrevious</button>
56 <!-- Skip --> <button id="92">SkipNext</button>
57 <!-- Record --> <button id="52">Screenshot</button>
58 <!-- Rew --> <button id="41">Rewind</button>
59 <!-- Fwd --> <button id="42">FastForward</button>
60 <!-- Pause --> <button id="26">Pause</button>
61 <!-- Prev --> <button id="32">Back</button>
62 <!-- Guide --> <button id="65">FullScreen</button>
63 <!-- Info --> <button id="31">Info</button>
64 <!-- Exit --> <button id="51">PreviousMenu</button>
65 <!-- Channel Up --> <button id="71">PageUp</button>
66 <!-- Channel Down --> <button id="72">PageDown</button>
67 <!-- looks like buttons below are duplicates of those above
68 Arrow Up <button id="71"></button>
69 Arrow Down <button id="72"></button>
71 <!-- Volume + --> <button id="21">VolumeUp</button>
72 <!-- Volume - --> <button id="22">VolumeDown</button>
73 <!-- 1 --> <button id="11">Number1</button>
74 <!-- 2 --> <button id="12">Number2</button>
75 <!-- 3 --> <button id="13">Number3</button>
76 <!-- 4 --> <button id="14">Number4</button>
77 <!-- 5 --> <button id="23">Number5</button>
78 <!-- 6 --> <button id="24">Number6</button>
79 <!-- 7 --> <button id="33">Number7</button>
80 <!-- 8 --> <button id="34">Number8</button>
81 <!-- 9 --> <button id="43">Number9</button>
82 <!-- 0 --> <button id="44">Number0</button>
83 <!-- * clear --> <button id="45">Back</button>
84 <!-- # enter --> <button id="36">Select</button>
85 <!-- Mute --> <button id="25">Mute</button>
86 <!-- Aspect --> <button id="61">AspectRatio</button>
87 <!-- F1 --> <button id="53">XBMC.ActivateWindow(Music)</button>
88 <!-- F3 --> <button id="55">XBMC.ActivateWindow(videolibrary,tvshowtitles,return)</button>
89 <!-- F2 --> <button id="54">XBMC.ActivateWindow(videolibrary,movietitles,return)</button>
90 <!-- F4 --> <button id="56">XBMC.ActivateWindow(Weather)</button>
91 <!-- F5 --> <button id="93">OSD</button>
92 <!-- F7 --> <button id="95">XBMC.ActivateWindow(Home)</button>
93 <!-- F6 --> <button id="94">XBMC.ActivateWindow(Scripts)</button>
94 <!-- F8 --> <button id="96">XBMC.ActivateWindow(favourites)</button>
95 <!-- F9 --> <button id="73">ShowVideoMenu</button>
96 <!-- F10 --> <button id="74">ShowSubtitles</button>
97 <!-- F11 --> <button id="75">NextSubtitle</button>
98 <!-- F12 --> <button id="76">XBMC.ActivateWindow(VideoFiles)</button>
99 <!-- F13 --> <button id="63">Playlist</button>
100 <!-- F14 --> <button id="64">AudioNextLanguage</button>
101 <!-- Large Down --> <button id="82">PageDown</button>
102 <!-- Large Up --> <button id="81">PageUp</button>
103 <!-- pwrToggle --> <button id="66">XBMC.ShutDown()</button>
104 <!-- Queue --> <button id="62">Queue</button>
105 <!-- Sleep --> <button id="46">XBMC.Suspend()</button>
106 <!-- Red --> <button id="83">CodecInfo</button>
107 <!-- Green --> <button id="84">XBMC.ActivateWindow(Settings)</button>
108 <!-- Yellow --> <button id="85">xbmc.ActivateWindow(SystemSettings)</button>
109 <!-- Blue --> <button id="86">XBMC.ActivateWindow(SystemInfo)</button>
113 <joystick name="Harmony">
114 <!-- menu --> <button id="6">XBMC.ActivateWindow(PlayerControls)</button>
115 <!-- Info --> <button id="31">XBMC.ActivateWindow(Settings)</button>
116 <!-- Exit --> <button id="51">XBMC.ActivateWindow(ShutdownMenu)</button>
117 <!-- #enter --> <button id="36">XBMC.ActivateWindow(SystemInfo)</button>
118 <!-- 1 --> <button id="11">ToggleFullScreen</button>
122 <joystick name="Harmony">
123 <!-- 1 --> <button id="11">Highlight</button>
124 <!-- 4 --> <button id="14">Copy</button>
125 <!-- 7 --> <button id="33">Move</button>
126 <!-- * clear --> <button id="45">Delete</button>
130 <joystick name="Harmony">
131 <!-- * clear --> <button id="45">Delete</button>
132 <!-- Channel Up --> <button id="71">MoveItemUp</button>
133 <!-- Channel Down --> <button id="72">MoveItemDown</button>
137 <joystick name="Harmony">
138 <!-- * clear --> <button id="45">Delete</button>
139 <!-- 1 --> <button id="11">JumpSMS1</button>
140 <!-- 2 --> <button id="12">JumpSMS2</button>
141 <!-- 3 --> <button id="13">JumpSMS3</button>
142 <!-- 4 --> <button id="14">JumpSMS4</button>
143 <!-- 5 --> <button id="23">JumpSMS5</button>
144 <!-- 6 --> <button id="24">JumpSMS6</button>
145 <!-- 7 --> <button id="33">JumpSMS7</button>
146 <!-- 8 --> <button id="34">JumpSMS8</button>
147 <!-- 9 --> <button id="43">JumpSMS9</button>
151 <joystick name="Harmony">
152 <!-- 1 --> <button id="11">JumpSMS1</button>
153 <!-- 2 --> <button id="12">JumpSMS2</button>
154 <!-- 3 --> <button id="13">JumpSMS3</button>
155 <!-- 4 --> <button id="14">JumpSMS4</button>
156 <!-- 5 --> <button id="23">JumpSMS5</button>
157 <!-- 6 --> <button id="24">JumpSMS6</button>
158 <!-- 7 --> <button id="33">JumpSMS7</button>
159 <!-- 8 --> <button id="34">JumpSMS8</button>
160 <!-- 9 --> <button id="43">JumpSMS9</button>
164 <joystick name="Harmony">
165 <!-- up --> <button id="1">ChapterOrBigStepForward</button>
166 <!-- down --> <button id="2">ChapterOrBigStepBack</button>
167 <!-- left --> <button id="3">StepBack</button>
168 <!-- right --> <button id="4">StepForward</button>
169 <!-- menu --> <button id="6">OSD</button>
170 <!-- Prev --> <button id="32">SmallStepBack</button>
171 <!-- Info --> <button id="31">Info</button>
172 <!-- F7 --> <button id="95">NextSubtitle</button>
173 <!-- F6 --> <button id="94">ShowSubtitles</button>
177 <joystick name="Harmony">
178 <!-- up --> <button id="1">ChannelUp</button>
179 <!-- down --> <button id="2">ChannelDown</button>
180 <!-- left --> <button id="3">PreviousChannelGroup</button>
181 <!-- right --> <button id="4">NextChannelGroup</button>
185 <joystick name="Harmony">
186 <!-- Info --> <button id="31">Back</button>
190 <joystick name="Harmony">
191 <!-- menu --> <button id="6">Back</button>
195 <joystick name="Harmony">
196 <!-- up --> <button id="1">IncreaseRating</button>
197 <!-- minus --> <button id="2">DecreaseRating</button>
198 <!-- left --> <button id="3">PreviousPreset</button>
199 <!-- right --> <button id="4">NextPreset</button>
200 <!-- menu --> <button id="6">OSD</button>
201 <!-- Prev --> <button id="32">LockPreset</button>
202 <!-- Info --> <button id="31">Info</button>
203 <!-- F8 --> <button id="96">XBMC.ActivateWindow(VisualisationPresetList)</button>
204 <!-- F9 --> <button id="73">XBMC.ActivateWindow(VisualisationSettings)</button>
208 <joystick name="Harmony">
209 <!-- menu --> <button id="6">Back</button>
210 <!-- Info --> <button id="31">CodecInfo</button>
213 <VisualisationSettings>
214 <joystick name="Harmony">
215 <!-- menu --> <button id="6">Back</button>
217 </VisualisationSettings>
218 <VisualisationPresetList>
219 <joystick name="Harmony">
220 <!-- menu --> <button id="6">Back</button>
222 </VisualisationPresetList>
224 <joystick name="Harmony">
225 <!-- 1 --> <button id="11">ZoomLevel1</button>
226 <!-- 2 --> <button id="12">ZoomLevel2</button>
227 <!-- 3 --> <button id="13">ZoomLevel3</button>
228 <!-- 4 --> <button id="14">ZoomLevel4</button>
229 <!-- 5 --> <button id="23">ZoomLevel5</button>
230 <!-- 6 --> <button id="24">ZoomLevel6</button>
231 <!-- 7 --> <button id="33">ZoomLevel7</button>
232 <!-- 8 --> <button id="34">ZoomLevel8</button>
233 <!-- 9 --> <button id="43">ZoomLevel9</button>
234 <!-- 0 --> <button id="44">ZoomNormal</button>
235 <!-- Skip --> <button id="92">NextPicture</button>
236 <!-- Replay --> <button id="91">PreviousPicture</button>
237 <!-- Info --> <button id="31">Info</button>
238 <!-- OK --> <button id="5">Rotate</button>
242 <joystick name="Harmony">
243 <!-- OK --> <button id="5">NextCalibration</button>
244 <!-- 0 --> <button id="44">ResetCalibration</button>
245 <!-- # enter --> <button id="36">NextCalibration</button>
246 <!-- Guide --> <button id="65">NextResolution</button>
250 <joystick name="Harmony">
251 <!-- OK --> <button id="5">NextCalibration</button>
252 <!-- 0 --> <button id="44">ResetCalibration</button>
253 <!-- # enter --> <button id="36">NextCalibration</button>
257 <joystick name="Harmony">
258 <!-- menu --> <button id="6">Back</button>
262 <joystick name="Harmony">
263 <!-- menu --> <button id="6">OSD</button>
264 <!-- Info --> <button id="31">Info</button>
268 <joystick name="Harmony">
269 <!-- menu --> <button id="6">Back</button>
273 <joystick name="Harmony">
274 <!-- menu --> <button id="6">Back</button>
278 <joystick name="Harmony">
279 <!-- menu --> <button id="6">Back</button>
280 <!-- * clear --> <button id="45">Delete</button>
284 <joystick name="Harmony">
285 <!-- * clear --> <button id="45">Delete</button>
286 <!-- # enter --> <button id="36">ToggleWatched</button>
287 <!-- 1 --> <button id="11">JumpSMS1</button>
288 <!-- 2 --> <button id="12">JumpSMS2</button>
289 <!-- 3 --> <button id="13">JumpSMS3</button>
290 <!-- 4 --> <button id="14">JumpSMS4</button>
291 <!-- 5 --> <button id="23">JumpSMS5</button>
292 <!-- 6 --> <button id="24">JumpSMS6</button>
293 <!-- 7 --> <button id="33">JumpSMS7</button>
294 <!-- 8 --> <button id="34">JumpSMS8</button>
295 <!-- 9 --> <button id="43">JumpSMS9</button>
299 <joystick name="Harmony">
300 <!-- * clear --> <button id="45">Delete</button>
301 <!-- 1 --> <button id="11">JumpSMS1</button>
302 <!-- 2 --> <button id="12">JumpSMS2</button>
303 <!-- 3 --> <button id="13">JumpSMS3</button>
304 <!-- 4 --> <button id="14">JumpSMS4</button>
305 <!-- 5 --> <button id="23">JumpSMS5</button>
306 <!-- 6 --> <button id="24">JumpSMS6</button>
307 <!-- 7 --> <button id="33">JumpSMS7</button>
308 <!-- 8 --> <button id="34">JumpSMS8</button>
309 <!-- 9 --> <button id="43">JumpSMS9</button>
313 <joystick name="Harmony">
314 <!-- * clear --> <button id="45">Delete</button>
315 <!-- Channel Up --> <button id="71">MoveItemUp</button>
316 <!-- Channel Down --> <button id="72">MoveItemDown</button>
320 <joystick name="Harmony">
321 <!-- Prev --> <button id="32">BackSpace</button>
322 <!-- * clear --> <button id="45">Shift</button>
323 <!-- # enter --> <button id="36">Symbols</button>
324 <!-- 1 --> <button id="11">Number1</button>
325 <!-- 2 --> <button id="12">Number2</button>
326 <!-- 3 --> <button id="13">Number3</button>
327 <!-- 4 --> <button id="14">Number4</button>
328 <!-- 5 --> <button id="23">Number5</button>
329 <!-- 6 --> <button id="24">Number6</button>
330 <!-- 7 --> <button id="33">Number7</button>
331 <!-- 8 --> <button id="34">Number8</button>
332 <!-- 9 --> <button id="43">Number9</button>
333 <!-- 0 --> <button id="44">Number0</button>
334 <!-- Rew --> <button id="41">CursorLeft</button>
335 <!-- Fwd --> <button id="42">CursorRight</button>
339 <joystick name="Harmony">
340 <!-- Info --> <button id="31">info</button>
344 <joystick name="Harmony">
345 <!-- 1 --> <button id="11">Number1</button>
346 <!-- 2 --> <button id="12">Number2</button>
347 <!-- 3 --> <button id="13">Number3</button>
348 <!-- 4 --> <button id="14">Number4</button>
349 <!-- 5 --> <button id="23">Number5</button>
350 <!-- 6 --> <button id="24">Number6</button>
351 <!-- 7 --> <button id="33">Number7</button>
352 <!-- 8 --> <button id="34">Number8</button>
353 <!-- 9 --> <button id="43">Number9</button>
354 <!-- 0 --> <button id="44">Number0</button>
355 <!-- Prev --> <button id="32">BackSpace</button>
359 <joystick name="Harmony">
360 <!-- menu --> <button id="6">Back</button>
364 <joystick name="Harmony">
365 <!-- menu --> <button id="6">Back</button>
369 <joystick name="Harmony">
370 <!-- menu --> <button id="6">Back</button>
374 <joystick name="Harmony">
375 <!-- menu --> <button id="6">Back</button>
379 <joystick name="Harmony">
380 <!-- Replay --> <button id="91">PreviousPicture</button>
381 <!-- Skip --> <button id="92">NextPicture</button>
382 <!-- Info --> <button id="31">Back</button>