Keymap: Difference between revisions

From Official Kodi Wiki
Jump to navigation Jump to search
No edit summary
Line 12: Line 12:


===Defaults===
===Defaults===
The keymap configuration files that ship with XBMC are stored in the "'''/system/keymaps/'''" folder
Default keymaps are included when {{kodi}} is installed, but users should not edit those install files directly. Instead, place user modified keymaps in the [[userdata]]/keymaps/ directory.
within the XBMC root directory.


All *.xml files in these folders are applied as keymaps.
{{kodi}} can process multiple keymap files and does so like this:
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.


By default there will be no files in these locations, so grab one from the link below to make a new one/over-ride:
* All *.xml files from the default install settings and userdata/kemaps/ 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 the userdata folder add to or override mappings in the global keymap.


'''[https://github.com/xbmc/xbmc/tree/master/system/keymaps Default keymaps shipped with XBMC]'''
By default there will be no files in these locations, so grab one from the link below to make a new one/over-ride: '''[https://github.com/xbmc/xbmc/tree/master/system/keymaps Default keymaps shipped with {{kodi}}]'''


== 101 on keymaps ==
== 101 on keymaps ==

Revision as of 00:57, 8 November 2014

Home icon grey.png   ▶ Remote controls ▶ Keymap
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.


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.

Customizing keymaps through the GUI

Users can customize keymaps for remotes in GUI by using the community Keymap Editor add-on.

Location of keymaps

Keymap configuration files are stored in the "keymaps" folder in the userdata folder:


Defaults

Default keymaps are included when Kodi is installed, but users should not edit those install files directly. Instead, place user modified keymaps in the userdata/keymaps/ directory.

Kodi can process multiple keymap files and does so like this:

  • All *.xml files from the default install settings and userdata/kemaps/ 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 the userdata folder add to or override mappings in the global keymap.

By default there will be no files in these locations, so grab one from the link below to make a new one/over-ride: Default keymaps shipped with Kodi

101 on keymaps

For a full guide, see: HOW-TO:Modify keyboard.xml
  1. Go to your userdata folder and go into the keymaps folder
  2. Make a new text document and call it keyboard.xml
  3. Cut and paste this into the document: https://raw.github.com/xbmc/xbmc/master/system/keymaps/keyboard.xml (see here for non-keyboard type kemaps).
  4. You don't actually need to copy the default keymap, because XBMC is smart enough to only load changes, so you can just add one or two keys and it will apply it to the existing keymap. It's nice to use a full copy because it makes it easier to see what is and isn't in use, and when you see the full mapping you get a feel for what the different options do, etc.

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. 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>

Keynames

Depending on your device you will need to use a specific "keyname".

Gamepads

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>

Remotes

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>

Universal Remotes

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 a <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 ). The list of pre-defined OBC codes can be found at XBIRRemote.h.

Keyboards

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 {{subst:Name}} keynames above. >
</keyboard>
Modifiers
  • shift
  • alt
  • ctrl

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>

Actions

The most recent available actions can be found in the TranslateActionString() method in in ButtonTranslator.cpp.

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 Built-in scripting in XBMC.

