[Shield Android TV Q&A, Help & Troubleshooting] Neo3D:
Here's my joystick/controller keymap. All the functions should be self explanatory. Feel free to try it and build upon it to make it better!

<?xml version="1.0" encoding="UTF-8"?>
<!-- Button Mappings : -->
<!-- -->
<!-- ID Button -->
<!-- -->
<!-- 1 A -->
<!-- 2 B -->
<!-- 3 X -->
<!-- 4 Y -->
<!-- 5 Left Shoulder -->
<!-- 6 Right Shoulder -->
<!-- 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 -->

<keymap>
<global>
<joystick>
<!-- 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">Info</button>
<button id="5"></button>
<button id="6"></button>
<button id="7">Notification(button pressed,7)</button>
<button id="8">RunScript("script.trailer.shortcut")</button>
<!-- Left stick click activates the shutdown menu. -->
<button id="9">Queue</button>
<button id="10">Queue</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">Up</axis>
<axis id="1" limit="+1">Down</axis>
<axis id="2" limit="-1">Left</axis>
<axis id="2" limit="+1">Right</axis>
<axis id="3" limit="+1">ScrollUp</axis>
<axis id="3" limit="-1">ScrollDown</axis>
<!-- Push up on the right stick for volueme up. Push down for volume down. -->
<axis id="5" limit="-1">PageUp</axis>
<axis id="5" limit="+1">PageDown</axis>
<axis id="4" limit="-1">PrevLetter</axis>
<axis id="4" limit="+1">NextLetter</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>
<button id="8">Skin.ToggleSetting(HomeViewToggle)</button>
</joystick>
</Home>
<MyFiles>
<joystick>
<button id="6">Highlight</button>
</joystick>
</MyFiles>
<MyMusicPlaylist>
<joystick>
<button id="5">Delete</button>
</joystick>
</MyMusicPlaylist>
<MyMusicFiles>
</MyMusicFiles>
<MyMusicLibrary>
</MyMusicLibrary>
<FullscreenVideo>
<joystick>
<!--
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">PlayPause</button>
<button id="2">Stop</button>
<button id="3">OSD</button>
<button id="4">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="8">PlayPause</button>
<button id="9">ZoomOut</button>
<button id="10">ZoomIn</button>
<button id="11">BigStepForward</button>
<button id="12">BigStepBack</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="1" limit="+1">volampdown</axis>
<axis id="1" limit="-1">volampup</axis>
<axis id="2" limit="+1">FastForward</axis>
<axis id="2" limit="-1">Rewind</axis>
<axis id="4" limit="+1"></axis>
<axis id="4" limit="-1"></axis>
<axis id="5" limit="+1">NextSubtitle</axis>
<axis id="5" limit="-1">info</axis>
<hat id="1" position="up">BigStepForward</hat>
<hat id="1" position="down">BigStepBack</hat>
<hat id="1" position="left">StepBack</hat>
<hat id="1" position="right">StepForward</hat>
</joystick>
</FullscreenVideo>
<FullscreenLiveTV>
<joystick>
<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>
<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>
<button id="2">Close</button>
<button id="3">OSD</button>
<button id="8">Close</button>
<axis id="3" limit="+1">AnalogRewind</axis>
<axis id="3" limit="-1">AnalogFastForward</axis>
</joystick>
</FullscreenInfo>
<PlayerControls>
<joystick>
<button id="3">Close</button>
<button id="9">Close</button>
<button id="10">Close</button>
</joystick>
</PlayerControls>
<Visualisation>
<joystick>
<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" limit="+1">AnalogRewind</axis>
<axis id="3" limit="-1">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>
<button id="3">Close</button>
<button id="6">Info</button>
</joystick>
</MusicOSD>
<VisualisationSettings>
<joystick>
<button id="2">Close</button>
</joystick>
</VisualisationSettings>
<VisualisationPresetList>
<joystick>
<button id="2">Close</button>
</joystick>
</VisualisationPresetList>
<SlideShow>
<joystick>
<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">AnalogMove</axis>
<axis id="2">AnalogMove</axis>
<axis id="3" limit="+1">ZoomOut</axis>
<axis id="3" limit="-1">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>
<button id="3">ResetCalibration</button>
<button id="5">NextResolution</button>
<button id="6">NextCalibration</button>
</joystick>
</ScreenCalibration>
<GUICalibration>
<joystick>
<button id="3">ResetCalibration</button>
<button id="5">NextResolution</button>
<button id="6">NextCalibration</button>
</joystick>
</GUICalibration>
<VideoOSD>
<joystick>
<button id="3">Close</button>
</joystick>
</VideoOSD>
<VideoMenu>
<joystick>
<button id="2">Stop</button>
<button id="3">OSD</button>
<button id="5">AspectRatio</button>
<button id="8">Info</button>
</joystick>
</VideoMenu>
<OSDVideoSettings>
<joystick>
<button id="5">AspectRatio</button>
<button id="3">Close</button>
</joystick>
</OSDVideoSettings>
<OSDAudioSettings>
<joystick>
<button id="5">AspectRatio</button>
<button id="3">Close</button>
</joystick>
</OSDAudioSettings>
<VideoBookmarks>
<joystick>
<button id="5">Delete</button>
</joystick>
</VideoBookmarks>
<MyVideoLibrary>
</MyVideoLibrary>
<MyVideoFiles>
</MyVideoFiles>
<MyVideoPlaylist>
<joystick>
<button id="5">Delete</button>
</joystick>
</MyVideoPlaylist>
<VirtualKeyboard>
<joystick>
<button id="2">BackSpace</button>
<button id="4">Symbols</button>
<button id="5">Shift</button>
<button id="9">Enter</button>
<button id="3">VoiceRecognizer</button>
<axis id="3" limit="+1">CursorLeft</axis>
<axis id="3" limit="-1">CursorRight</axis>
</joystick>
</VirtualKeyboard>
<ContextMenu>
<joystick>
<button id="2">Close</button>
<button id="3">Close</button>
</joystick>
</ContextMenu>
<Scripts>
<joystick>
<button id="3">Info</button>
</joystick>
</Scripts>
<Settings>
<joystick>
<button id="2">PreviousMenu</button>
</joystick>
</Settings>
<AddonInformation>
<joystick>
<button id="2">Close</button>
</joystick>
</AddonInformation>
<AddonSettings>
<joystick>
<button id="2">Close</button>
</joystick>
</AddonSettings>
<TextViewer>
<joystick>
<button id="2">Close</button>
</joystick>
</TextViewer>
<shutdownmenu>
<joystick>
<button id="2">PreviousMenu</button>
<button id="9">PreviousMenu</button>
</joystick>
</shutdownmenu>
<submenu>
<joystick>
<button id="2">PreviousMenu</button>
</joystick>
</submenu>
<MusicInformation>
<joystick>
<button id="2">Close</button>
</joystick>
</MusicInformation>
<MovieInformation>
<joystick>
<button id="2">Close</button>
</joystick>
</MovieInformation>
<NumericInput>
<joystick>
<button id="2">BackSpace</button>
<button id="9">Enter</button>
</joystick>
</NumericInput>
<GamepadInput>
<joystick>
<button id="9">Stop</button>
</joystick>
</GamepadInput>
<LockSettings>
<joystick>
<button id="2">PreviousMenu</button>
<button id="9">Close</button>
</joystick>
</LockSettings>
<ProfileSettings>
<joystick>
<button id="2">PreviousMenu</button>
<button id="9">Close</button>
</joystick>
</ProfileSettings>
</keymap>

You must install the attached zip file in order for the one touch movie trailers feature to work.

I really love using my controller with Kodi/SPMC now!! :D