Keymap
Remote controls | Keymap |
Keymaps are XML base files that define the mappings of keys (keyboard keys, mouse/remote/joysticks buttons and more) to Kodi actions.
Customizing keymaps through the GUI
Users can customize keymaps for remotes in GUI by using the community Keymap Editor add-on.
Location of keymaps
User modified keymap files must be stored in the "keymaps" folder in the userdata folder:
The Userdata folder is a subfolder of the Kodi Data Folder and is located as shown in the table below.
Operating system | Userdata Folder |
---|---|
Android | Android/data/org.xbmc.kodi/files/.kodi/userdata/ (see note) |
Flatpak | ~/.var/app/tv.kodi.Kodi/data/userdata |
iOS | /private/var/mobile/Library/Preferences/Kodi/userdata/ |
LibreELEC | /storage/.kodi/userdata/ |
Linux | ~/.kodi/userdata/ |
macOS | /Users/<your_user_name>/Library/Application Support/Kodi/userdata/ |
Nvidia Shield (SMB) | smb://<nvidiashieldurl>/internal/Android/data/org.xbmc.kodi/files/.kodi/userdata |
OSMC | /home/osmc/.kodi/userdata/ |
tvOS | /private/var/mobile/Library/Preferences/Kodi/userdata/ |
webOS | /media/developer/apps/usr/palm/applications/org.xbmc.kodi/.kodi/userdata/ |
Windows | %APPDATA%\Kodi\userdata |
Windows Portable | <Install location chosen by you>\portable_data\userdata\ |
Windows via Microsoft Store | %LOCALAPPDATA%\Packages\XBMCFoundation.Kodi_4n2hpmxwrvr6p\LocalCache\Roaming\Kodi\ |
Windows Xbox | %LOCALAPPDATA%\Packages\XBMCFoundation.Kodi_4n2hpmxwrvr6p\LocalCache\Roaming\Kodi\ |
- Note: In some Android setups the path may be slightly different to the one stated above.
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/keymaps/ 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:
- https://github.com/xbmc/xbmc/tree/master/system/keymaps
- https://github.com/kodi-game/peripheral.joystick/tree/master/peripheral.joystick/resources/buttonmaps/xml
Structure
There is one global keymap and several window-specific keymaps.
Kodi 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> <mouse> <leftclick>Select</leftclick> [...] </mouse> <universalremote> <obc25>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 Kodi in ButtonTranslator.cpp where the TranslateGamepadString() function does the work.
Example:
<gamepad> <A>Select</A> </gamepad>
Remotes
An up to date list of IR-remote button names can be found in the source code of Kodi IRTranslator.cpp. See the method TranslateString().
The available actions are discussed in section Actions.
Note: Some remotes (e.g. FLIRC) are actually seen as "keyboards". Those will need to use the <keyboard> tag instead.
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 Kodi 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 kodi.log file (~/.kodi/temp/kodi.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
- the XBMC_keytable.cpp source code file
- or in List_of_keynames.
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 Kodi keynames above. > </keyboard>
- Modifiers
- shift
- alt
- ctrl
Mouse
As this highly depends on the mouse you are using and which kind of buttons are available, we only mention the most common buttons on a mouse:
<keymap> <mouse> <global> <leftclick>...</leftclick> <middleclick>...</middleclick> <rightclick>...</rightclick> <wheelup>...</wheelup> <wheeldown>...</wheeldown> </global> </mouse> </keymap>
Example for changing the volume while on MusicOSD (On Screen Display) window using the mouse wheel
<keymap> <MusicOSD> <mouse> <wheeldown>VolumeDown</wheeldown> <wheelup>VolumeUp</wheelup> </mouse> </MusicOSD> </keymap>
Custom Joystick Configuration
See HOW-TO:Modify_joystick.xml.
Long-press
Note: Longpress seems to only be working on keyboard keymaps at the moment Depending on the device, many remotes, keyboards, and gamepads can use the long-press modifier. This allows a button to do a separate action when held for a short period of time. The syntax for this is as follows:
<button mod="longpress">action</button>
Not all devices will correctly work with the longpress action, but most should.
Note: Long-press will disable keyrepeat for that key/window.
Removing a long-press action from a default keymap
If you want to simply remove a long-press action, rather than override it, you can place an empty long-press tag in a keymap. This also has the effect of re-enabling keyrepeat for the short-press action.
For example, this will remove the context menu action from the default keyboard.xml keymap:
<keymap> <global> <keyboard> <return mod="longpress"></return> <enter mod="longpress"></enter> </keyboard> </global> </keymap>
Commands
The most recent available actions can be found in ActionIDs.h.
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 Kodi.
Actions
- 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. (deprecated, same meaning of "Back" action) |
ParentFolder |
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) |
PlayerProcessInfo |
Show player process information about the currently playing item (during video or visualisation playback) |
PlayerProgramSelect |
Show dialog to select a program tv channel (during video 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 |
Rotate current picture counterclockwise during slideshow. |
Close |
Used to close a dialog |
subtitledelay |
Show the current delay amount of subtitles. |
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 |
Show the current delay amount of audio. |
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 |
Increase volume amplification. |
volampdown |
Decrease volume amplification. |
audiotoggledigital |
Switch between digital / analog audio. |
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 |
Shift up video image currently played. |
verticalshiftdown |
Shift down video image currently played. |
scanitem |
Scan selected item for video or music files. |
reloadkeymaps |
Reload keymap, loading any changes made to the keymap since started up. |
increasevisrating |
Increase the preset rate for visualization. |
decreasevisrating |
Decrease the preset rate for visualization. |
firstpage |
Move to the first element of the page. |
lastpage |
Move to the last element of the page. |
guiprofile |
? (ACTION_GUIPROFILE_BEGIN) |
red |
Used to simulate red button click for the teletext. |
green |
Used to simulate green button click for the teletext. |
yellow |
Used to simulate yellow button click for the teletext. |
blue |
Used to simulate blue button click for the teletext. |
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) |
ToggleCommSkip |
Enable / Disable commercial skipping (based on Edit_decision_list file) during video playback. |
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) |
DialogSelectVideo |
Open a window dialog to select a video stream. (v22 Piers addition) |
DialogSelectAudio |
Open a window dialog to select an audio stream. (v22 Piers addition) |
DialogSelectSubtitle |
Open a window dialog to select a subtitle stream. (v22 Piers addition) |
- Other
Action | Description |
---|---|
noop |
No action. Used to specifically disable a key. |
Functions
Add-on built-in's
Function | Description | Version |
---|---|---|
Addon.Default.OpenSettings(extensionpoint)
|
Open a settings dialog for the default addon of the given type (extensionpoint) | |
Addon.Default.Set(extensionpoint)
|
Open a select dialog to allow choosing the default addon of the given type (extensionpoint) | |
Addon.OpenSettings(id)
|
Open a settings dialog for the addon of the given id | |
EnableAddon(id)
|
Enables the specified plugin/script | v19 addition |
InstallAddon(id)
|
Will install the addon with the given id. | |
InstallFromZip
|
Opens the "Install from zip"-dialog if "Unknown sources" is enabled. Prompts the warning message if not. | |
RunAddon(id)
|
Runs the specified plugin/script | |
RunAppleScript(script[,args]*)
|
Run the specified AppleScript command | |
RunPlugin(plugin)
|
Runs the plugin. Full path must be specified. Does not work for folder plugins | |
RunScript(script[,args]*)
|
Runs the python script. You must specify the add-on id of the script. As of 2007/02/24, all extra parameters are passed to the script as arguments and can be accessed by python using sys.argv | |
StopScript(id)
|
Stop the script by ID or path, if running | v12 Addition |
UpdateAddonRepos
|
Triggers a forced update of enabled add-on repositories. | |
UpdateLocalAddons
|
Triggers a scan of local add-on directories. |
Android built-in's
Function | Description | Version |
---|---|---|
StartAndroidActivity(package,[intent,dataType,dataURI])
|
Launch an Android native app with the given package name. Optional parms (in order): intent, dataType, dataURI. example: StartAndroidActivity(com.android.chrome,android.intent.action.VIEW,,http://kodi.tv/) | v13 Addition |
Application built-in's
Function | Description | Version |
---|---|---|
Extract(archive_url[, destination])
|
Extracts a specified archive to an optionally specified 'absolute' path. | |
Mute
|
Mutes (or unmutes) the volume. | |
NotifyAll(sender, data [, json])
|
Notify all connected clients | v13 Addition |
SetVolume(percent[,showvolumebar])
|
Sets the volume to the percentage specified. Optionally, show the Volume Dialog in Kodi when setting the volume. | |
ToggleDebug
|
Enables/disables debug mode | v12 Addition |
ToggleDPMS
|
Toggle DPMS (VESA Display Power Management Signaling) mode manually | |
WakeOnLan(mac)
|
Sends the wake-up packet to the broadcast address for the specified MAC address (Format: FF:FF:FF:FF:FF:FF or FF-FF-FF-FF-FF-FF). |
CEC built-in's
Function | Description | Version |
---|---|---|
CECActivateSource
|
Wake up playing device via a CEC peripheral | v13 Addition |
CECStandby
|
Put playing device on standby via a CEC peripheral | v13 Addition |
CECToggleState
|
Toggle state of playing device via a CEC peripheral | v13 Addition |
EPG built-in's
Function | Description | Version |
---|---|---|
PVR.EpgGridControl(command)
|
supported commands: firstprogramme (jump to the first programme) / currentprogramme (jump to the current programme) / lastprogramme (jump to the last programme) / selectdate (jump to the selected date & time) / +XX (jump XX hours forward) / -XX (jump XX hours back) / firstchannel (jump to the first channel) / playingchannel (jump to the currently playing channel) / lastchannel (jump to the last channel) / previousgroup (switch the epg to the previous group) / nextgroup (switch the epg to the next group) / selectgroup (select a group) | v19 Addition |
GUI built-in's
Function | Description | Version |
---|---|---|
Action(action[,window])
|
Executes an action (same as in keymap) for the given window or the active window if the parameter window is omitted. The parameter window can either be the window's id, or in the case of a standard window, the window's name. See Action IDs for a list of available actions. | |
ActivateWindow(window[,dir,return])
|
Opens the given window. The parameter window can either be the window's id, or in the case of a standard window, the window's name. See Window IDs for a list of window names, and their respective ids. If, furthermore, the window is Music, Video, Pictures, or Program files, then the optional dir parameter specifies which folder Kodi should default to once the window is opened. This must be a source as specified in sources.xml, or a subfolder of a valid source. For some windows (MusicLibrary and VideoLibrary), the return parameter may be specified, which indicates that Kodi should use this folder as the "root" of the level, and thus the "parent directory" action from within this folder will return the user to where they were prior to the window activating. | |
ActivateWindowAndFocus(id1, id2,item1, id3,item2)
|
Activate window with id1, first focus control id2 and then focus control id3. if either of the controls is a container, you can specify which item to focus (else, set it to 0). | v12 Addition |
AlarmClock(name,command,[time,silent,loop])
|
Pops up a dialog asking for the length of time (mm:ss) for the alarm (unless the parameter time is specified), and starts a timer. When the timer runs out, it'll execute the built-in command (the parameter command) if it is specified, otherwise it'll pop up an alarm notice. Add silent to hide the alarm notification. Add loop for the alarm to execute the command each time the specified time interval expires. If defining the last optional parameters (silent and loop) both have to be defined for any to take effect. The parameter "time" accepts an integer value (in minutes) or a timestring in the format "hh:mm:ss" or "mm min". | |
CancelAlarm(name[,silent])
|
Cancel a running alarm. Set silent to true to hide the alarm notification. | |
ClearProperty(key[,id])
|
Clears a window property for the current focused window/dialog(key), or the specified window (key,id). | |
Dialog.Close(dialog[,force])
|
Close a dialog. Set force to true to bypass animations. Use (all,true) to close all opened dialogs at once. | |
NextChannelGroup
|
Navigate to the next PVR channel group (in DialogPVRChannelsOSD.xml) | v13 Addition |
NextStereoMode
|
Changes the stereo mode of the GUI to the next available mode. | v13 Addition |
Notification(header,message[,time,image])
|
Will display a notification dialog with the specified header and message, in addition you can set the length of time it displays in milliseconds and a icon image. | |
PreviousChannelGroup
|
Navigate to the previous PVR channel group (in DialogPVRChannelsOSD.xml) | v13 Addition |
PreviousStereoMode
|
Changes the stereo mode of the GUI to the previous available mode. | v13 Addition |
RefreshRSS
|
Reload RSS feeds from RSSFeeds.xml | |
ReplaceWindow(window,dir)
|
Replaces the current window with the given window. This is the same as ActivateWindow() but it doesn't update the window history list, so when you go back from the new window it will not return to the previous window, rather will return to the previous window's previous window. | |
ReplaceWindowAndFocus(id1, id2,item1, id3,item2)
|
Replace window with id1, first focus control id2 and then focus control id3. if either of the controls is a container, you can specify which item to focus (else, set it to 0). | v13 Addition |
Resolution
|
Change Kodi's Resolution. | |
SetGUILanguage(value)
|
Set GUI Language, 'value' is the language file to use. SetGUILanguage(resource.language.de_de) | v13 Addition |
SetProperty(key,value[,id])
|
Sets a window property for the current window (key,value), or the specified window (key,value,id). | |
SetStereoMode
|
Changes the stereo mode of the GUI. Params can be: toggle, next, previous, select, tomono or any of the supported stereomodes (off, split_vertical, split_horizontal, row_interleaved, hardware_based, anaglyph_cyan_red, anaglyph_green_magenta, monoscopic) | v13 Addition |
settingslevelchange
|
Toggles the visible settings (in SettingsCategory.xml) between 'basic', 'standard', 'advanced and 'expert' | v13 Addition |
TakeScreenshot([filenameandpath,sync])
|
Takes a Screenshot. You can optionally specify the filename (including the path). Note: only .png files are supported. Add "sync" parameter to run synchronously (slow). | |
ToggleDirtyRegionVisualization
|
makes dirty regions visible for debugging proposes. | v16 Addition |
ToggleStereoMode
|
Toggle the stereoscopic mode of the GUI (on/off). | v13 Addition |
GUI container built-in's
Function | Description | Version |
---|---|---|
Container.NextSortMethod
|
Change to the next sort method. | |
Container.NextViewMode
|
Select the next view mode. | |
Container.PreviousSortMethod
|
Change to the previous sort method. | |
Container.PreviousViewMode
|
Select the previous view mode. | |
Container.Refresh
|
Refresh current listing. | |
Container.SetSortMethod(id)
|
Change to the specified sort method. (For list of ID's see [list of sort methods]) | |
Container.SetViewMode(id)
|
Set the current view mode (list, icons etc.) to the given container id. | |
Container.SetSortDirection
|
Toggle the sort direction. | |
Container.Update
|
Update current listing. Send Container.Update(path,replace) to reset the path history. |
GUI control built-in's
Function | Description | Version |
---|---|---|
Control.Message(id,message,[windowid])
|
Sends a given message to a control in a given window (or active window if omitted). Messages can be movedown, moveup, pagedown, pageup, click. | |
Control.Move(id,offset)
|
Will make a Container with the "id" specified in the command move focus by "offset". | |
Control.SetFocus(id,position[,absolute])
|
Will make a list with the "id" specified in the command gain focus at "position" number in its list. Set absolute to focus the first listitem of a container instead of the first visible listitem. Alias SetFocus(id,position) | |
PageDown
|
Send a page down event to the pagecontrol with given id. | |
PageUp
|
Send a page up event to the pagecontrol with given id. | |
SendClick(windowid,id)
|
Sends a click to a control in a given window (or active window if omitted). | |
SetFocus(id,position[,absolute])
|
Will make a list with the "id" specified in the command gain focus at "position" number in its list. Set absolute to focus the first listitem of a container instead of the first visible listitem. Alias Control.SetFocus(id,position) |
Library built-in's
Function | Description | Version |
---|---|---|
CleanLibrary(database)
|
This funtion will perform a number of 'cleanup' tasks on your video database and can be run if you have moved, deleted or renamed files. Takes either "video" or "music" as a parameter to begin cleaning the corresponding database. | |
exportlibrary(music,false,filepath)
|
The music library will be exported to a single file stored at filepath location. | |
exportlibrary(video,true,thumbs,overwrite,actorthumbs)
|
The video library is exported to multiple files with the given options. Here thumbs, overwrite and actorthumbs are boolean values (true or false). | |
UpdateLibrary(database,[path])
|
Takes either "video" or "music" as a parameter to begin updating the corresponding database. For "video" you can additionally specify a specific path to be scanned. | |
VideoLibrary.Search
|
Brings up a search dialog which will search the library |
Optical container built-in's
Function | Description | Version |
---|---|---|
EjectTray()
|
Either opens or closes the DVD tray, depending on its current state | |
RipCD
|
Will rip the inserted CD from the DVD-ROM drive. |
Picture built-in's
Function | Description | Version |
---|---|---|
RecursiveSlideShow(dir)
|
Run a slideshow from the specified directory, including all subdirs | |
ShowPicture(picture)
|
Show a picture by its file path/url. | v13 Addition |
SlideShow(dir[,recursive][,[not]random][,pause][,beginslide="/path/to/start/slide.jpg"])
|
Starts a slideshow of pictures in the folder dir. Optional parameters are 'recursive', 'random' or 'notrandom', 'pause' and 'beginslide="/path/to/some/image.jpg"' parameters. The "recursive" parameter starts a recursive slideshow, adding images from sub-folders. The "random" and "notrandom" parameters override the Randomize setting found in the pictures media window. The "pause" parameter will start the slideshow paused. "beginslide" will start the slideshow with the specified image. |
Player built-in's
Function | Description | Version |
---|---|---|
PlayDisc(param)
|
Will play the inserted CD or DVD media from the DVD-ROM drive. | |
PlayerControl(command)
|
Allows control of music and videos. The command may be one of Play, Stop, Forward, Rewind, Next, Previous, BigSkipForward, BigSkipBackward, SmallSkipForward, SmallSkipBackward, FrameAdvance(#), TempoUp, TempoDown, Tempo(value), Random, RandomOn, RandomOff, Repeat, RepeatOne, RepeatAll, RepeatOff, Partymode(music) or Partymode(video) or Partymode(path to .xsp file) or Reset.
Play will either pause, resume, or stop ffwding or rewinding. Random toggles random playback and Repeat cycles through the repeat modes (these both take an optional second parameter, Notify, that notifies the user of the new state). Partymode(music/video) toggles the appropriate partymode, defaults to music if no parameter is given, besides the default music or video partymode you can also pass a path to a custom smartplaylist (.xsp) as parameter. Reset only applies to games and will reset the currently playing game. |
|
PlayerResolutionSelect
|
Select a different resolution | v18 |
Playlist.Clear
|
Clear the current playlist | |
Playlist.PlayOffset
|
Start playing from a particular offset in the playlist | |
PlayMedia(mediaPath[,isdir][,1][,playoffset=xx][,resume][,noresume][,playlist_type_hint=x])
|
Plays the media. This can be a playlist, music, or video file, directory, plugin or a url. The optional parameter ",isdir" can be used for playing a directory. ",1" will start the media without switching to fullscreen. If media is a playlist, you can use playoffset=xx where xx is the position to start playback from. Set "resume" to force resuming. Set "noresume" to force not resuming.
Note: Following parameters are available from Kodi v20. If media is a playlist (e.g. STRM), you can set the type of playlist with "playlist_type_hint=x" where x can be 0 for music playlist or 1 for video playlist, if not set will be used music playlist. |
|
PlayWith()
|
Play the selected item with the specified player core. | |
QueueMedia() [1]
|
Queues the given media. This can be a playlist\, music\, or video file\, directory\, plugin or an Url. The optional parameter "\,isdir" can be used for playing a directory. "\,1" will start the media without switching to fullscreen. If media is a playlist\, you can use playoffset=xx where xx is the position to start playback from.
|
|
Seek(seconds)
|
Seeks to the specified relative amount of seconds within the current playing media. A negative value will seek backward and a positive value forward. | v15 Addition |
Profile built-in's
Function | Description | Version |
---|---|---|
LoadProfile(profilename,[prompt])
|
Load the specified profile. If prompt is not specified, and a password would be required for the requested profile, this command will silently fail. If promp' is specified and a password is required, a password dialog will be shown. | |
Mastermode
|
Runs Kodi in master mode | |
System.LogOff
|
Log off current user. |
PVR built-in's
Function | Description | Version |
---|---|---|
PVR.SearchMissingChannelIcons
|
Will start a search for missing channel icons | v16 Addition |
PVR.ToggleRecordPlayingChannel
|
Will toggle recording on playing channel, if any | v18 |
PVR.SeekPercentage
|
Performs a seek to the given percentage in timeshift buffer, if timeshifting is supported |
Skin built-in's
Function | Description | Version |
---|---|---|
ReloadSkin()
|
Reloads the current skin – useful for Skinners to use after they upload modified skin files (saves power cycling) | |
Skin.Reset(setting)
|
Resets the skin setting (setting) . If (setting) is a bool setting (i.e. set via SetBool or ToggleSetting) then the setting is reset to false. If (setting) is a string (Set via SetString, SetImage, or SetPath) then it is set to empty.
|
|
Skin.ResetSettings
|
Resets all the above skin settings to their defaults (toggles all set to false, strings all set to empty.) | |
Skin.SelectBool(header, label1|setting1, label2|setting2)
|
Pops up select dialog to select between multiple skin setting options. Skin.SelectBool(424, 31411|RecentWidget, 31412|RandomWidget, 31413|InProgressWidget) | |
Skin.SetAddon(string,type)
|
Pops up a select dialog and allows the user to select an add-on of the given type to be used elsewhere in the skin via the info tag Skin.String(string). The most common types are xbmc.addon.video, xbmc.addon.audio, xbmc.addon.image, xbmc.addon.executable and kodi.gameclient. | |
Skin.SetBool(setting)
|
Sets the skin setting (setting) to true, for use with the conditional visibility tags containing Skin.HasSetting(setting). The settings are saved per-skin in settings.xml just like all the other Kodi settings.
|
|
Skin.SetFile(string,mask,folderpath)
|
Pops up a folder browser and allows the user to select a file off the hard-disk to be used else where in the skin via the info tag Skin.String(string). If the mask parameter is specified, then the file browser will only search for the extension specified (.avi,.mp3,.m3u,.png,.bmp,etc.,etc.). To use multiple extensions separate them using "|" (minus quotes). If the folderpath parameter is set the file browser will start in that folder. | |
Skin.SetImage(string[,value,path])
|
Pops up a file browser and allows the user to select an image file to be used in an image control elsewhere in the skin via the info tag Skin.String(string). If the value parameter is specified, then the file browser dialog does not pop up, and the image path is set directly. the path option allows you to open the file browser in the specified folder. | |
Skin.SetNumeric(numeric[,value])
|
Pops up a keyboard dialog and allows the user to input a numerical. | |
Skin.SetPath(string[,folderpath])
|
Pops up a folder browser and allows the user to select a folder of images to be used in a multi image control else where in the skin via the info tag Skin.String(string). If the folderpath parameter is set the file browser will start in that folder. | |
Skin.SetString(string[,value])
|
Pops up a keyboard dialog and allows the user to input a string which can be used in a label control elsewhere in the skin via the info tag Skin.String(string). If the value parameter is specified, then the keyboard dialog does not pop up, and the string is set directly. | |
Skin.Theme(1)
|
Cycles the skin theme. Skin.Theme(-1) will go backwards. | |
Skin.ToggleDebug
|
Toggles skin debug info on/off | |
Skin.ToggleSetting(setting)
|
Toggles the skin setting (setting) for use with conditional visibility tags containing Skin.HasSetting(setting).
|
|
UnloadSkin()
|
Unloads the current skin |
System built-in's
Function | Description | Version |
---|---|---|
ActivateScreensaver
|
Starts the screensaver | v13 Addition |
Hibernate
|
Hibernate (S4) the System | |
InhibitIdleShutdown(true/false)
|
Prevent the system to shutdown on idle. | v12 Addition |
InhibitScreensaver(true/false)
|
Prevent activation of the screensaver. | v19 Addition |
Minimize
|
Minimizes Kodi | |
Powerdown
|
Powerdown system | |
Quit
|
Quits Kodi | |
Reboot
|
Cold reboots the system (power cycle) | |
Reset
|
Reset the system (same as reboot) | |
RestartApp
|
Restarts Kodi (only implemented under Windows and Linux) | |
ShutDown
|
Trigger default Shutdown action defined in System Settings | |
Suspend
|
Suspends (S3 / S1 depending on bios setting) the System | |
System.Exec(exec)
|
Execute shell commands. The full path to the script has to be placed inside the parentheses. | |
System.ExecWait(exec)
|
Execute shell commands and freezes Kodi until shell is closed. As well as for "System.Exec(exec)", the full path to the script has to be placed inside the parentheses. |
Weather built-in's
Function | Description | Version |
---|---|---|
Weather.LocationNext
|
Switch to next weather location | |
Weather.LocationPrevious
|
Switch to previous weather location | |
Weather.LocationSet
|
Switch to given weather location (parameter can be 1-3) | |
Weather.Refresh
|
Force weather data refresh |
Windows
This table cross-references Window names, Window definitions, and Window ID.
Code that performs the cross-reference is found on Github as follows:
Master Branch - WindowTranslator.cpp |
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 [2] |
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
|
[3] | |
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 | |
gamestretchmode
|
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 | [4] |
ingamesaves
|
WINDOW_DIALOG_IN_GAME_SAVES
|
10829
|
DialogSelect.xml | [5] |
gamesaves
|
WINDOW_DIALOG_GAME_SAVES
|
10830
|
DialogSelect.xml | [6] |
gameagents
|
WINDOW_DIALOG_GAME_AGENTS
|
10831
|
DialogGameControllers.xml | [7] |
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 | |
managevideoversions
|
WINDOW_DIALOG_MANAGE_VIDEO_VERSIONS
|
12004
|
DialogVideoManager.xml | Added in Kodi v21 Omega |
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 |
selectvideoversion
|
WINDOW_DIALOG_SELECT_VIDEO_VERSION
|
12015
|
DialogSelect.xml | Added in Kodi v21 Omega |
selectvideoextra
|
WINDOW_DIALOG_SELECT_VIDEO_EXTRA
|
12016
|
DialogSelect.xml | Added in Kodi v21 Omega |
managevideoextras
|
WINDOW_DIALOG_MANAGE_VIDEO_EXTRAS
|
12017
|
DialogVideoManager.xml | Added in Kodi v21 Omega |
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
- mousemove
- mousedrag
- mousedragstart
- mousedragend
- mouserdrag - right button drag
- mouserdragstart - start of right button drag
- mouserdragend - end of right button drag
Examples and pre-made keymaps
- See: Category:Remotes