Skip to content

Instantly share code, notes, and snippets.

@tvon
Created June 28, 2016 23:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tvon/743f41620c67379d8b731c472f32b4d7 to your computer and use it in GitHub Desktop.
Save tvon/743f41620c67379d8b731c472f32b4d7 to your computer and use it in GitHub Desktop.
<?xml version="1.0" encoding="UTF-8"?>
<!-- This file contains the mappings for a Microsoft Xbox One Controller to actions within XBMC -->
<!-- The drivers for Linux and Windows do not always match. Mappings for Win32 will be presented -->
<!-- first, with Linux alts second. -->
<!-- The <global> section is a fall through - they will only be used if the button is not -->
<!-- used in the current window's section. Note that there is only handling -->
<!-- for a single action per button at this stage. -->
<!-- The format of a mapping is: -->
<!-- <device name="name"> -->
<!-- <button id="x">action</button> -->
<!-- <axis id="x" limit="y">action</axis> -->
<!-- <hat id="1" position="left">action</hat> -->
<!-- </device> -->
<!-- Note that the action can be a built-in function. -->
<!-- eg <button id="x">ActivateWindow(Home)</button> -->
<!-- would automatically go to Home on the press of button 'x'. -->
<!-- Joystick Name: Xbox One Wireless Receiver -->
<!-- Button Mappings in Windows: -->
<!-- -->
<!-- ID Button -->
<!-- -->
<!-- 1 A -->
<!-- 2 B -->
<!-- 3 X -->
<!-- 4 Y -->
<!-- 5 Left Sholder -->
<!-- 6 Right Sholder -->
<!-- 7 Back -->
<!-- 8 Start -->
<!-- 9 Left Stick Button -->
<!-- 10 Right Stick Button -->
<!-- 11 D-Pad Up -->
<!-- 12 D-Pad Down -->
<!-- 13 D-Pad Left -->
<!-- 14 D-Pad Right -->
<!-- 15 Back -->
<!-- Axis Mappings: -->
<!-- -->
<!-- ID Button -->
<!-- -->
<!-- 1 Left Stick L/R -->
<!-- 2 Left Stick U/D -->
<!-- 3 limit +1 Left Trigger -->
<!-- 3 limit -1 Right Trigger -->
<!-- 4 Right Stick L/R -->
<!-- 5 Right Stick U/D -->
<!-- Hat Mappings for some drivers: -->
<!-- -->
<!-- ID Position Button -->
<!-- -->
<!-- 1 up D-Pad Up -->
<!-- 1 down D-Pad Down -->
<!-- 1 left D-Pad Left -->
<!-- 1 right D-Pad Right -->
<keymap>
<global>
<joystick name="Controller (Xbox One For Windows)">
<!-- A selects. B goes back. X gets context menu. Y goes fullscreen and back. -->
<button id="1">Select</button>
<button id="2">Back</button>
<button id="3">ContextMenu</button>
<button id="4">FullScreen</button>
<!--Left Shoulder Queues videos. Right shoulder displays the current queue. -->
<button id="5">Queue</button>
<button id="6">Playlist</button>
<button id="7">PreviousMenu</button>
<button id="8">ActivateWindow(Home)</button>
<!-- Left stick click activates the shutdown menu. -->
<button id="9">ActivateWindow(ShutdownMenu)</button>
<button id="10">ActivateWindow(PlayerControls)</button>
<button id="11">Up</button>
<button id="12">Down</button>
<button id="13">Left</button>
<button id="14">Right</button>
<button id="15">PreviousMenu</button>
<axis id="1" limit="-1">AnalogSeekBack</axis>
<axis id="1" limit="+1">AnalogSeekForward</axis>
<axis id="2" limit="-1">AnalogSeekForward</axis>
<axis id="2" limit="+1">AnalogSeekBack</axis>
<axis id="3" trigger="true" rest="-32768">ScrollUp</axis>
<axis id="6" trigger="true" rest="-32768">ScrollDown</axis>
<!-- Push up on the right stick for volueme up. Push down for volume down. -->
<axis id="5" limit="-1">VolumeUp</axis>
<axis id="5" limit="+1">VolumeDown</axis>
<axis id="4" limit="-1">VolumeDown</axis>
<axis id="4" limit="+1">VolumeUp</axis>
<hat id="1" position="up">Up</hat>
<hat id="1" position="down">Down</hat>
<hat id="1" position="left">Left</hat>
<hat id="1" position="right">Right</hat>
</joystick>
</global>
<Home>
<joystick name="Controller (Xbox One For Windows)">
<button id="8">Skin.ToggleSetting(HomeViewToggle)</button>
<axis id="3" trigger="true" rest="-32768">Left</axis>
<axis id="6" trigger="true" rest="-32768">Right</axis>
</joystick>
</Home>
<MyFiles>
<joystick name="Controller (Xbox One For Windows)">
<button id="6">Highlight</button>
</joystick>
</MyFiles>
<MyMusicPlaylist>
<joystick name="Controller (Xbox One For Windows)">
<button id="5">Delete</button>
</joystick>
</MyMusicPlaylist>
<MyMusicFiles>
</MyMusicFiles>
<MyMusicLibrary>
<joystick name="Controller (Xbox One For Windows)">
<button id="4">Queue</button>
<button id="6">Info</button>
</joystick>
</MyMusicLibrary>
<FullscreenVideo>
<joystick name="Controller (Xbox One For Windows)">
<!--
A pauses and starts the video.
B stops the video.
X opens the onscreen display.
Y switches in and out of full screen
-->
<button id="1">Pause</button>
<button id="2">Stop</button>
<button id="3">OSD</button>
<!--
Left shoulder changes aspect ratio.
Right shoulder changes subtitles.
Right stick changes Audio Language.
Start button displays info.
-->
<button id="5">AspectRatio</button>
<button id="6">ShowSubtitles</button>
<button id="7">Seek(-7)</button><!-- Replaces smallstepback -->
<button id="8">Info</button>
<button id="10">AudioNextLanguage</button>
<button id="11">ChapterOrBigStepForward</button>
<button id="12">ChapterOrBigStepBack</button>
<button id="13">StepBack</button>
<button id="14">StepForward</button>
<!-- D-pad does what you'd expect. Triggers fast forward and rewind. Left stick scans forward and back. -->
<axis id="3">AnalogRewind</axis>
<axis id="6">AnalogFastForward</axis>
<hat id="1" position="up">ChapterOrBigStepForward</hat>
<hat id="1" position="down">ChapterOrBigStepBack</hat>
<hat id="1" position="left">StepBack</hat>
<hat id="1" position="right">StepForward</hat>
</joystick>
</FullscreenVideo>
<FullscreenLiveTV>
<joystick name="Controller (Xbox One For Windows)">
<button id="11">ChannelUp</button>
<button id="12">ChannelDown</button>
<button id="13">StepBack</button>
<button id="14">StepForward</button>
<hat id="1" position="up">ChannelUp</hat>
<hat id="1" position="down">ChannelDown</hat>
<hat id="1" position="left">StepBack</hat>
<hat id="1" position="right">StepForward</hat>
</joystick>
</FullscreenLiveTV>
<FullscreenRadio>
<joystick name="Controller (Xbox One For Windows)">
<button id="11">ChannelUp</button>
<button id="12">ChannelDown</button>
<button id="13">StepBack</button>
<button id="14">StepForward</button>
<hat id="1" position="up">ChannelUp</hat>
<hat id="1" position="down">ChannelDown</hat>
<hat id="1" position="left">StepBack</hat>
<hat id="1" position="right">StepForward</hat>
</joystick>
</FullscreenRadio>
<FullscreenInfo>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">Close</button>
<button id="3">OSD</button>
<button id="8">Close</button>
<axis id="3">AnalogRewind</axis>
<axis id="6">AnalogFastForward</axis>
</joystick>
</FullscreenInfo>
<PlayerControls>
<joystick name="Controller (Xbox One For Windows)">
<button id="3">Close</button>
<button id="9">Close</button>
<button id="10">Close</button>
</joystick>
</PlayerControls>
<Visualisation>
<joystick name="Controller (Xbox One For Windows)">
<button id="1">Pause</button>
<button id="2">Stop</button>
<button id="3">ActivateWindow(MusicOSD)</button>
<button id="5">ActivateWindow(VisualisationPresetList)</button>
<button id="6">Info</button>
<button id="10">ActivateWindow(MusicOSD)</button>
<button id="11">SkipNext</button>
<button id="12">SkipPrevious</button>
<button id="13">PreviousPreset</button>
<button id="14">NextPreset</button>
<axis id="3">AnalogRewind</axis>
<axis id="6">AnalogFastForward</axis>
<hat id="1" position="up">SkipNext</hat>
<hat id="1" position="down">SkipPrevious</hat>
<hat id="1" position="left">StepBack</hat>
<hat id="1" position="right">StepForward</hat>
</joystick>
</Visualisation>
<MusicOSD>
<joystick name="Controller (Xbox One For Windows)">
<button id="3">Close</button>
<button id="6">Info</button>
</joystick>
</MusicOSD>
<VisualisationSettings>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">Close</button>
</joystick>
</VisualisationSettings>
<VisualisationPresetList>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">Close</button>
</joystick>
</VisualisationPresetList>
<SlideShow>
<joystick name="Controller (Xbox One For Windows)">
<button id="1">Pause</button>
<button id="2">Stop</button>
<button id="4">ZoomNormal</button>
<button id="5">Rotate</button>
<button id="6">CodecInfo</button>
<button id="11">ZoomIn</button>
<button id="12">ZoomOut</button>
<button id="13">PreviousPicture</button>
<button id="14">NextPicture</button>
<axis id="1">AnalogMoveX</axis>
<axis id="2">AnalogMoveY</axis>
<axis id="3">ZoomOut</axis>
<axis id="6">ZoomIn</axis>
<hat id="1" position="up">ZoomIn</hat>
<hat id="1" position="down">ZoomOut</hat>
<hat id="1" position="left">PreviousPicture</hat>
<hat id="1" position="right">NextPicture</hat>
</joystick>
</SlideShow>
<ScreenCalibration>
<joystick name="Controller (Xbox One For Windows)">
<button id="3">ResetCalibration</button>
<button id="5">NextResolution</button>
<button id="6">NextCalibration</button>
</joystick>
</ScreenCalibration>
<GUICalibration>
<joystick name="Controller (Xbox One For Windows)">
<button id="3">ResetCalibration</button>
<button id="5">NextResolution</button>
<button id="6">NextCalibration</button>
</joystick>
</GUICalibration>
<VideoOSD>
<joystick name="Controller (Xbox One For Windows)">
<button id="3">Close</button>
</joystick>
</VideoOSD>
<VideoMenu>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">Stop</button>
<button id="3">OSD</button>
<button id="5">AspectRatio</button>
<button id="8">Info</button>
</joystick>
</VideoMenu>
<OSDVideoSettings>
<joystick name="Controller (Xbox One For Windows)">
<button id="5">AspectRatio</button>
<button id="3">Close</button>
</joystick>
</OSDVideoSettings>
<OSDAudioSettings>
<joystick name="Controller (Xbox One For Windows)">
<button id="5">AspectRatio</button>
<button id="3">Close</button>
</joystick>
</OSDAudioSettings>
<VideoBookmarks>
<joystick name="Controller (Xbox One For Windows)">
<button id="5">Delete</button>
</joystick>
</VideoBookmarks>
<MyVideoLibrary>
<joystick name="Controller (Xbox One For Windows)">
</joystick>
</MyVideoLibrary>
<MyVideoFiles>
</MyVideoFiles>
<MyVideoPlaylist>
<joystick name="Controller (Xbox One For Windows)">
<button id="5">Delete</button>
</joystick>
</MyVideoPlaylist>
<VirtualKeyboard>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">BackSpace</button>
<button id="4">Symbols</button>
<button id="5">Shift</button>
<button id="9">Enter</button>
<axis id="3">CursorLeft</axis>
<axis id="6">CursorRight</axis>
</joystick>
</VirtualKeyboard>
<ContextMenu>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">Close</button>
<button id="3">Close</button>
</joystick>
</ContextMenu>
<Scripts>
<joystick name="Controller (Xbox One For Windows)">
<button id="3">ContextMenu</button>
</joystick>
</Scripts>
<Settings>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">PreviousMenu</button>
</joystick>
</Settings>
<AddonInformation>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">Close</button>
</joystick>
</AddonInformation>
<AddonSettings>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">Close</button>
</joystick>
</AddonSettings>
<TextViewer>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">Close</button>
</joystick>
</TextViewer>
<shutdownmenu>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">PreviousMenu</button>
<button id="9">PreviousMenu</button>
</joystick>
</shutdownmenu>
<submenu>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">PreviousMenu</button>
</joystick>
</submenu>
<MusicInformation>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">Close</button>
<button id="6">Close</button>
</joystick>
</MusicInformation>
<MovieInformation>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">Close</button>
</joystick>
</MovieInformation>
<NumericInput>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">BackSpace</button>
<button id="9">Enter</button>
</joystick>
</NumericInput>
<GamepadInput>
<joystick name="Controller (Xbox One For Windows)">
<button id="9">Stop</button>
</joystick>
</GamepadInput>
<LockSettings>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">PreviousMenu</button>
<button id="9">Close</button>
</joystick>
</LockSettings>
<ProfileSettings>
<joystick name="Controller (Xbox One For Windows)">
<button id="2">PreviousMenu</button>
<button id="9">Close</button>
</joystick>
</ProfileSettings>
</keymap>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment