XBMC will be renamed to Kodi for v14. Read here for more details
Various pages on the wiki might contain old references to "XBMC", but will most often still apply to "Kodi". Find out how you can help here.

Keymap

From Kodi
(Difference between revisions)
Jump to: navigation, search
(16 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{outdated}}
+
{{Keyboard navigation}}
{{GoToParent|Parent=The UserData Folder}}
+
{{cleanup}}
'''Keymap.xml''' is a [[w:XML|XML]] base keymaps file that define the mappings of keys (keyboard keys, mouse/remote/joysticks buttons and more) to XBMC actions.
+
{{XBMC wiki toc}}
[[Keyboard.xml]]
+
'''Keyboard.xml''' is a [[w:XML|XML]] base keymap file that define the mappings of keys (keyboard keys, mouse/remote/joysticks buttons and more) to XBMC actions. Keyboard.xml was first introduced in XBMC 10("Dharma"), in versions prior to that it was called [[Keymap.xml]].
  
 
== Introduction ==
 
== Introduction ==
 +
In XBMC 10.0 (and higher), keymap configuration files are located in the following directories:
  
 
+
{| class="wikitable"  
 
+
|-  
In XBMC 9.11 (and higher), keymap configuration files are located in the following directories:
+
| '''OS'''
 
+
| '''Global (applies to all users)'''
{| class="usertable" border="1"
+
| '''User (applies to a specific user)'''
|- class="userrow"
+
|-  
| class="usercell" | '''OS'''
+
| Linux
| class="usercell" | '''Global (applies to all users)'''
+
| (installation directory)/system/keymaps/
| class="usercell" | '''User (applies to a specific user)'''
+
| $home/.xbmc/userdata/keymaps/
|- class="userrow"
+
|-  
| class="usercell" | Linux
+
| Windows
| class="usercell" | (installation directory)/system/keymaps/
+
| (installation directory)\system\keymaps\
| class="usercell" | $home/.xbmc/userdata/keymaps/
+
| %APPDATA%\XBMC\userdata\keymaps\
|- class="userrow"
+
|-  
| class="usercell" | Windows
+
| Windows Portable Mode
| class="usercell" | (installation directory)\system\keymaps\
+
| (installation directory)\system\keymaps\
| class="usercell" | %APPDATA%\XBMC\userdata\keymaps\
+
|   -
|- class="userrow"
+
| class="usercell" | Windows Portable Mode
+
| class="usercell" | (installation directory)\system\keymaps\
+
| class="usercell" |  -
+
 
|}
 
|}
  
Line 46: Line 43:
  
 
[https://github.com/xbmc/xbmc/tree/master/system/keymaps Default keymaps shipped with xbmc]
 
[https://github.com/xbmc/xbmc/tree/master/system/keymaps Default keymaps shipped with xbmc]
 
In versions prior to 9.11, keymap configuration was handled by the keymap.xml file.
 
  
 
== Structure ==
 
== Structure ==
Line 124: Line 119:
 
</remote>
 
</remote>
 
</source>
 
</source>
 
The following buttons are available:
 
 
{| class="wikitable"
 
|- class="userrow"
 
| class="usercell" | '''Button String'''
 
| class="usercell" | [[Xbox DVD-Remote|'''Button On Original XBOX Remote''']]
 
| class="usercell" | [[Xbox Media Extender Remote|'''Button On Media Extender Remote''']]
 
| class="usercell" | '''Remote Code (Shown with [[AdvancedSettings.xml#.3Cloglevel.3E|<loglevel>]])'''
 
|- class="userrow"
 
| class="usercell" | left
 
| class="usercell" | Left
 
| class="usercell" | Left
 
| class="usercell" | 86
 
|- class="userrow"
 
| class="usercell" | right
 
| class="usercell" | Right
 
| class="usercell" | Right
 
| class="usercell" | 87
 
|- class="userrow"
 
| class="usercell" | up
 
| class="usercell" | Up
 
| class="usercell" | Up
 
| class="usercell" | 89
 
|- class="userrow"
 
| class="usercell" | down
 
| class="usercell" | Down
 
| class="usercell" | Down
 
| class="usercell" | 88
 
|- class="userrow"
 
| class="usercell" | select
 
| class="usercell" | Select
 
| class="usercell" | OK or Enter
 
| class="usercell" | 244
 
|- class="userrow"
 
| class="usercell" | back
 
| class="usercell" | Back
 
| class="usercell" | Back
 
| class="usercell" | 39
 
|- class="userrow"
 
| class="usercell" | menu
 
| class="usercell" | Menu
 
| class="usercell" | DVD Menu
 
| class="usercell" | 8
 
|- class="userrow"
 
| class="usercell" | info
 
| class="usercell" | Info
 
| class="usercell" | More (Has an 'I' on it)
 
| class="usercell" | 60
 
|- class="userrow"
 
| class="usercell" | display
 
| class="usercell" | Display
 
| class="usercell" | XBOX (Bottom)
 
| class="usercell" | 42
 
|- class="userrow"
 
| class="usercell" | title
 
| class="usercell" | Title
 
| class="usercell" | Guide
 
| class="usercell" | 26
 
|- class="userrow"
 
| class="usercell" | play
 
| class="usercell" | Play
 
| class="usercell" | Play
 
| class="usercell" | 21
 
|- class="userrow"
 
| class="usercell" | pause
 
| class="usercell" | Pause
 
| class="usercell" | Pause
 
| class="usercell" | 25
 
|- class="userrow"
 
| class="usercell" | reverse
 
| class="usercell" | Reverse
 
| class="usercell" | Rew
 
| class="usercell" | 29
 
|- class="userrow"
 
| class="usercell" | forward
 
| class="usercell" | Forward
 
| class="usercell" | Fwd
 
| class="usercell" | 28
 
|- class="userrow"
 
| class="usercell" | skipplus
 
| class="usercell" | Skip +
 
| class="usercell" | Skip
 
| class="usercell" | 32
 
|- class="userrow"
 
| class="usercell" | skipminus
 
| class="usercell" | Skip -
 
| class="usercell" | Replay
 
| class="usercell" | 34
 
|- class="userrow"
 
| class="usercell" | stop
 
| class="usercell" | Stop
 
| class="usercell" | Stop
 
| class="usercell" | 31
 
|- class="userrow"
 
| class="usercell" | zero
 
| class="usercell" | 0
 
| class="usercell" | 0
 
| class="usercell" | 48
 
|- class="userrow"
 
| class="usercell" | one
 
| class="usercell" | 1
 
| class="usercell" | 1
 
| class="usercell" | 49
 
|- class="userrow"
 
| class="usercell" | two
 
| class="usercell" | 2
 
| class="usercell" | 2
 
| class="usercell" | 50
 
|- class="userrow"
 
| class="usercell" | three
 
| class="usercell" | 3
 
| class="usercell" | 3
 
| class="usercell" | 51
 
|- class="userrow"
 
| class="usercell" | four
 
| class="usercell" | 4
 
| class="usercell" | 4
 
| class="usercell" | 52
 
|- class="userrow"
 
| class="usercell" | five
 
| class="usercell" | 5
 
| class="usercell" | 5
 
| class="usercell" | 53
 
|- class="userrow"
 
| class="usercell" | six
 
| class="usercell" | 6
 
| class="usercell" | 6
 
| class="usercell" | 54
 
|- class="userrow"
 
| class="usercell" | seven
 
| class="usercell" | 7
 
| class="usercell" | 7
 
| class="usercell" | 55
 
|- class="userrow"
 
| class="usercell" | eight
 
| class="usercell" | 8
 
| class="usercell" | 8
 
| class="usercell" | 56
 
|- class="userrow"
 
| class="usercell" | nine
 
| class="usercell" | 9
 
| class="usercell" | 9
 
| class="usercell" | 57
 
|- class="userrow"
 
| class="usercell" | power
 
| class="usercell" | N/A
 
| class="usercell" | Power
 
| class="usercell" | 59
 
|- class="userrow"
 
| class="usercell" | myTV
 
| class="usercell" | N/A
 
| class="usercell" | My TV
 
| class="usercell" | 206
 
|- class="userrow"
 
| class="usercell" | mymusic
 
| class="usercell" | N/A
 
| class="usercell" | My Music
 
| class="usercell" | 246
 
|- class="userrow"
 
| class="usercell" | mypictures
 
| class="usercell" | N/A
 
| class="usercell" | My Pictures
 
| class="usercell" | 249
 
|- class="userrow"
 
| class="usercell" | myvideo
 
| class="usercell" | N/A
 
| class="usercell" | My Video
 
| class="usercell" | 248
 
|- class="userrow"
 
| class="usercell" | record
 
| class="usercell" | N/A
 
| class="usercell" | Record
 
| class="usercell" | 23
 
|- class="userrow"
 
| class="usercell" | start
 
| class="usercell" | N/A
 
| class="usercell" | Start
 
| class="usercell" | 218
 
|- class="userrow"
 
| class="usercell" | volumeplus
 
| class="usercell" | N/A
 
| class="usercell" | Vol +
 
| class="usercell" | 47
 
|- class="userrow"
 
| class="usercell" | volumeminus
 
| class="usercell" | N/A
 
| class="usercell" | Vol -
 
| class="usercell" | 46
 
|- class="userrow"
 
| class="usercell" | channelplus
 
| class="usercell" | N/A
 
| class="usercell" | CH/PG +
 
| class="usercell" | 45
 
|- class="userrow"
 
| class="usercell" | channelminus
 
| class="usercell" | N/A
 
| class="usercell" | CH/PG -
 
| class="usercell" | 44
 
|- class="userrow"
 
| class="usercell" | pageplus
 
| class="usercell" | N/A
 
| class="usercell" | CH/PG +
 
| class="usercell" | 45
 
|- class="userrow"
 
| class="usercell" | pageminus
 
| class="usercell" | N/A
 
| class="usercell" | CH/PG -
 
| class="usercell" | 44
 
|- class="userrow"
 
| class="usercell" | mute
 
| class="usercell" | N/A
 
| class="usercell" | Mute
 
| class="usercell" | 63
 
|- class="userrow"
 
| class="usercell" | recordedtv
 
| class="usercell" | N/A
 
| class="usercell" | Recorded TV
 
| class="usercell" | 154
 
|- class="userrow"
 
| class="usercell" | livetv
 
| class="usercell" | N/A
 
| class="usercell" | Live TV
 
| class="usercell" | 231
 
|- class="userrow"
 
| class="usercell" | star
 
| class="usercell" | N/A
 
| class="usercell" | *
 
| class="usercell" | 215
 
|- class="userrow"
 
| class="usercell" | hash
 
| class="usercell" | N/A
 
| class="usercell" | #
 
| class="usercell" | 214
 
|- class="userrow"
 
| class="usercell" | clear
 
| class="usercell" | N/A
 
| class="usercell" | Clear
 
| class="usercell" | 6
 
|}
 
  
 
=== Universal Remote Section ===
 
=== Universal Remote Section ===
The Xbox uses standard RCA DVD/VCR infrared codes, so if you have a universal remote with a built in device database you can for example use a RCA DVD OFF code to power down the Xbox (this does not require editing the keymap, simply program one of your buttons as RCA DVD off).
 
 
To map Universal Remote buttons using the RCA infrared protocol, you may add '''<universalremote>''' sections to keymap.xml.<br />
 
To map Universal Remote buttons using the RCA infrared protocol, you may add '''<universalremote>''' sections to keymap.xml.<br />
 
In this case, the tags used are <obc#> where # is the original button code (OBC) of the button.<br />
 
In this case, the tags used are <obc#> where # is the original button code (OBC) of the button.<br />
Line 382: Line 136:
 
* '''Note:''' ensure that the <universalremote> section is '''NOT''' added 'within' the <remote> section - it can appear before or after. Otherwise it will not be recognised and produces errors in the logfile.
 
* '''Note:''' ensure that the <universalremote> section is '''NOT''' added 'within' the <remote> section - it can appear before or after. Otherwise it will not be recognised and produces errors in the logfile.
  
'''IMPORTANT:'''<br />
+
Remote keys can be observed in the xbmc.log file ('''~/.xbmc/temp/xbmc.log''' on Linux) when debugging is enabled in the GUI (Settings -> debugging )
XBMC can be put in a test mode to display the code number read when you press a button on your remote by setting [[advancedsettings.xml#<displayremotecodes>|'''<displayremotecodes>''']] to '''true''' in [[advancedsettings.xml]].
+
 
+
Alternatively, remote keys are found in xbmc.log file ('''~/.xbmc/temp/xbmc.log''' on Linux) when debugging is enabled in the GUI (Settings -> debugging )
+
  
 
=== Keyboard Section ===
 
=== Keyboard Section ===
 
 
Valid keyboard keymap syntax includes <keyname>, <key id="">, and <keyname mod="">.
 
Valid keyboard keymap syntax includes <keyname>, <key id="">, and <keyname mod="">.
  
Line 411: Line 161:
  
 
=== Custom Joystick Configuration ===
 
=== Custom Joystick Configuration ===
 
 
Custom joysticks are defined using the following syntax:
 
Custom joysticks are defined using the following syntax:
 
<source lang="xml">
 
<source lang="xml">
Line 444: Line 193:
  
 
{| class="wikitable"  
 
{| class="wikitable"  
|- class="userrow"
+
|-  
| class="usercell" | '''Action'''
+
| '''Action'''
| class="usercell" | '''Description'''
+
| '''Description'''
|- class="userrow"
+
|-  
| class="usercell" | Left
+
| Left
| class="usercell" | Move left off a control.
+
| Move left off a control.
|- class="userrow"
+
|-  
| class="usercell" | Right
+
| Right
| class="usercell" | Move right off a control.  
+
| Move right off a control.  
|- class="userrow"
+
|-  
| class="usercell" | Up  
+
| Up  
| class="usercell" | Move up off a control.
+
| Move up off a control.
|- class="userrow"
+
|-  
| class="usercell" | Down
+
| Down
| class="usercell" | Move down off a control.
+
| Move down off a control.
|- class="userrow"
+
|-  
| class="usercell" | Select
+
| Select
| class="usercell" | Select a button, or an item from a list of thumb view.
+
| Select a button, or an item from a list of thumb view.
|- class="userrow"
+
|-  
| class="usercell" | PageUp
+
| PageUp
| class="usercell" | Scroll up on page in a list, thumb, or text view.
+
| Scroll up on page in a list, thumb, or text view.
|- class="userrow"
+
|-  
| class="usercell" | PageDown
+
| PageDown
| class="usercell" | Scroll down on page in a list, thumb, or text view.
+
| Scroll down on page in a list, thumb, or text view.
|- class="userrow"
+
|-  
| class="usercell" | Highlight
+
| Highlight
| class="usercell" | Highlight an item in a list or thumb view.
+
| Highlight an item in a list or thumb view.
|- class="userrow"
+
|-  
| class="usercell" | ParentDir
+
| ParentDir
| class="usercell" | Go up a folder to the parent folder.
+
| Go up a folder to the parent folder.
|- class="userrow"
+
|-  
| class="usercell" | PreviousMenu
+
| PreviousMenu
| class="usercell" | Go back to the previous menu screen.
+
| Go back to the previous menu screen.
|- class="userrow"
+
|-  
| class="usercell" | Info
+
| Info
| class="usercell" | Show the information about the currently highlighted item, or currently playing item.
+
| Show the information about the currently highlighted item, or currently playing item.
|- class="userrow"
+
|-  
| class="usercell" | Pause
+
| Pause
| class="usercell" | Pause the currently playing item.
+
| Pause the currently playing item.
|- class="userrow"
+
|-  
| class="usercell" | Stop
+
| Stop
| class="usercell" | Stop the currently playing item.
+
| Stop the currently playing item.
|- class="userrow"
+
|-  
| class="usercell" | SkipNext
+
| SkipNext
| class="usercell" | Skip to the next item in a playlist or scene in a video.
+
| Skip to the next item in a playlist or scene in a video.
|- class="userrow"
+
|-  
| class="usercell" | SkipPrevious
+
| SkipPrevious
| class="usercell" | Skip to the previous item in a playlist or scene in a video.
+
| Skip to the previous item in a playlist or scene in a video.
|- class="userrow"
+
|-  
| class="usercell" | FullScreen
+
| FullScreen
| class="usercell" | Toggles fullscreen modes (either visualisation or video playback)
+
| Toggles fullscreen modes (either visualisation or video playback)
|- class="userrow"
+
|-  
| class="usercell" | AspectRatio
+
| AspectRatio
| class="usercell" | Toggle through the various aspect ratio modes (Normal is the preferred option).
+
| Toggle through the various aspect ratio modes (Normal is the preferred option).
|- class="userrow"
+
|-  
| class="usercell" | StepForward
+
| StepForward
| class="usercell" | Step forward 1% in the movie.
+
| Step forward 1% in the movie.
|- class="userrow"
+
|-  
| class="usercell" | StepBack
+
| StepBack
| class="usercell" | Step back 1% in the movie.
+
| Step back 1% in the movie.
|- class="userrow"
+
|-  
| class="usercell" | BigStepForward
+
| BigStepForward
| class="usercell" | Step forward 10% in the movie.
+
| Step forward 10% in the movie.
|- class="userrow"
+
|-  
| class="usercell" | BigStepBack
+
| BigStepBack
| class="usercell" | Step back 10% in the movie.
+
| Step back 10% in the movie.
|- class="userrow"
+
|-  
| class="usercell" | SmallStepBack
+
| SmallStepBack
| class="usercell" | Step back 7 seconds in the current video.
+
| Step back 7 seconds in the current video.
|- class="userrow"
+
|-  
| class="usercell" | OSD
+
| OSD
| class="usercell" | Toggles the OSD while playing an item.
+
| Toggles the OSD while playing an item.
|- class="userrow"
+
|-  
| class="usercell" | PlayDVD
+
| PlayDVD
| class="usercell" | Start playing a DVD (goes to the DVD menu)
+
| Start playing a DVD (goes to the DVD menu)
|- class="userrow"
+
|-  
| class="usercell" | ShowVideoMenu
+
| ShowVideoMenu
| class="usercell" | Go to the DVD Video menu when playing a DVD.
+
| Go to the DVD Video menu when playing a DVD.
|- class="userrow"
+
|-  
| class="usercell" | ShowSubtitles
+
| ShowSubtitles
| class="usercell" | Toggles whether subtitles are shown or not.
+
| Toggles whether subtitles are shown or not.
|- class="userrow"
+
|-  
| class="usercell" | NextSubtitle
+
| NextSubtitle
| class="usercell" | Change to the next subtitle language, if there is more than one.
+
| Change to the next subtitle language, if there is more than one.
|- class="userrow"
+
|-  
| class="usercell" | CodecInfo
+
| CodecInfo
| class="usercell" | Show codec information about the currently playing item (during video or visualisation playback)
+
| Show codec information about the currently playing item (during video or visualisation playback)
|- class="userrow"
+
|-  
| class="usercell" | NextPicture
+
| NextPicture
| class="usercell" | Move to the next picture in a slideshow.
+
| Move to the next picture in a slideshow.
|- class="userrow"
+
|-  
| class="usercell" | PreviousPicture
+
| PreviousPicture
| class="usercell" | Move to the previous picture in a slideshow.
+
| Move to the previous picture in a slideshow.
|- class="userrow"
+
|-  
| class="usercell" | ZoomOut
+
| ZoomOut
| class="usercell" | Used in picture, slideshow or video fullscreen to zoom out of the current image/video.
+
| Used in picture, slideshow or video fullscreen to zoom out of the current image/video.
|- class="userrow"
+
|-  
| class="usercell" | ZoomIn
+
| ZoomIn
| class="usercell" | Used in picture, slideshow or video fullscreen to zoom in to the current image/video.
+
| Used in picture, slideshow or video fullscreen to zoom in to the current image/video.
|- class="userrow"
+
|-  
| class="usercell" | IncreasePAR
+
| IncreasePAR
| class="usercell" | Used in video fullscreen to increase the pixel aspect ratio (stretch).
+
| Used in video fullscreen to increase the pixel aspect ratio (stretch).
|- class="userrow"
+
|-  
| class="usercell" | DecreasePAR
+
| DecreasePAR
| class="usercell" | Used in video fullscreen to decrease the pixel aspect ratio (stretch).
+
| Used in video fullscreen to decrease the pixel aspect ratio (stretch).
|- class="userrow"
+
|-  
| class="usercell" | Queue
+
| Queue
| class="usercell" | Queue the item to the current playlist
+
| Queue the item to the current playlist
|- class="userrow"
+
|-  
| class="usercell" | Playlist
+
| Playlist
| class="usercell" | Toggle to playlist view from My Music or My Videos
+
| Toggle to playlist view from My Music or My Videos
|- class="userrow"
+
|-  
| class="usercell" | ZoomNormal
+
| ZoomNormal
| class="usercell" | Normal (fullscreen) viewing in My Pictures
+
| Normal (fullscreen) viewing in My Pictures
|- class="userrow"
+
|-  
| class="usercell" | ZoomLevel1
+
| ZoomLevel1
| class="usercell" | Zoom to 120% in My Pictures
+
| Zoom to 120% in My Pictures
|- class="userrow"
+
|-  
| class="usercell" | ZoomLevel2
+
| ZoomLevel2
| class="usercell" | Zoom to 150% in My Pictures
+
| Zoom to 150% in My Pictures
|- class="userrow"
+
|-  
| class="usercell" | ZoomLevel3
+
| ZoomLevel3
| class="usercell" | Zoom to 200% in My Pictures
+
| Zoom to 200% in My Pictures
|- class="userrow"
+
|-  
| class="usercell" | ZoomLevel4
+
| ZoomLevel4
| class="usercell" | Zoom to 280% in My Pictures
+
| Zoom to 280% in My Pictures
|- class="userrow"
+
|-  
| class="usercell" | ZoomLevel5
+
| ZoomLevel5
| class="usercell" | Zoom to 400% in My Pictures
+
| Zoom to 400% in My Pictures
|- class="userrow"
+
|-  
| class="usercell" | ZoomLevel6
+
| ZoomLevel6
| class="usercell" | Zoom to 600% in My Pictures
+
| Zoom to 600% in My Pictures
|- class="userrow"
+
|-  
| class="usercell" | ZoomLevel7
+
| ZoomLevel7
| class="usercell" | Zoom to 900% in My Pictures
+
| Zoom to 900% in My Pictures
|- class="userrow"
+
|-  
| class="usercell" | ZoomLevel8
+
| ZoomLevel8
| class="usercell" | Zoom to 1350% in My Pictures
+
| Zoom to 1350% in My Pictures
|- class="userrow"
+
|-  
| class="usercell" | ZoomLevel9
+
| ZoomLevel9
| class="usercell" | Zoom to 2000% in My Pictures
+
| Zoom to 2000% in My Pictures
|- class="userrow"
+
|-  
| class="usercell" | NextCalibration
+
| NextCalibration
| class="usercell" | Used in Video + GUI calibration
+
| Used in Video + GUI calibration
|- class="userrow"
+
|-  
| class="usercell" | ResetCalibration
+
| ResetCalibration
| class="usercell" | Used in Video + GUI calibration
+
| Used in Video + GUI calibration
|- class="userrow"
+
|-  
| class="usercell" | AnalogMove
+
| AnalogMove
| class="usercell" | Move in the calibration screens, and while zoomed in My Pictures.
+
| Move in the calibration screens, and while zoomed in My Pictures.
|- class="userrow"
+
|-  
| class="usercell" | Rotate
+
| Rotate
| class="usercell" | Rotate a picture in My Pictures
+
| Rotate a picture in My Pictures
|- class="userrow"
+
|-  
| class="usercell" | Close
+
| Close
| class="usercell" | Used to close a dialog
+
| Used to close a dialog
|- class="userrow"
+
|-  
| class="usercell" | SubtitleDelayMinus
+
| SubtitleDelayMinus
| class="usercell" | Decrease the delay amount of subtitles (use if subtitles are displaying too late)
+
| Decrease the delay amount of subtitles (use if subtitles are displaying too late)
|- class="userrow"
+
|-  
| class="usercell" | SubtitleDelayPlus
+
| SubtitleDelayPlus
| class="usercell" | Increase the delay amount of subtitles (use if subtitles are displaying too early)
+
| Increase the delay amount of subtitles (use if subtitles are displaying too early)
|- class="userrow"
+
|-  
| class="usercell" | AudioDelayMinus
+
| AudioDelayMinus
| class="usercell" | Decrease the delay amount of audio (use if audio is being heard too early)  
+
| Decrease the delay amount of audio (use if audio is being heard too early)  
|- class="userrow"
+
|-  
| class="usercell" | AudioDelayPlus
+
| AudioDelayPlus
| class="usercell" | Increase the delay amount of audio (use if audio is being heard too late)  
+
| Increase the delay amount of audio (use if audio is being heard too late)  
|- class="userrow"
+
|-  
| class="usercell" | AudioNextLanguage
+
| AudioNextLanguage
| class="usercell" | Change to the next audio track in a video with multiple audio tracks.
+
| Change to the next audio track in a video with multiple audio tracks.
|- class="userrow"
+
|-  
| class="usercell" | NextResolution
+
| NextResolution
| class="usercell" | Used in Video calibration
+
| Used in Video calibration
|- class="userrow"
+
|-  
| class="usercell" | Number0
+
| Number0
| class="usercell" | Used to input the number 0
+
| Used to input the number 0
|- class="userrow"
+
|-  
| class="usercell" | Number1
+
| Number1
| class="usercell" | Used to input the number 1
+
| Used to input the number 1
|- class="userrow"
+
|-  
| class="usercell" | Number2
+
| Number2
| class="usercell" | Used to input the number 2
+
| Used to input the number 2
|- class="userrow"
+
|-  
| class="usercell" | Number3
+
| Number3
| class="usercell" | Used to input the number 3
+
| Used to input the number 3
|- class="userrow"
+
|-  
| class="usercell" | Number4
+
| Number4
| class="usercell" | Used to input the number 4
+
| Used to input the number 4
|- class="userrow"
+
|-  
| class="usercell" | Number5
+
| Number5
| class="usercell" | Used to input the number 5
+
| Used to input the number 5
|- class="userrow"
+
|-  
| class="usercell" | Number6
+
| Number6
| class="usercell" | Used to input the number 6
+
| Used to input the number 6
|- class="userrow"
+
|-  
| class="usercell" | Number7
+
| Number7
| class="usercell" | Used to input the number 7
+
| Used to input the number 7
|- class="userrow"
+
|-  
| class="usercell" | Number8
+
| Number8
| class="usercell" | Used to input the number 8
+
| Used to input the number 8
|- class="userrow"
+
|-  
| class="usercell" | Number9
+
| Number9
| class="usercell" | Used to input the number 9
+
| Used to input the number 9
|- class="userrow"
+
|-  
| class="usercell" | FastForward
+
| FastForward
| class="usercell" | Toggle the fastforward speed between normal play, 2x, 4x, 8x, 16x, and 32x.
+
| Toggle the fastforward speed between normal play, 2x, 4x, 8x, 16x, and 32x.
|- class="userrow"
+
|-  
| class="usercell" | Rewind
+
| Rewind
| class="usercell" | Toggle the rewind speed between normal play, 2x, 4x, 8x, 16x, and 32x.
+
| Toggle the rewind speed between normal play, 2x, 4x, 8x, 16x, and 32x.
|- class="userrow"
+
|-  
| class="usercell" | Play
+
| Play
| class="usercell" | Play the selected item (or folder of items), or unpause a paused item.
+
| Play the selected item (or folder of items), or unpause a paused item.
|- class="userrow"
+
|-  
| class="usercell" | Delete
+
| Delete
| class="usercell" | Used in My Files to delete a file.
+
| Used in My Files to delete a file.
|- class="userrow"
+
|-  
| class="usercell" | Copy
+
| Copy
| class="usercell" | Used in My Files to copy a file.
+
| Used in My Files to copy a file.
|- class="userrow"
+
|-  
| class="usercell" | Move
+
| Move
| class="usercell" | Used in My Files to move a file.
+
| Used in My Files to move a file.
|- class="userrow"
+
|-  
| class="usercell" | Rename
+
| Rename
| class="usercell" | Used in My Files to rename a file.
+
| Used in My Files to rename a file.
|- class="userrow"
+
|-  
| class="usercell" | HideSubmenu
+
| HideSubmenu
| class="usercell" | <depreciated>
+
| <depreciated>
|- class="userrow"
+
|-  
| class="usercell" | Screenshot
+
| Screenshot
| class="usercell" | Take a screenshot of the current screen.
+
| Take a screenshot of the current screen.
|- class="userrow"
+
|-  
| class="usercell" | XBMC.ShutDown()
+
| XBMC.ShutDown()
| class="usercell" | Shutdown and power off
+
| Shutdown and power off
|- class="userrow"
+
|-  
| class="usercell" | VolumeUp
+
| VolumeUp
| class="usercell" | Increase the volume of playback.
+
| Increase the volume of playback.
|- class="userrow"
+
|-  
| class="usercell" | VolumeDown
+
| VolumeDown
| class="usercell" | Decrease the volume of playback.
+
| Decrease the volume of playback.
|- class="userrow"
+
|-  
| class="usercell" | Mute
+
| Mute
| class="usercell" | Mute the volume.
+
| Mute the volume.
|- class="userrow"
+
|-  
| class="usercell" | BackSpace
+
| BackSpace
| class="usercell" | Used in the virtual keyboards to delete one letter.
+
| Used in the virtual keyboards to delete one letter.
|- class="userrow"
+
|-  
| class="usercell" | ScrollUp
+
| ScrollUp
| class="usercell" | Variable speed scroll up for analog keys (stick or triggers)
+
| Variable speed scroll up for analog keys (stick or triggers)
|- class="userrow"
+
|-  
| class="usercell" | ScrollDown
+
| ScrollDown
| class="usercell" | Variable speed scroll down for analog keys (stick or triggers)
+
| Variable speed scroll down for analog keys (stick or triggers)
|- class="userrow"
+
|-  
| class="usercell" | AnalogFastForward
+
| AnalogFastForward
| class="usercell" | Variable speed fast forward for analog keys (stick or triggers)
+
| Variable speed fast forward for analog keys (stick or triggers)
|- class="userrow"
+
|-  
| class="usercell" | AnalogRewind
+
| AnalogRewind
| class="usercell" | Variable speed rewind for analog keys (stick or triggers)
+
| Variable speed rewind for analog keys (stick or triggers)
|- class="userrow"
+
|-  
| class="usercell" | AnalogSeekForward
+
| AnalogSeekForward
| class="usercell" | Variable speed seeking for analog keys (stick or triggers)
+
| Variable speed seeking for analog keys (stick or triggers)
|- class="userrow"
+
|-  
| class="usercell" | AnalogSeekBack
+
| AnalogSeekBack
| class="usercell" | Variable speed seeking for analog keys (stick or triggers)
+
| Variable speed seeking for analog keys (stick or triggers)
|- class="userrow"
+
|-  
| class="usercell" | MoveItemUp
+
| MoveItemUp
| class="usercell" | Used to rearrange playlists
+
| Used to rearrange playlists
|- class="userrow"
+
|-  
| class="usercell" | MoveItemDown
+
| MoveItemDown
| class="usercell" | Used to rearrange playlists
+
| Used to rearrange playlists
|- class="userrow"
+
|-  
| class="usercell" | ContextMenu
+
| ContextMenu
| class="usercell" | Pops up a contextual menu
+
| Pops up a contextual menu
|- class="userrow"
+
|-  
| class="usercell" | Shift
+
| Shift
| class="usercell" | Used in Virtual Keyboard to switch to upper or lower case letters
+
| Used in Virtual Keyboard to switch to upper or lower case letters
|- class="userrow"
+
|-  
| class="usercell" | Symbols
+
| Symbols
| class="usercell" | Used in Virtual Keyboard to switch to or from symbols mode
+
| Used in Virtual Keyboard to switch to or from symbols mode
|- class="userrow"
+
|-  
| class="usercell" | CursorLeft
+
| CursorLeft
| class="usercell" | Used in Virtual Keyboard to move the current cursor point to the left
+
| Used in Virtual Keyboard to move the current cursor point to the left
|- class="userrow"
+
|-  
| class="usercell" | CursorRight
+
| CursorRight
| class="usercell" | Used in Virtual Keyboard to move the current cursor point to the right
+
| Used in Virtual Keyboard to move the current cursor point to the right
|- class="userrow"
+
|-  
| class="usercell" | ShowTime
+
| ShowTime
| class="usercell" | Used to show the current play time in music + video playback
+
| Used to show the current play time in music + video playback
|- class="userrow"
+
|-  
| class="usercell" | ShowPreset
+
| ShowPreset
| class="usercell" | Shows the current visualisation preset (milkdrop/spectrum)
+
| Shows the current visualisation preset (milkdrop/spectrum)
|- class="userrow"
+
|-  
| class="usercell" | PresetList
+
| PresetList
| class="usercell" | Pops up the visualisation preset list (milkdrop/spectrum)
+
| Pops up the visualisation preset list (milkdrop/spectrum)
|- class="userrow"
+
|-  
| class="usercell" | NextPreset
+
| NextPreset
| class="usercell" | Next visualisation preset
+
| Next visualisation preset
|- class="userrow"
+
|-  
| class="usercell" | PreviousPreset
+
| PreviousPreset
| class="usercell" | Previous visualisation preset
+
| Previous visualisation preset
|- class="userrow"
+
|-  
| class="usercell" | LockPreset
+
| LockPreset
| class="usercell" | Lock the current visualisation preset
+
| Lock the current visualisation preset
|- class="userrow"
+
|-  
| class="usercell" | RandomPreset
+
| RandomPreset
| class="usercell" | Switch to a new random preset
+
| Switch to a new random preset
|- class="userrow"
+
|-  
| class="usercell" | IncreaseRating
+
| IncreaseRating
| class="usercell" | Unused
+
| Unused
|- class="userrow"
+
|-  
| class="usercell" | DecreaseRating
+
| DecreaseRating
| class="usercell" | Unused
+
| Unused
|- class="userrow"
+
|-  
| class="usercell" | ToggleWatched
+
| ToggleWatched
| class="usercell" | Toggles watched/unwatched status for Videos
+
| Toggles watched/unwatched status for Videos
|- class="userrow"
+
|-  
| class="usercell" | NextLetter
+
| NextLetter
| class="usercell" | Move to the next letter in a list or thumb panel.  Note that SHIFT-B on the keyboard will take you to the B's.
+
| Move to the next letter in a list or thumb panel.  Note that SHIFT-B on the keyboard will take you to the B's.
|- class="userrow"
+
|-  
| class="usercell" | PrevLetter
+
| PrevLetter
| class="usercell" | Move to the previous letter in a list or thumb panel.  Note that SHIFT-Z on the keyboard will take you to the Z's.
+
| Move to the previous letter in a list or thumb panel.  Note that SHIFT-Z on the keyboard will take you to the Z's.
|- class="userrow"
+
|-  
| class="usercell" | JumpSMS2-9
+
| JumpSMS2-9
| class="usercell" | Jump through a list using SMS-style input (eg press 2 twice to jump to the B's.)
+
| Jump through a list using SMS-style input (eg press 2 twice to jump to the B's.)
|- class="userrow"
+
|-  
| class="usercell" | FilterSMS2-9
+
| FilterSMS2-9
| class="usercell" | Filter a list in music or videos using SMS-style input.
+
| Filter a list in music or videos using SMS-style input.
|- class="userrow"
+
|-  
| class="usercell" | XBMC.ActivateWindow(MyVideos)
+
| XBMC.ActivateWindow(MyVideos)
| class="usercell" | Go to My Videos.
+
| Go to My Videos.
|- class="userrow"
+
|-  
| class="usercell" | XBMC.ActivateWindow(MyMusic)
+
| XBMC.ActivateWindow(MyMusic)
| class="usercell" | Go to My Music.
+
| Go to My Music.
|- class="userrow"
+
|-  
| class="usercell" | XBMC.ActivateWindow(MyPictures)
+
| XBMC.ActivateWindow(MyPictures)
| class="usercell" | Go to My Pictures.
+
| Go to My Pictures.
|- class="userrow"
+
|-  
| class="usercell" | XBMC.ActivateWindow(Home)
+
| XBMC.ActivateWindow(Home)
| class="usercell" | Go to Home window.  Go back from within a context in the UI.   
+
| Go to Home window.  Go back from within a context in the UI.   
|- class="userrow"
+
|-  
| class="usercell" | XBMC.ActivateWindow('''''[[Window IDs|windowid]]''''')
+
| XBMC.ActivateWindow('''''[[Window IDs|windowid]]''''')
| class="usercell" | Go a window specified by ''''windowid''. See the [[Window IDs|list of window IDs]] for the list of valid values. Not all ids will work on all themes.   
+
| Go a window specified by ''''windowid''. See the [[Window IDs|list of window IDs]] for the list of valid values. Not all ids will work on all themes.   
 +
|}
 +
 
 +
== Legacy Xbox remote information (For reference only) ==
 +
The Xbox uses standard RCA DVD/VCR infrared codes, so if you have a universal remote with a built in device database you can for example use a RCA DVD OFF code to power down the Xbox (this does not require editing the keymap, simply program one of your buttons as RCA DVD off).
 +
 
 +
'''IMPORTANT:'''<br />
 +
XBMC on the Xbox only can be put in a test mode to display the code number read when you press a button on your remote by setting [[advancedsettings.xml#<displayremotecodes>|'''<displayremotecodes>''']] to '''true''' in [[advancedsettings.xml]].
 +
 
 +
The following remote buttons are available:
 +
 
 +
{| class="wikitable"
 +
|-
 +
|  '''Button String'''
 +
|  [[Xbox DVD-Remote|'''Button On Original XBOX Remote''']]
 +
|  [[Xbox Media Extender Remote|'''Button On Media Extender Remote''']]
 +
|  '''Remote Code (Shown with [[AdvancedSettings.xml#.3Cloglevel.3E|<loglevel>]])'''
 +
|-
 +
|  left
 +
|  Left
 +
|  Left
 +
|  86
 +
|-
 +
|  right
 +
|  Right
 +
|  Right
 +
|  87
 +
|-
 +
|  up
 +
|  Up
 +
|  Up
 +
|  89
 +
|-
 +
|  down
 +
|  Down
 +
|  Down
 +
|  88
 +
|-
 +
|  select
 +
|  Select
 +
|  OK or Enter
 +
|  244
 +
|-
 +
|  back
 +
|  Back
 +
|  Back
 +
|  39
 +
|-
 +
|  menu
 +
|  Menu
 +
|  DVD Menu
 +
|  8
 +
|-
 +
|  info
 +
|  Info
 +
|  More (Has an 'I' on it)
 +
|  60
 +
|-
 +
|  display
 +
|  Display
 +
|  XBOX (Bottom)
 +
|  42
 +
|-
 +
|  title
 +
|  Title
 +
|  Guide
 +
|  26
 +
|-
 +
|  play
 +
|  Play
 +
|  Play
 +
|  21
 +
|-
 +
|  pause
 +
|  Pause
 +
|  Pause
 +
|  25
 +
|-
 +
|  reverse
 +
|  Reverse
 +
|  Rew
 +
|  29
 +
|-
 +
|  forward
 +
|  Forward
 +
|  Fwd
 +
|  28
 +
|-
 +
|  skipplus
 +
|  Skip +
 +
|  Skip
 +
|  32
 +
|-
 +
|  skipminus
 +
|  Skip -
 +
|  Replay
 +
|  34
 +
|-
 +
|  stop
 +
|  Stop
 +
|  Stop
 +
|  31
 +
|-
 +
|  zero
 +
|  0
 +
|  0
 +
|  48
 +
|-
 +
|  one
 +
|  1
 +
|  1
 +
|  49
 +
|-
 +
|  two
 +
|  2
 +
|  2
 +
|  50
 +
|-
 +
|  three
 +
|  3
 +
|  3
 +
|  51
 +
|-
 +
|  four
 +
|  4
 +
|  4
 +
|  52
 +
|-
 +
|  five
 +
|  5
 +
|  5
 +
|  53
 +
|-
 +
|  six
 +
|  6
 +
|  6
 +
|  54
 +
|-
 +
|  seven
 +
|  7
 +
|  7
 +
|  55
 +
|-
 +
|  eight
 +
|  8
 +
|  8
 +
|  56
 +
|-
 +
|  nine
 +
|  9
 +
|  9
 +
|  57
 +
|-
 +
|  power
 +
|  N/A
 +
|  Power
 +
|  59
 +
|-
 +
|  myTV
 +
|  N/A
 +
|  My TV
 +
|  206
 +
|-
 +
|  mymusic
 +
|  N/A
 +
|  My Music
 +
|  246
 +
|-
 +
|  mypictures
 +
|  N/A
 +
|  My Pictures
 +
|  249
 +
|-
 +
|  myvideo
 +
|  N/A
 +
|  My Video
 +
|  248
 +
|-
 +
|  record
 +
|  N/A
 +
|  Record
 +
|  23
 +
|-
 +
|  start
 +
|  N/A
 +
|  Start
 +
|  218
 +
|-
 +
|  volumeplus
 +
|  N/A
 +
|  Vol +
 +
|  47
 +
|-
 +
|  volumeminus
 +
|  N/A
 +
|  Vol -
 +
|  46
 +
|-
 +
|  channelplus
 +
|  N/A
 +
|  CH/PG +
 +
|  45
 +
|-
 +
|  channelminus
 +
|  N/A
 +
|  CH/PG -
 +
|  44
 +
|-
 +
|  pageplus
 +
|  N/A
 +
|  CH/PG +
 +
|  45
 +
|-
 +
|  pageminus
 +
|  N/A
 +
|  CH/PG -
 +
|  44
 +
|-
 +
|  mute
 +
|  N/A
 +
|  Mute
 +
|  63
 +
|-
 +
|  recordedtv
 +
|  N/A
 +
|  Recorded TV
 +
|  154
 +
|-
 +
|  livetv
 +
|  N/A
 +
|  Live TV
 +
|  231
 +
|-
 +
|  star
 +
|  N/A
 +
|  *
 +
|  215
 +
|-
 +
|  hash
 +
|  N/A
 +
|  #
 +
|  214
 +
|-
 +
|  clear
 +
|  N/A
 +
|  Clear
 +
|  6
 
|}
 
|}
  
[[Category:Inner Workings]]
 
 
[[Category:Python]]
 
[[Category:Python]]
 
[[Category:Remotes]]
 
[[Category:Remotes]]
 
[[Category:Settings]]
 
[[Category:Settings]]
 
[[Category:Skin Development]]
 
[[Category:Skin Development]]
[[Category:HTTP API]]
+
[[Category:XBMC Manual]]

Revision as of 11:38, 7 April 2012

 Controls: Keyboard controls Remote controls RC reviews Keymap files Modifying keyboard.xml Custom keymaps lircmap.xml 

Cleanup.png This page or section may require cleanup, updating, spellchecking, reformatting and/or updated images. Please improve this page if you can. The discussion page may contain suggestions.

Home icon grey.png   ▶ Keymap

Keyboard.xml is a XML base keymap file that define the mappings of keys (keyboard keys, mouse/remote/joysticks buttons and more) to XBMC actions. Keyboard.xml was first introduced in XBMC 10("Dharma"), in versions prior to that it was called Keymap.xml.

Contents

1 Introduction

In XBMC 10.0 (and higher), keymap configuration files are located in the following directories:

OS Global (applies to all users) User (applies to a specific user)
Linux (installation directory)/system/keymaps/ $home/.xbmc/userdata/keymaps/
Windows (installation directory)\system\keymaps\  %APPDATA%\XBMC\userdata\keymaps\
Windows Portable Mode (installation directory)\system\keymaps\ -

Example Paths:

Linux global: /usr/share/xbmc/system/keymaps/
Linux user specific: ~/.xbmc/userdata/keymaps/

Windows global: C:\Program Files\XBMC\userdata\keymaps\
Windows user specific: C:\Documents and Settings\Username\Application Data\XBMC\userdata\keymaps\

All *.xml files in these folders are applied as keymaps. All *.xml files are processed in alphabetical order. Keymaps defined in an .xml file add to or override mappings in previous .xml file. Keymaps defined in user folders add to or override mappings in the global keymap.


Default keymaps shipped with xbmc

2 Structure

There is one global keymap and several window-specific keymaps.
XBMC falls back to the global map when the window-specific map hasn't bound the key being pressed.

The format of keymapping files is as follows:

<keymap>
  <global>
    <gamepad>
      <A>Select</A>
      [...]
    </gamepad>
 
    <remote>
      <select>Select</select>
      [...]
    </remote>
 
    <keyboard>
      <enter>Select</enter>
      [...]
    </keyboard>
 
    <universalremote>
      <obc25>XBMC.ActivateWindow(MyMusic)</obc25>
      [...]
    </universalremote>
 
    <joystick name="PLAYSTATION(R)3 Controller (00:1B:FB:F6:E0:F2)">
      <button id="15">Select</button>
      [...]
    </joystick>
  </global>
 
  <Home>
    [...]
  </Home>
 
  [...]
 
</keymap>

As you can see, it's divided into a <global> section, and a number of window sections (such as <Home>).
A list of the available window names can be seen here Window IDs. The WINDOW can also be a custom window formatted as <windowId#> (e. g. <window1113>).
Each of these sections can contain Gamepad, Remote, Keyboard, Universal Remote, and custom Joystick sections.

The format for mapping a particular key under one of these device types is as follows:

  <keyname>action</keyname>

3 Keynames

3.1 Gamepad Section

An up to date list of the available actions can be found in the source code of XBMC in ButtonTranslator.cpp where the TranslateGamepadString() function does the work.

Example:

<gamepad>
  <A>Select</A>
</gamepad>

3.2 Remote Section

An up to date list of the available actions can be found in the source code of XBMC in ButtonTranslator.cpp where the TranslateRemoteString() function does the work.

Example:

<remote> 
  <play>Play</play>
</remote>

3.3 Universal Remote Section

To map Universal Remote buttons using the RCA infrared protocol, you may add <universalremote> sections to keymap.xml.
In this case, the tags used are <obc#> where # is the original button code (OBC) of the button.
You would put it inside an <universalremote> section in the <window> or <global> sections.

Example:

<universalremote> 
  <obc148>Stop</obc148>
</universalremote>
Will map Stop Playback to the RCA DVD repeat button <obc148>, which is not used by XBMC by default.
  • Note: ensure that the <universalremote> section is NOT added 'within' the <remote> section - it can appear before or after. Otherwise it will not be recognised and produces errors in the logfile.

Remote keys can be observed in the xbmc.log file (~/.xbmc/temp/xbmc.log on Linux) when debugging is enabled in the GUI (Settings -> debugging )

3.4 Keyboard Section

Valid keyboard keymap syntax includes <keyname>, <key id="">, and <keyname mod="">.

Mapping for arbitrary key codes can be configured using the following syntax:

<key id="123">

where "123" is replaced by the key code.

A full list of valid keynames can be found in

Example:

<keyboard>
  <key id="123">action</key> <!-- id is the keys keycode. >
  <a mod="shift,alt">action</a> <!-- corresponds to shift-alt-a, the mod="" syntax is enabled since build 26407. >
  <space>action</space> <!-- for a complete list of valid keynames, see ButtonTranslator.cpp or List of XBMC keynames above. >
</keyboard>

3.5 Custom Joystick Configuration

Custom joysticks are defined using the following syntax:

<joystick name="JOYSTICK NAME">
  <button id="BUTTON ID">action</button>
</joystick>

Getting the joystick name:

  • On linux: 'cat /proc/bus/input/devices'
  • or see your xbmc log file

Getting the button ids:

  • 'id' is the button ID used by SDL. Joystick button ids of connected joysticks appear in xbmc.log when they are pressed. Use your log to map custom buttons to actions.

Example:

<joystick name="PLAYSTATION(R)3 Controller (00:1B:FB:F6:E0:F2)">
  <button id="15">Select</button>
  <button id="14">PreviousMenu</button>
</joystick>

4 Actions

An up to date list of the available actions can be found in the TranslateActionString() method in in ButtonTranslator.cpp.

A reference of default XBMC keys and their associated actions can be found in: Default keymaps shipped with xbmc

For those debugging integer action codes from the debug log, the mapping of action codes to constants is in Key.h

In addition to the following actions, you can also use the Built-in functions available to FTP, Webserver, skins, keymap and to python in XBMC.

Action Description
Left Move left off a control.
Right Move right off a control.
Up Move up off a control.
Down Move down off a control.
Select Select a button, or an item from a list of thumb view.
PageUp Scroll up on page in a list, thumb, or text view.
PageDown Scroll down on page in a list, thumb, or text view.
Highlight Highlight an item in a list or thumb view.
ParentDir Go up a folder to the parent folder.
PreviousMenu Go back to the previous menu screen.
Info Show the information about the currently highlighted item, or currently playing item.
Pause Pause the currently playing item.
Stop Stop the currently playing item.
SkipNext Skip to the next item in a playlist or scene in a video.
SkipPrevious Skip to the previous item in a playlist or scene in a video.
FullScreen Toggles fullscreen modes (either visualisation or video playback)
AspectRatio Toggle through the various aspect ratio modes (Normal is the preferred option).
StepForward Step forward 1% in the movie.
StepBack Step back 1% in the movie.
BigStepForward Step forward 10% in the movie.
BigStepBack Step back 10% in the movie.
SmallStepBack Step back 7 seconds in the current video.
OSD Toggles the OSD while playing an item.
PlayDVD Start playing a DVD (goes to the DVD menu)
ShowVideoMenu Go to the DVD Video menu when playing a DVD.
ShowSubtitles Toggles whether subtitles are shown or not.
NextSubtitle Change to the next subtitle language, if there is more than one.
CodecInfo Show codec information about the currently playing item (during video or visualisation playback)
NextPicture Move to the next picture in a slideshow.
PreviousPicture Move to the previous picture in a slideshow.
ZoomOut Used in picture, slideshow or video fullscreen to zoom out of the current image/video.
ZoomIn Used in picture, slideshow or video fullscreen to zoom in to the current image/video.
IncreasePAR Used in video fullscreen to increase the pixel aspect ratio (stretch).
DecreasePAR Used in video fullscreen to decrease the pixel aspect ratio (stretch).
Queue Queue the item to the current playlist
Playlist Toggle to playlist view from My Music or My Videos
ZoomNormal Normal (fullscreen) viewing in My Pictures
ZoomLevel1 Zoom to 120% in My Pictures
ZoomLevel2 Zoom to 150% in My Pictures
ZoomLevel3 Zoom to 200% in My Pictures
ZoomLevel4 Zoom to 280% in My Pictures
ZoomLevel5 Zoom to 400% in My Pictures
ZoomLevel6 Zoom to 600% in My Pictures
ZoomLevel7 Zoom to 900% in My Pictures
ZoomLevel8 Zoom to 1350% in My Pictures
ZoomLevel9 Zoom to 2000% in My Pictures
NextCalibration Used in Video + GUI calibration
ResetCalibration Used in Video + GUI calibration
AnalogMove Move in the calibration screens, and while zoomed in My Pictures.
Rotate Rotate a picture in My Pictures
Close Used to close a dialog
SubtitleDelayMinus Decrease the delay amount of subtitles (use if subtitles are displaying too late)
SubtitleDelayPlus Increase the delay amount of subtitles (use if subtitles are displaying too early)
AudioDelayMinus Decrease the delay amount of audio (use if audio is being heard too early)
AudioDelayPlus Increase the delay amount of audio (use if audio is being heard too late)
AudioNextLanguage Change to the next audio track in a video with multiple audio tracks.
NextResolution Used in Video calibration
Number0 Used to input the number 0
Number1 Used to input the number 1
Number2 Used to input the number 2
Number3 Used to input the number 3
Number4 Used to input the number 4
Number5 Used to input the number 5
Number6 Used to input the number 6
Number7 Used to input the number 7
Number8 Used to input the number 8
Number9 Used to input the number 9
FastForward Toggle the fastforward speed between normal play, 2x, 4x, 8x, 16x, and 32x.
Rewind Toggle the rewind speed between normal play, 2x, 4x, 8x, 16x, and 32x.
Play Play the selected item (or folder of items), or unpause a paused item.
Delete Used in My Files to delete a file.
Copy Used in My Files to copy a file.
Move Used in My Files to move a file.
Rename Used in My Files to rename a file.
HideSubmenu <depreciated>
Screenshot Take a screenshot of the current screen.
XBMC.ShutDown() Shutdown and power off
VolumeUp Increase the volume of playback.
VolumeDown Decrease the volume of playback.
Mute Mute the volume.
BackSpace Used in the virtual keyboards to delete one letter.
ScrollUp Variable speed scroll up for analog keys (stick or triggers)
ScrollDown Variable speed scroll down for analog keys (stick or triggers)
AnalogFastForward Variable speed fast forward for analog keys (stick or triggers)
AnalogRewind Variable speed rewind for analog keys (stick or triggers)
AnalogSeekForward Variable speed seeking for analog keys (stick or triggers)
AnalogSeekBack Variable speed seeking for analog keys (stick or triggers)
MoveItemUp Used to rearrange playlists
MoveItemDown Used to rearrange playlists
ContextMenu Pops up a contextual menu
Shift Used in Virtual Keyboard to switch to upper or lower case letters
Symbols Used in Virtual Keyboard to switch to or from symbols mode
CursorLeft Used in Virtual Keyboard to move the current cursor point to the left
CursorRight Used in Virtual Keyboard to move the current cursor point to the right
ShowTime Used to show the current play time in music + video playback
ShowPreset Shows the current visualisation preset (milkdrop/spectrum)
PresetList Pops up the visualisation preset list (milkdrop/spectrum)
NextPreset Next visualisation preset
PreviousPreset Previous visualisation preset
LockPreset Lock the current visualisation preset
RandomPreset Switch to a new random preset
IncreaseRating Unused
DecreaseRating Unused
ToggleWatched Toggles watched/unwatched status for Videos
NextLetter Move to the next letter in a list or thumb panel. Note that SHIFT-B on the keyboard will take you to the B's.
PrevLetter Move to the previous letter in a list or thumb panel. Note that SHIFT-Z on the keyboard will take you to the Z's.
JumpSMS2-9 Jump through a list using SMS-style input (eg press 2 twice to jump to the B's.)
FilterSMS2-9 Filter a list in music or videos using SMS-style input.
XBMC.ActivateWindow(MyVideos) Go to My Videos.
XBMC.ActivateWindow(MyMusic) Go to My Music.
XBMC.ActivateWindow(MyPictures) Go to My Pictures.
XBMC.ActivateWindow(Home) Go to Home window. Go back from within a context in the UI.
XBMC.ActivateWindow(windowid) Go a window specified by ''windowid. See the list of window IDs for the list of valid values. Not all ids will work on all themes.

5 Legacy Xbox remote information (For reference only)

The Xbox uses standard RCA DVD/VCR infrared codes, so if you have a universal remote with a built in device database you can for example use a RCA DVD OFF code to power down the Xbox (this does not require editing the keymap, simply program one of your buttons as RCA DVD off).

IMPORTANT:
XBMC on the Xbox only can be put in a test mode to display the code number read when you press a button on your remote by setting <displayremotecodes> to true in advancedsettings.xml.

The following remote buttons are available:

Button String Button On Original XBOX Remote Button On Media Extender Remote Remote Code (Shown with <loglevel>)
left Left Left 86
right Right Right 87
up Up Up 89
down Down Down 88
select Select OK or Enter 244
back Back Back 39
menu Menu DVD Menu 8
info Info More (Has an 'I' on it) 60
display Display XBOX (Bottom) 42
title Title Guide 26
play Play Play 21
pause Pause Pause 25
reverse Reverse Rew 29
forward Forward Fwd 28
skipplus Skip + Skip 32
skipminus Skip - Replay 34
stop Stop Stop 31
zero 0 0 48
one 1 1 49
two 2 2 50
three 3 3 51
four 4 4 52
five 5 5 53
six 6 6 54
seven 7 7 55
eight 8 8 56
nine 9 9 57
power N/A Power 59
myTV N/A My TV 206
mymusic N/A My Music 246
mypictures N/A My Pictures 249
myvideo N/A My Video 248
record N/A Record 23
start N/A Start 218
volumeplus N/A Vol + 47
volumeminus N/A Vol - 46
channelplus N/A CH/PG + 45
channelminus N/A CH/PG - 44
pageplus N/A CH/PG + 45
pageminus N/A CH/PG - 44
mute N/A Mute 63
recordedtv N/A Recorded TV 154
livetv N/A Live TV 231
star N/A * 215
hash N/A # 214
clear N/A Clear 6
Personal tools
Namespaces

Variants
Actions
Navigation
Wiki help
Toolbox