Main actions
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.
Enter ? (ACTION_ENTER) Not sure about all areas, but on some windows this will be the same as the "done" on screen button.
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.
Back Go back in navigation.
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 next video in playlist. If no playlist, then skip to next chapter in video.
SkipPrevious Skip to previous video in playlist. If no playlist, then skip to previous chapter in video.
FullScreen Toggles full-screen content playback (either visualisation or video playback)
togglefullscreen Changes whether the app is displayed full-screen or windowed (on windowing OSs)
AspectRatio Toggle through the various aspect ratio modes (Normal is the preferred option).
StepForward Step forward 30 seconds in a video.
StepBack Step back 30 seconds in a video.
BigStepForward Step forward 10 minutes in video.
BigStepBack Step back 10 minutes in video.
SmallStepBack Step back 7 seconds in the current video.
Seek(##) A definable seek action, where ## is a number of seconds. For example, to make a seek action that goes forward 25 seconds use Seek(25), and to make a seek action that goes back 36 seconds use Seek(-36). (v15 Isengard addition)
ChapterOrBigStepForward Go to to next chapter in video. If no chapters, then step forward 10 minutes in video. (v13 Gotham addition)
ChapterOrBigStepBack Go to previous chapter in video, If no chapters, then step back 10 minutes in video. (v13 Gotham addition)
NextScene Go to next scene that is marked in an Edit_decision_list file.
PreviousScene Go to previous scene that is marked in an Edit_decision_list file.
OSD Toggles the OSD (On Screen Display) 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.
SubtitleShiftUp Move subtitles up
SubtitleShiftDown Move subtitles down
SubtitleAlign Subtitle position control
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
PlayNext Queue the item to the next position in the current playlist
Filter Opens the mediafilter dialog in the video and musiclibrary. Used in the advanced filter for the video library.
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
rotateccw ? (ACTION_ROTATE_PICTURE_CCW)
Close Used to close a dialog
subtitledelay ? (ACTION_SUBTITLE_DELAY)
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)
audiodelay ? (ACTION_AUDIO_DELAY)
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
Number<0-9> Used to input the number 0 through 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).
PlayPause Play the selected item (or folder of items). Will also pause media when something is already playing.
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.
Reboot Reboot
ShutDown() Shutdown and power off
VolumeUp Increase the volume of playback.
VolumeDown Decrease the volume of playback.
Mute Mute the volume.
volampup ? (ACTION_VOLAMP_UP)
volampdown ? (ACTION_VOLAMP_DOWN)
audiotoggledigital ? (ACTION_TOGGLE_DIGITAL_ANALOG)
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
Menu Focus the menu control (e.g. sidebar in confluence) which is specified by the skin in different windows (e.g. Movies, Music, PVR etc.) (v16 Jarvis addition)
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
visualisationpresetlist Shows the visualisation preset list
ShowPreset Shows the current visualisation preset (milkdrop/spectrum)
NextPreset Next visualisation preset
PreviousPreset Previous visualisation preset
LockPreset Lock the current visualisation preset
RandomPreset Switch to a new random preset
IncreaseRating Used to increase track rating in full screen playback (press info on track and use pageplus on keyboard/remote
DecreaseRating Used to decrease track rating in full screen playback (press info on track and use pageminus on keyboard/remote
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.
JumpSMS<2-9> Jump through a list using SMS-style input (eg press 2 twice to jump to the B's.)
FilterSMS<2-9> Filter a list in music or videos using SMS-style input.
verticalshiftup ? (ACTION_VSHIFT_UP)
verticalshiftdown ? (ACTION_VSHIFT_DOWN)
scanitem ? (ACTION_SCAN_ITEM)
reloadkeymaps Reload keymap, loading any changes made to the keymap since started up.
increasevisrating ? (ACTION_VIS_RATE_PRESET_PLUS)
decreasevisrating ? (ACTION_VIS_RATE_PRESET_MINUS)
firstpage ? (ACTION_FIRST_PAGE)
lastpage ? (ACTION_LAST_PAGE)
guiprofile ? (ACTION_GUIPROFILE_BEGIN)
red ? (ACTION_TELETEXT_RED)
green ? (ACTION_TELETEXT_GREEN)
yellow ? (ACTION_TELETEXT_YELLOW)
blue ? (ACTION_TELETEXT_BLUE)
CreateBookmark Creates a bookmark of the currently playing Video (v13 Gotham addition)
CreatEpisodeBookmark Creates an episode bookmark of the currently playing multi-episode file (e.g. S01E01E02). An episode bookmark specifies the end of the one and the begin of the other episode (v13 Gotham addition)
NextChannelGroup PVR Goes to the next channel group when using live TV. Works only within PVR windows + channel osd. (v13 Gotham addition)
PreviousChannelGroup PVR Goes to the previous channel group when using live TV. Works only within PVR windows + channel osd. (v13 Gotham addition)
ChannelUp PVR Used to switch up to the next channel. Works only if you playback TV or radio (v13 Gotham addition)
ChannelDown PVR Used to switch down to the previous channel. Works only if you playback TV or radio(v13 Gotham addition)
PlayPvr PVR Starts playback a TV or radio channel depends on the last played channel. (v13 Gotham addition)
PlayPvrTV PVR Starts playback a TV channel. Will playback the last played channel if available. (v13 Gotham addition)
PlayPvrRadio PVR Starts playback a radio channel. Will playback the last played channel if available. (v13 Gotham addition)
Record PVR record current playing channel or selected item in windows like EPG (v13 Gotham addition)
StereoMode Toggle 3D/Stereoscopic mode (v13 Gotham addition)
ToggleStereoMode Toggle 3D/Stereoscopic mode (v13 Gotham addition)
SwitchPlayer Select player to use, such as internal (DVDPlayer/PAPlayer), UPnP "play using" targets, external players. (v13 Gotham addition)
UpdateLibrary(video) Update Movie/TV-Show library (only tested with v13 Gotham addition).
SetRating For use when playing music. Will pop-up a 1-10 userrating select dialog, to rate the currently playing song. (v17 Krypton addition)
Other
Action Description
noop No action. Used to specifically disable a key.


Windows

This table cross-references Window names, Window definitions, and Window ID.

Code that performs the cross-reference is found on Github as follows:

Github Logo.png Master Branch - WindowTranslator.cpp
Github Logo.png Master Branch - WindowsIDs.h


  • keymap.xml uses the Window name.
  • Kodi's C++ code uses the Window definitions and Window ID's.
  • ActivateWindow() should use the Window name.
  • sounds.xml should use the window name

You can use secondary parameters with all media windows, as can be seen here:


Name Definition Window ID source XML file Remark
home WINDOW_HOME 10000 Home.xml
programs WINDOW_PROGRAMS 10001 MyPrograms.xml
pictures WINDOW_PICTURES 10002 MyPics.xml
filemanager WINDOW_FILES 10003 FileManager.xml
settings WINDOW_SETTINGS_MENU 10004 Settings.xml
systeminfo WINDOW_SYSTEM_INFORMATION 10007 SettingsSystemInfo.xml
screencalibration WINDOW_SCREEN_CALIBRATION 10011 SettingsScreenCalibration.xml
systemsettings WINDOW_SETTINGS_START 10016 SettingsCategory.xml
systemsettings WINDOW_SETTINGS_SYSTEM 10016 SettingsCategory.xml
servicesettings WINDOW_SETTINGS_SERVICE 10018 SettingsCategory.xml
pvrsettings WINDOW_SETTINGS_MYPVR 10021 SettingsCategory.xml
gamesettings WINDOW_SETTINGS_MYGAMES 10022 SettingsCategory.xml
videos WINDOW_VIDEO_NAV 10025 MyVideoNav.xml
videoplaylist WINDOW_VIDEO_PLAYLIST 10028 MyPlaylist.xml
loginscreen WINDOW_LOGIN_SCREEN 10029 LoginScreen.xml
playersettings WINDOW_SETTINGS_PLAYER 10030 SettingsCategory.xml
mediasettings WINDOW_SETTINGS_MEDIA 10031 SettingsCategory.xml
interfacesettings WINDOW_SETTINGS_INTERFACE 10032 SettingsCategory.xml
profiles WINDOW_SETTINGS_PROFILES 10034 SettingsProfile.xml
skinsettings WINDOW_SKIN_SETTINGS 10035 SkinSettings.xml
addonbrowser WINDOW_ADDON_BROWSER 10040 AddonBrowser.xml
eventlog WINDOW_EVENT_LOG 10050 EventLog.xml
favouritesbrowser WINDOW_FAVOURITES 10060 MyFavourites.xml Added in Kodi v20 Nexus [1]
pointer WINDOW_DIALOG_POINTER 10099 Pointer.xml
yesnodialog WINDOW_DIALOG_YES_NO 10100 DialogConfirm.xml
progressdialog WINDOW_DIALOG_PROGRESS 10101 DialogConfirm.xml
virtualkeyboard WINDOW_DIALOG_KEYBOARD 10103 DialogKeyboard.xml
volumebar WINDOW_DIALOG_VOLUME_BAR 10104 DialogVolumeBar.xml
submenu WINDOW_DIALOG_SUB_MENU 10105 DialogSubMenu.xml
contextmenu WINDOW_DIALOG_CONTEXT_MENU 10106 DialogContextMenu.xml
notification WINDOW_DIALOG_KAI_TOAST 10107 DialogNotification.xml
numericinput WINDOW_DIALOG_NUMERIC 10109 DialogNumeric.xml
gamepadinput WINDOW_DIALOG_GAMEPAD 10110 DialogSelect.xml
shutdownmenu WINDOW_DIALOG_BUTTON_MENU 10111 DialogButtonMenu.xml
playercontrols WINDOW_DIALOG_PLAYER_CONTROLS 10114 PlayerControls.xml
seekbar WINDOW_DIALOG_SEEK_BAR 10115 DialogSeekBar.xml
playerprocessinfo WINDOW_DIALOG_PLAYER_PROCESS_INFO 10116 DialogPlayerProcessInfo.xml
musicosd WINDOW_DIALOG_MUSIC_OSD 10120 MusicOSD.xml
visualisationpresetlist WINDOW_DIALOG_VIS_SETTINGS 10121
visualisationpresetlist WINDOW_DIALOG_VIS_PRESET_LIST 10122 DialogSelect.xml
osdvideosettings WINDOW_DIALOG_VIDEO_OSD_SETTINGS 10123 DialogSettings.xml
osdaudiosettings WINDOW_DIALOG_AUDIO_OSD_SETTINGS 10124 DialogSettings.xml
videobookmarks WINDOW_DIALOG_VIDEO_BOOKMARKS 10125 VideoOSDBookmarks.xml
filebrowser WINDOW_DIALOG_FILE_BROWSER 10126 FileBrowser.xml
networksetup WINDOW_DIALOG_NETWORK_SETUP 10128 DialogSettings.xml
mediasource WINDOW_DIALOG_MEDIA_SOURCE 10129 DialogMediaSource.xml
profilesettings WINDOW_DIALOG_PROFILE_SETTINGS 10130 DialogSettings.xml
locksettings WINDOW_DIALOG_LOCK_SETTINGS 10131 DialogSettings.xml
contentsettings WINDOW_DIALOG_CONTENT_SETTINGS 10132 DialogSettings.xml
libexportsettings WINDOW_DIALOG_LIBEXPORT_SETTINGS 10133 DialogSettings.xml
favourites WINDOW_DIALOG_FAVOURITES 10134 DialogFavourites.xml Deprecated. Will be removed in Kodi v21
songinformation WINDOW_DIALOG_SONG_INFO 10135 DialogMusicInfo.xml
smartplaylisteditor WINDOW_DIALOG_SMART_PLAYLIST_EDITOR 10136 SmartPlaylistEditor.xml
smartplaylistrule WINDOW_DIALOG_SMART_PLAYLIST_RULE 10137 SmartPlaylistRule.xml
busydialog WINDOW_DIALOG_BUSY 10138 DialogBusy.xml
pictureinfo WINDOW_DIALOG_PICTURE_INFO 10139 DialogPictureInfo.xml
addonsettings WINDOW_DIALOG_ADDON_SETTINGS 10140 DialogAddonSettings.xml
fullscreeninfo WINDOW_DIALOG_FULLSCREEN_INFO 10142 DialogFullScreenInfo.xml
sliderdialog WINDOW_DIALOG_SLIDER 10145 DialogSlider.xml
addoninformation WINDOW_DIALOG_ADDON_INFO 10146 DialogAddonInfo.xml
textviewer WINDOW_DIALOG_TEXT_VIEWER 10147 DialogTextViewer.xml
WINDOW_DIALOG_PLAY_EJECT 10148 DialogConfirm.xml
WINDOW_DIALOG_PERIPHERALS 10149 DialogSelect.xml
peripheralsettings WINDOW_DIALOG_PERIPHERAL_SETTINGS 10150 DialogSettings.xml
extendedprogressdialog WINDOW_DIALOG_EXT_PROGRESS 10151 DialogExtendedProgressBar.xml
mediafilter WINDOW_DIALOG_MEDIA_FILTER 10152 DialogSettings.xml
subtitlesearch WINDOW_DIALOG_SUBTITLES 10153 DialogSubtitles.xml
WINDOW_DIALOG_KEYBOARD_TOUCH 10156
osdcmssettings WINDOW_DIALOG_CMS_OSD_SETTINGS 10157 DialogSettings.xml
infoprovidersettings WINDOW_DIALOG_INFOPROVIDER_SETTINGS 10158 DialogSettings.xml
osdsubtitlesettings WINDOW_DIALOG_SUBTITLE_OSD_SETTINGS 10159 DialogSettings.xml
busydialognocancel WINDOW_DIALOG_BUSY_NOCANCEL 10160 DialogBusy.xml
musicplaylist WINDOW_MUSIC_PLAYLIST 10500 MyPlaylist.xml
music WINDOW_MUSIC_NAV 10502 MyMusicNav.xml
musicplaylisteditor WINDOW_MUSIC_PLAYLIST_EDITOR 10503 MyMusicPlaylistEditor.xml
teletext WINDOW_DIALOG_OSD_TELETEXT 10550
pvrguideinfo WINDOW_DIALOG_PVR_GUIDE_INFO 10600 DialogPVRInfo.xml
pvrrecordinginfo WINDOW_DIALOG_PVR_RECORDING_INFO 10601 DialogPVRInfo.xml
pvrtimersetting WINDOW_DIALOG_PVR_TIMER_SETTING 10602 DialogSettings.xml
pvrgroupmanager WINDOW_DIALOG_PVR_GROUP_MANAGER 10603 DialogPVRGroupManager.xml
pvrchannelmanager WINDOW_DIALOG_PVR_CHANNEL_MANAGER 10604 DialogPVRChannelManager.xml
pvrguidesearch WINDOW_DIALOG_PVR_GUIDE_SEARCH 10605 DialogPVRGuideSearch.xml
pvrchannelscan WINDOW_DIALOG_PVR_CHANNEL_SCAN 10606 none (unused)
pvrupdateprogress WINDOW_DIALOG_PVR_UPDATE_PROGRESS 10607 none (unused)
pvrosdchannels WINDOW_DIALOG_PVR_OSD_CHANNELS 10608 DialogPVRChannelsOSD.xml
pvrchannelguide WINDOW_DIALOG_PVR_CHANNEL_GUIDE 10609 DialogPVRChannelGuide.xml
pvrradiordsinfo WINDOW_DIALOG_PVR_RADIO_RDS_INFO 10610 DialogPVRRadioRDSInfo.xml
pvrrecordingsettings WINDOW_DIALOG_PVR_RECORDING_SETTING 10611 DialogSettings.xml
WINDOW_DIALOG_PVR_CLIENT_PRIORITIES 10612 DialogSettings.xml
pvrguidecontrols WINDOW_DIALOG_PVR_GUIDE_CONTROLS 10613 [2]
tvchannels WINDOW_TV_CHANNELS 10700 MyPVRChannels.xml
tvrecordings WINDOW_TV_RECORDINGS 10701 MyPVRRecordings.xml
tvguide WINDOW_TV_GUIDE 10702 MyPVRGuide.xml
tvtimers WINDOW_TV_TIMERS 10703 MyPVRTimers.xml
tvsearch WINDOW_TV_SEARCH 10704 MyPVRSearch.xml
radiochannels WINDOW_RADIO_CHANNELS 10705 MyPVRChannels.xml
radiorecordings WINDOW_RADIO_RECORDINGS 10706 MyPVRRecordings.xml
radioguide WINDOW_RADIO_GUIDE 10707 MyPVRGuide.xml
radiotimers WINDOW_RADIO_TIMERS 10708 MyPVRTimers.xml
radiosearch WINDOW_RADIO_SEARCH 10709 MyPVRSearch.xml
tvtimerrules WINDOW_TV_TIMER_RULES 10710 MyPVRTimers.xml
radiotimerrules WINDOW_RADIO_TIMER_RULES 10711 MyPVRTimers.xml
FullscreenLiveTV WINDOW_FULLSCREEN_LIVETV 10800 None (shortcut to fullscreenvideo)
fullscreenradio WINDOW_FULLSCREEN_RADIO 10801 None (shortcut to visualisation)
fullscreenlivetvpreview WINDOW_FULLSCREEN_LIVETV_PREVIEW 10802 None (shortcut to fullscreenlivetv)
fullscreenradiopreview WINDOW_FULLSCREEN_RADIO_PREVIEW 10803 None (shortcut to fullscreenradio
fullscreenlivetvinput WINDOW_FULLSCREEN_LIVETV_INPUT 10804 None (shortcut to fullscreenlivetv)
fullscreenradioinput WINDOW_FULLSCREEN_RADIO_INPUT 10805 None (shortcut to fullscreenradio)
gamecontrollers WINDOW_DIALOG_GAME_CONTROLLERS 10820 DialogGameControllers.xml
games WINDOW_GAMES 10821 MyGames.xml
gameosd WINDOW_DIALOG_GAME_OSD 10822 GameOSD.xml
gamevideofilter WINDOW_DIALOG_GAME_VIDEO_FILTER 10823 DialogSelect.xml
gameviewmode WINDOW_DIALOG_GAME_STRETCH_MODE 10824 DialogSelect.xml
gamevolume WINDOW_DIALOG_GAME_VOLUME 10825 DialogVolumeBar.xml
gameadvancedsettings WINDOW_DIALOG_GAME_ADVANCED_SETTINGS 10826 DialogAddonSettings.xml
gamevideorotation WINDOW_DIALOG_GAME_VIDEO_ROTATION 10827 DialogSelect.xml
gameports WINDOW_DIALOG_GAME_PORTS 10828 DialogGameControllers.xml [3]
ingamesaves WINDOW_DIALOG_IN_GAME_SAVES 10829 DialogSelect.xml [4]
gamesaves WINDOW_DIALOG_GAME_SAVES 10830 DialogSelect.xml [5]
gameagents WINDOW_DIALOG_GAME_AGENTS 10831 DialogGameControllers.xml [6]
Custom Skin Windows - - custom*.xml - WINDOW_ID's from 11100 to 11199 reserved for Skins
selectdialog WINDOW_DIALOG_SELECT 12000 DialogSelect.xml
musicinformation WINDOW_DIALOG_MUSIC_INFO 12001 DialogMusicInfo.xml
okdialog WINDOW_DIALOG_OK 12002 DialogConfirm.xml
movieinformation WINDOW_DIALOG_VIDEO_INFO 12003 DialogVideoInfo.xml
fullscreenvideo WINDOW_FULLSCREEN_VIDEO 12005 VideoFullScreen.xml
visualisation WINDOW_VISUALISATION 12006 MusicVisualisation.xml
slideshow WINDOW_SLIDESHOW 12007 SlideShow.xml
dialogcolorpicker WINDOW_DIALOG_COLOR_PICKER 12008 DialogColorPicker.xml Added in Kodi v20 Nexus
weather WINDOW_WEATHER 12600 MyWeather.xml
screensaver WINDOW_SCREENSAVER 12900 none
videoosd WINDOW_DIALOG_VIDEO_OSD 12901 VideoOSD.xml
videomenu WINDOW_VIDEO_MENU 12902 none
videotimeseek WINDOW_VIDEO_TIME_SEEK 12905 none
fullscreengame WINDOW_FULLSCREEN_GAME 12906 none
splash WINDOW_SPLASH 12997
startwindow WINDOW_START 12998 shortcut to the current startwindow
startup WINDOW_STARTUP_ANIM 12999 Startup.xml
In addition, there are the following "special" windows whose id is not really a concern (and you'll notice isn't unique)
Python Windows - - WINDOW_ID's from 13000 to 13099 reserved for Python
addon - - WINDOW_ID's from 14000 to 14099 reserved for Addons


Additional keys

Other keys that can be mapped to actions.

Media keyboards/remotes

  • browser_back
  • browser_forward
  • browser_refresh
  • browser_stop
  • browser_search
  • browser_favorites
  • browser_home
  • volume_mute
  • volume_down
  • volume_up
  • next_track
  • prev_track
  • stop
  • play_pause
  • launch_mail
  • launch_media_select
  • launch_app1
  • launch_app2
  • play
  • pause
  • fastforward
  • rewind
  • channelup
  • channeldown

Mouse actions

  • leftclick
  • rightclick
  • middleclick
  • doubleclick
  • wheelup
  • wheeldown
  • mousedrag
  • mousemove

See also

Development: