<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cmayo</id>
	<title>Official Kodi Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cmayo"/>
	<link rel="alternate" type="text/html" href="https://kodi.wiki/view/Special:Contributions/Cmayo"/>
	<updated>2026-06-16T14:35:03Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://kodi.wiki/index.php?title=Basic_playlists&amp;diff=189191</id>
		<title>Basic playlists</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Basic_playlists&amp;diff=189191"/>
		<updated>2019-12-27T19:41:26Z</updated>

		<summary type="html">&lt;p&gt;Cmayo: /* Playlist folder location */ Correct case of .kodi on Linux&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[Playlists]] }} {{to do}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;Kodi supports both basic playlists and &#039;&#039;&#039;[[smart playlists]]&#039;&#039;&#039;. A basic playlist is a normal text file that lists one or more media files (Audio or Video), and plays them in succession. You can either create your own or use existing playlists from other sources, such as a playlist generated from Winamp, iTunes, or other sources. Basic playlists can be created and edited directly from Kodi&#039;s GUI.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Basic playlists ==&lt;br /&gt;
The main way to create and manipulate playlists in Kodi is through the playlist editors (both for normal and smart playlists).&lt;br /&gt;
&lt;br /&gt;
=== How to create a normal playlist ===&lt;br /&gt;
[[File:Playlist queue.png|500px|right]]&lt;br /&gt;
You can add videos/songs or entire folders with the &amp;quot;Queue&amp;quot; action of your remote/keyboard ({{keypress|Q}} on a keyboard) or the &#039;&#039;&#039;&amp;quot;Queue Item&amp;quot;&#039;&#039;&#039; option in the context menu can be used. Kodi will add the selected item to the playlist and then advance to the next item in the window.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To see the currently loaded playlist, bring up the context menu.  The currently playing/queued playlist is accessible via the &#039;&#039;&#039;&amp;quot;Current playlist&amp;quot;&#039;&#039;&#039; item in the left hand sidebar menu.  If the playlist is currently empty then that option will not be visible in the sidebar menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
While in the &amp;quot;Current playlist&amp;quot; window and pressing the &#039;&#039;&#039;Select&#039;&#039;&#039; or the &#039;&#039;&#039;Play&#039;&#039;&#039; button will start playback of your playlist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When in the &amp;quot;Current playlist&amp;quot; view, you can save your playlist by bringing up the options in the left hand sidebar menu. Playlists are, by default, saved in a subfolder  of [[userdata]]/playlists (separate folder for music, video and mixed playlists).&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
=== Current playlist window ===&lt;br /&gt;
{{anchor|Now Playing}}&lt;br /&gt;
The current playlist is a special window for the current audio or video playlist. This list is accessible from the left hand sidebar menu and [[Music#OSD .28On Screen Display.29|music OSD]]. Selecting an entry will start playback.&lt;br /&gt;
{{-}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Sidebar menu ====&lt;br /&gt;
[[File:Now playing 3.png|500px|right]]&lt;br /&gt;
On the default skin (Confluence) you can bring up these options by bringing up the sidebar menu (press {{keypress|left}} on a keyboard or remote).&lt;br /&gt;
;Shuffle&lt;br /&gt;
:Shuffles the currently playing playlist&lt;br /&gt;
;Repeat&lt;br /&gt;
:Repeats the currently playing playlist, options are: &#039;&#039;&#039;All&#039;&#039;&#039; songs/videos, &#039;&#039;&#039;One&#039;&#039;&#039; song/video or &#039;&#039;&#039;Off&#039;&#039;&#039; for no repeating.&lt;br /&gt;
;Save&lt;br /&gt;
:Saves the currently playing playlist&lt;br /&gt;
;Clear&lt;br /&gt;
:Clears the currently playing playlist&lt;br /&gt;
{{-}}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Context menu ====&lt;br /&gt;
[[File:Now playing 2.png|500px|right]]&lt;br /&gt;
The context menu (press {{keypress|C}} on a keyboard) within the current playlist allows you to move the order of items or remove them.&lt;br /&gt;
&lt;br /&gt;
On a [[keyboard]] you can also use:&lt;br /&gt;
* {{keypress|U}} - Move selected up&lt;br /&gt;
* {{keypress|D}} - Move selected down&lt;br /&gt;
* {{keypress|DEL}} - Remove from playlist.&lt;br /&gt;
&lt;br /&gt;
A remote control with the proper [[keymap]] additions can also use those actions.&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Party Mode playlists ==&lt;br /&gt;
{{see|Party Mode}}&lt;br /&gt;
&lt;br /&gt;
== Smart playlists ==&lt;br /&gt;
{{main|Smart playlists}}&lt;br /&gt;
{{#lst:Smart playlist|intro}}&lt;br /&gt;
&lt;br /&gt;
== Other supported playlist ==&lt;br /&gt;
Kodi supports [http://en.wikipedia.org/wiki/PLS_%28file_format%29 PLS], Winamp [http://en.wikipedia.org/wiki/M3U M3U], [http://en.wikipedia.org/wiki/Cue_sheet Cue Sheets], and [[Smart playlists|Kodi Smart Playlist (XSP)]] playlists.&lt;br /&gt;
&lt;br /&gt;
== Playlist folder location ==&lt;br /&gt;
The playlists should be placed into a folder named “music“, “mixed” or “video” in the following location:&lt;br /&gt;
* &#039;&#039;&#039;Windows XP:&#039;&#039;&#039; &amp;lt;code&amp;gt;Documents and Settings\&amp;lt;your_user_name&amp;gt;\Application Data\Kodi\userdata\playlists\&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Vista/Windows 7:&#039;&#039;&#039; &amp;lt;code&amp;gt;Users\&amp;lt;your_user_name&amp;gt;\AppData\Roaming\Kodi\userdata\playlists\&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Mac OS X:&#039;&#039;&#039; &amp;lt;code&amp;gt;/Users/&amp;lt;your_user_name&amp;gt;/Library/Application Support/Kodi/userdata/playlists/&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;iOS:&#039;&#039;&#039; &amp;lt;code&amp;gt;/private/var/mobile/Library/Preferences/Kodi/userdata/playlists/&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Linux:&#039;&#039;&#039; &amp;lt;code&amp;gt;$HOME/.kodi/userdata/playlists/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Helix updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Video library]]&lt;br /&gt;
[[Category:Music library]]&lt;br /&gt;
[[Category:Manual]]&lt;/div&gt;</summary>
		<author><name>Cmayo</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on:RTL-SDR_FM_Radio_Client&amp;diff=146886</id>
		<title>Add-on:RTL-SDR FM Radio Client</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on:RTL-SDR_FM_Radio_Client&amp;diff=146886"/>
		<updated>2018-11-02T19:57:35Z</updated>

		<summary type="html">&lt;p&gt;Cmayo: Tidy up the introduction and overview making the use of RTL-SDR clearer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- See http://kodi.wiki/view/Template:Addon and http://kodi.wiki/view/Help:Add-on_page for help editing this page --&amp;gt;&lt;br /&gt;
{{Addon &lt;br /&gt;
 | Name = RTL-SDR FM Radio Client&lt;br /&gt;
 | provider-name = Alwin Esch, Team XBMC&lt;br /&gt;
 | ID = pvr.rtl.radiofm&lt;br /&gt;
 | latest-version = 0.0.9&lt;br /&gt;
 | extension point = xbmc.pvrclient&lt;br /&gt;
 | provides = audio&lt;br /&gt;
 | Platform = android freebsd linux osx windx wingl ios&lt;br /&gt;
 | broken = &lt;br /&gt;
 | icon url = &lt;br /&gt;
 | repo = &lt;br /&gt;
 | zip = &lt;br /&gt;
 | Summary = FM Radio receiver based upon RTL-SDR as PVR addon for Kodi&lt;br /&gt;
 | Forum = http://forum.kodi.tv/showthread.php?tid=214747&lt;br /&gt;
 | Website = http://esmasol.de/open-source/kodi-add-on-s/fm-radio-receiver/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
FM Radio with RDS receiver based upon RTL-SDR as a PVR add-on for Kodi. With this you can turn your Realtek RTL2832 based DVB dongle into a FM radio receiver.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
This add-on, which allows you to receive FM Radio with RDS on a very cheap USB DVB-T stick, relies on RTL-SDR that provides a software defined radio using the USB stick. Processing is performed on the CPU which can require a lot of CPU performance.&lt;br /&gt;
&lt;br /&gt;
The add-on interfaces with RTL-SDR supported Realtek RTL2832U based USB receivers (see http://sdr.osmocom.org/trac/wiki/rtl-sdr) to decode an FM radio signal and send to Kodi the audio stream in float format and the RDS signal translated to UECP.&lt;br /&gt;
&lt;br /&gt;
The add-on is usable since Kodi 15.0 and RDS support first came with Kodi 16.0.&lt;br /&gt;
&lt;br /&gt;
Note! On Linux make sure the kernel module dvb_usb_rtl28xxu for DVB-T is not loaded, otherwise is it not usable for RTL-SDR!&lt;br /&gt;
&lt;br /&gt;
==Settings==&lt;br /&gt;
?&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[PVR]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
* Website: http://esmasol.de/open-source/kodi-add-on-s/fm-radio-receiver/&lt;br /&gt;
* Source code: https://github.com/AlwinEsch/pvr.rtl.radiofm&lt;br /&gt;
* Kodi forum: https://forum.kodi.tv/showthread.php?tid=214747&lt;br /&gt;
===RTL SDR FM Streamer===&lt;br /&gt;
An alternative FM receiver based on RTL-SDR that doesn&#039;t use an add-on.&lt;br /&gt;
* Website: https://github.com/AlbrechtL/rtl_fm_streamer&lt;br /&gt;
* OpenELEC thread: https://forum.openelec.tv/showthread.php?tid=75537&lt;br /&gt;
* Raspberrypi.org thread: https://www.raspberrypi.org/forums/viewtopic.php?f=38&amp;amp;t=122372&lt;/div&gt;</summary>
		<author><name>Cmayo</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on:RTL-SDR_FM_Radio_Client&amp;diff=146885</id>
		<title>Add-on:RTL-SDR FM Radio Client</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on:RTL-SDR_FM_Radio_Client&amp;diff=146885"/>
		<updated>2018-11-02T19:31:08Z</updated>

		<summary type="html">&lt;p&gt;Cmayo: Separate out RTL SDR FM links making clear it is a different solution&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- See http://kodi.wiki/view/Template:Addon and http://kodi.wiki/view/Help:Add-on_page for help editing this page --&amp;gt;&lt;br /&gt;
{{Addon &lt;br /&gt;
 | Name = RTL-SDR FM Radio Client&lt;br /&gt;
 | provider-name = Alwin Esch, Team XBMC&lt;br /&gt;
 | ID = pvr.rtl.radiofm&lt;br /&gt;
 | latest-version = 0.0.9&lt;br /&gt;
 | extension point = xbmc.pvrclient&lt;br /&gt;
 | provides = audio&lt;br /&gt;
 | Platform = android freebsd linux osx windx wingl ios&lt;br /&gt;
 | broken = &lt;br /&gt;
 | icon url = &lt;br /&gt;
 | repo = &lt;br /&gt;
 | zip = &lt;br /&gt;
 | Summary = FM Radio receiver based upon RTL-SDR as PVR addon for Kodi&lt;br /&gt;
 | Forum = http://forum.kodi.tv/showthread.php?tid=214747&lt;br /&gt;
 | Website = http://esmasol.de/open-source/kodi-add-on-s/fm-radio-receiver/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
FM Radio receiver based upon RTL-SDR as PVR addon for Kodi. FM Radio with RDS receiver based upon RTL-SDR as PVR addon for Kodi. With this you can turn your Realtek RTL2832 based DVB dongle into a FM radio receiver.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
FM Radio receiver based upon RTL-SDR as PVR addon for Kodi. This add-on to receive FM-Radio with RDS on very cheap USB DVB-T stick  relies on RTL SDR FM Streamer software which is a small tool to stream FM radio by using a DVB-T dongle to a client e.g Kodi, (or VLC, or MPlayer for that matter). Operation is complete performed inside CPU which allow a lot of features, but also requires a lot of CPU performance.&lt;br /&gt;
&lt;br /&gt;
The DVB-T dongle has to be based on the Realtek RTL2832U hardware chip. See http://sdr.osmocom.org/trac/wiki/rtl-sdr for more RTL SDR details.&lt;br /&gt;
&lt;br /&gt;
This addon interfaces with RTL-SDR supported receivers with Realtek RTL2832U as source (see http://sdr.osmocom.org/trac/wiki/rtl-sdr) to make FM radio signal receive and send the audio stream in float format to Kodi and send also RDS signal translated to UECP in it.&lt;br /&gt;
&lt;br /&gt;
Add-on is usable since Kodi 15.0 and RDS support first came with version 16.0 of Kodi.&lt;br /&gt;
&lt;br /&gt;
Note! On linux make sure the kernel part dvb_usb_rtl28xxu for DVB-T is not loaded, otherwise is it not usable for RTL-SDR!&lt;br /&gt;
&lt;br /&gt;
==Settings==&lt;br /&gt;
?&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[PVR]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
* Website: http://esmasol.de/open-source/kodi-add-on-s/fm-radio-receiver/&lt;br /&gt;
* Source code: https://github.com/AlwinEsch/pvr.rtl.radiofm&lt;br /&gt;
* Kodi forum: https://forum.kodi.tv/showthread.php?tid=214747&lt;br /&gt;
===RTL SDR FM Streamer===&lt;br /&gt;
An alternative FM receiver based on RTL-SDR that doesn&#039;t use an add-on.&lt;br /&gt;
* Website: https://github.com/AlbrechtL/rtl_fm_streamer&lt;br /&gt;
* OpenELEC thread: https://forum.openelec.tv/showthread.php?tid=75537&lt;br /&gt;
* Raspberrypi.org thread: https://www.raspberrypi.org/forums/viewtopic.php?f=38&amp;amp;t=122372&lt;/div&gt;</summary>
		<author><name>Cmayo</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Add-on:RTL-SDR_FM_Radio_Client&amp;diff=146884</id>
		<title>Add-on:RTL-SDR FM Radio Client</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Add-on:RTL-SDR_FM_Radio_Client&amp;diff=146884"/>
		<updated>2018-11-02T19:19:52Z</updated>

		<summary type="html">&lt;p&gt;Cmayo: Fix broken external links&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{incomplete}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- See http://kodi.wiki/view/Template:Addon and http://kodi.wiki/view/Help:Add-on_page for help editing this page --&amp;gt;&lt;br /&gt;
{{Addon &lt;br /&gt;
 | Name = RTL-SDR FM Radio Client&lt;br /&gt;
 | provider-name = Alwin Esch, Team XBMC&lt;br /&gt;
 | ID = pvr.rtl.radiofm&lt;br /&gt;
 | latest-version = 0.0.9&lt;br /&gt;
 | extension point = xbmc.pvrclient&lt;br /&gt;
 | provides = audio&lt;br /&gt;
 | Platform = android freebsd linux osx windx wingl ios&lt;br /&gt;
 | broken = &lt;br /&gt;
 | icon url = &lt;br /&gt;
 | repo = &lt;br /&gt;
 | zip = &lt;br /&gt;
 | Summary = FM Radio receiver based upon RTL-SDR as PVR addon for Kodi&lt;br /&gt;
 | Forum = http://forum.kodi.tv/showthread.php?tid=214747&lt;br /&gt;
 | Website = http://esmasol.de/open-source/kodi-add-on-s/fm-radio-receiver/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
FM Radio receiver based upon RTL-SDR as PVR addon for Kodi. FM Radio with RDS receiver based upon RTL-SDR as PVR addon for Kodi. With this you can turn your Realtek RTL2832 based DVB dongle into a FM radio receiver.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
FM Radio receiver based upon RTL-SDR as PVR addon for Kodi. This add-on to receive FM-Radio with RDS on very cheap USB DVB-T stick  relies on RTL SDR FM Streamer software which is a small tool to stream FM radio by using a DVB-T dongle to a client e.g Kodi, (or VLC, or MPlayer for that matter). Operation is complete performed inside CPU which allow a lot of features, but also requires a lot of CPU performance.&lt;br /&gt;
&lt;br /&gt;
The DVB-T dongle has to be based on the Realtek RTL2832U hardware chip. See http://sdr.osmocom.org/trac/wiki/rtl-sdr for more RTL SDR details.&lt;br /&gt;
&lt;br /&gt;
This addon interfaces with RTL-SDR supported receivers with Realtek RTL2832U as source (see http://sdr.osmocom.org/trac/wiki/rtl-sdr) to make FM radio signal receive and send the audio stream in float format to Kodi and send also RDS signal translated to UECP in it.&lt;br /&gt;
&lt;br /&gt;
Add-on is usable since Kodi 15.0 and RDS support first came with version 16.0 of Kodi.&lt;br /&gt;
&lt;br /&gt;
Note! On linux make sure the kernel part dvb_usb_rtl28xxu for DVB-T is not loaded, otherwise is it not usable for RTL-SDR!&lt;br /&gt;
&lt;br /&gt;
==Settings==&lt;br /&gt;
?&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[PVR]]&lt;br /&gt;
&lt;br /&gt;
==External Links==&lt;br /&gt;
* Website: http://esmasol.de/open-source/kodi-add-on-s/fm-radio-receiver/&lt;br /&gt;
* Source code: https://github.com/AlwinEsch/pvr.rtl.radiofm&lt;br /&gt;
** https://github.com/AlbrechtL/rtl_fm_streamer&lt;br /&gt;
* Kodi forum: https://forum.kodi.tv/showthread.php?tid=214747&lt;br /&gt;
* OpenELEC thread: https://forum.openelec.tv/showthread.php?tid=75537&lt;br /&gt;
* Raspberrypi.org thread: https://www.raspberrypi.org/forums/viewtopic.php?f=38&amp;amp;t=122372&lt;/div&gt;</summary>
		<author><name>Cmayo</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=CEC&amp;diff=131277</id>
		<title>CEC</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=CEC&amp;diff=131277"/>
		<updated>2017-11-29T20:03:02Z</updated>

		<summary type="html">&lt;p&gt;Cmayo: /* Settings in {{Kodi}} for CEC */ Improve the recipe for finding button names.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Pulse Eight CEC.jpg|300px|right|thumb|The Pulse-Eight USB to CEC adapter, for devices that don&#039;t have CEC connected to their internal HDMI pins.]]&lt;br /&gt;
{{mininav|[[Remote controls]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;[[w:Consumer Electronics Control|CEC]] ({{u|C}}onsumer {{u|E}}lectronics {{u|C}}ontrol) allows for control of devices over the HDMI port. &lt;br /&gt;
&lt;br /&gt;
All modern televisions and AV-receivers support HDMI-CEC, which is a technology that allows devices to talk with each other over the HDMI cable. {{Kodi}} comes with [http://libcec.pulse-eight.com/ libCEC] (CEC abstraction and interface library from Pulse-Eight) which allows control of the {{Kodi}} input over the standard TV remote that comes with your TV. As buttons are pressed the remote command is sent via the HDMI cable to your {{Kodi}} device.&lt;br /&gt;
&lt;br /&gt;
Using this feature a {{Kodi}} compatible CEC controller/adapter will send and receive remote key presses to and from your television and AV-receiver via [http://libcec.pulse-eight.com/ libCEC].&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CEC allows you to do things such as:&lt;br /&gt;
* Controlling {{Kodi}} from the TV&#039;s remote control&lt;br /&gt;
* Automatically switch to the right TV input device&lt;br /&gt;
* Letting the HTPC control what mode your audio receiver is on when the TV switches on&lt;br /&gt;
* Turning all devices off with one remote&lt;br /&gt;
* Set volume/mute of the receiver&lt;br /&gt;
* And a lot more!&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Consumer Electronics Control (CEC) is an HDMI feature designed to allow the user to command and control up-to 15 CEC-enabled devices, that are connected through HDMI,[63][64] by using only one of their remote controls (for example by controlling a television set, set-top box, and DVD player using only the remote control of the TV).[65] CEC also allows for individual CEC-enabled devices to command and control each other without user intervention.&lt;br /&gt;
&lt;br /&gt;
It is a one-wire bidirectional serial bus that is based on the CENELEC standard AV.link protocol to perform remote control functions. CEC wiring is mandatory, although implementation of CEC in a product is optional. It was defined in HDMI Specification 1.0 and updated in HDMI 1.2, HDMI 1.2a and HDMI 1.3a (which added timer and audio commands to the bus). USB to CEC adapters exist that allow a computer to control CEC-enabled devices.&lt;br /&gt;
&lt;br /&gt;
{{Kodi}} uses libCEC (CEC library) from Pulse-Eight for send and receive CEC commands over the HDMI bus, this is because libCEC acts an abstraction layer and translate the commands to match each vendor and devices compatibility issues. &lt;br /&gt;
&lt;br /&gt;
libCEC is aimed at being a reference implementation of the HDMI 1.4b Specification, however what each adopter supports is not always what they should support. Equally some mandatory features of HDMI-CEC are not implemented by some vendors.&lt;br /&gt;
&lt;br /&gt;
{{youtube|1eDJbT35X5k}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;The following is a list of the most commonly used HDMI-CEC commands:&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;One Touch Play&#039;&#039;&#039; allows devices to switch the TV to use it as the active source when playback starts&lt;br /&gt;
* &#039;&#039;&#039;System Standby&#039;&#039;&#039; enables users to switch multiple devices to standby mode with the press of one button&lt;br /&gt;
* &#039;&#039;&#039;Preset Transfer&#039;&#039;&#039; transfers the tuner channel setup to another TV set&lt;br /&gt;
* &#039;&#039;&#039;One Touch Record&#039;&#039;&#039; allows users to record whatever is currently being shown on the HDTV screen on a selected recording device&lt;br /&gt;
* &#039;&#039;&#039;Timer Programming&#039;&#039;&#039; allows users to use the EPG (Electronic Program Guides) that are built into many HDTVs and set-top-boxes to program the timer in recording devices like PVRs and DVRs&lt;br /&gt;
* &#039;&#039;&#039;System Information&#039;&#039;&#039; checks all components for bus addresses and configuration&lt;br /&gt;
* &#039;&#039;&#039;Deck Control&#039;&#039;&#039; allows a component to interrogate and control the operation (play, pause, rewind etc.), of a playback component (Blu-ray or HD DVD player or a Camcorder, etc.)&lt;br /&gt;
* &#039;&#039;&#039;Tuner Control&#039;&#039;&#039; allows a component to control the tuner of another component&lt;br /&gt;
* &#039;&#039;&#039;OSD Display&#039;&#039;&#039; uses the OSD of the TV set to display text&lt;br /&gt;
* &#039;&#039;&#039;Device Menu Control&#039;&#039;&#039; allows a component to control the menu system of another component by passing through the user interface (UI) commands&lt;br /&gt;
* &#039;&#039;&#039;Routing Control&#039;&#039;&#039; controls the switching of signal sources&lt;br /&gt;
* &#039;&#039;&#039;Remote Control Pass Through&#039;&#039;&#039; allows remote control commands to be passed through to other devices within the system&lt;br /&gt;
* &#039;&#039;&#039;Device OSD Name Transfer&#039;&#039;&#039; transfers the preferred device names to the TV set&lt;br /&gt;
* &#039;&#039;&#039;System Audio Control&#039;&#039;&#039; allows the volume of an AV receiver, integrated amplifier or preamplifier to be controlled using any remote control from a suitably equipped device(s) in the system&lt;br /&gt;
&lt;br /&gt;
== Settings in {{Kodi}} for CEC ==&lt;br /&gt;
These instructions work for all libCEC compatible HDMI-CEC controllers and adapters, such as the Pulse-Eight USB - CEC Adapter or the HDMI-CEC controller built-into the Raspberry Pi. &lt;br /&gt;
&lt;br /&gt;
Settings for your CEC devices can be found in:&lt;br /&gt;
&lt;br /&gt;
System -&amp;gt; Settings -&amp;gt; System -&amp;gt; Input Devices -&amp;gt; Peripherals -&amp;gt; CEC adapter&lt;br /&gt;
&lt;br /&gt;
CEC uses the &#039;&#039;&#039;[[keymap|remote.xml keymap]]&#039;&#039;&#039;, editing that XML file will allow you to customize most buttons.&lt;br /&gt;
&lt;br /&gt;
To identify button names, enable the [[debug log]] and look for OnKey messages. Unfortunately the key name reported is bogus and you will need to deduce it by searching for the reported action in the [[Keymap#Defaults|default remote.xml]] and noting the key that causes the action in the window showing when the message was logged.&lt;br /&gt;
&lt;br /&gt;
== CEC-capable HTPCs ==&lt;br /&gt;
* Most HTPCs, such as x86 (&amp;quot;desktop&amp;quot;-class) HTPCs, don&#039;t have the ability to use CEC on their internal HDMI ports. Probably because the industry is silly. Those HTPCs will need to use an adapter to inject the CEC signal into the HDMI cable, such as the Pulse-Eight CEC USB adapter: http://www.pulse-eight.com/store/products/104-usb-hdmi-cec-adapter.aspx&lt;br /&gt;
&lt;br /&gt;
* Some ARM/&amp;quot;Android boxes&amp;quot; have the ability to use CEC, but only expose some basic functions to {{Kodi}}. These functions are typically enough to use a TV remote to control that box. For example, the [[Amazon Fire TV]] has this kind of CEC functionality.&lt;br /&gt;
&lt;br /&gt;
* Other devices, such as the [[Raspberry Pi]], have more complete CEC abilities, and are completely built-in.&lt;br /&gt;
&lt;br /&gt;
== Trade names ==&lt;br /&gt;
There are different trade names for HDMI CEC, depending on who is the manufacturer of your device, so it doesn&#039;t have to be stated as HDMI-CEC. Find your manufacturer on this list and see what it is called for your device:&lt;br /&gt;
&lt;br /&gt;
* AOC - &#039;&#039;&#039;E-link&#039;&#039;&#039;&lt;br /&gt;
* Hitachi - &#039;&#039;&#039;HDMI-CEC&#039;&#039;&#039;&lt;br /&gt;
* LG - &#039;&#039;&#039;SimpLink&#039;&#039;&#039;&lt;br /&gt;
* Loewe - &#039;&#039;&#039;Digital Link&#039;&#039;&#039; or &#039;&#039;&#039;Digital Link Plus&#039;&#039;&#039;&lt;br /&gt;
* Mitsubishi - &#039;&#039;&#039;NetCommand for HDMI&#039;&#039;&#039;&lt;br /&gt;
* Onkyo - &#039;&#039;&#039;RIHD (Remote Interactive over HDMI)&#039;&#039;&#039;&lt;br /&gt;
* Panasonic - &#039;&#039;&#039;VIERA Link&#039;&#039;&#039; or &#039;&#039;&#039;HDAVI Control&#039;&#039;&#039; or &#039;&#039;&#039;EZ-Sync&#039;&#039;&#039;&lt;br /&gt;
* Philips - &#039;&#039;&#039;EasyLink&#039;&#039;&#039;&lt;br /&gt;
* Pioneer - &#039;&#039;&#039;Kuro Link&#039;&#039;&#039;&lt;br /&gt;
* Runco International - &#039;&#039;&#039;RuncoLink&#039;&#039;&#039;&lt;br /&gt;
* Samsung - &#039;&#039;&#039;Anynet+&#039;&#039;&#039;&lt;br /&gt;
* Sharp - &#039;&#039;&#039;Aquos Link&#039;&#039;&#039;&lt;br /&gt;
* Sony - &#039;&#039;&#039;BRAVIA Link&#039;&#039;&#039; or &#039;&#039;&#039;BRAVIA Sync&#039;&#039;&#039; (You may need to use a port labeled HDMI-MHL if the regular HDMI port does not work.)&lt;br /&gt;
* Toshiba - &#039;&#039;&#039;Regza Link&#039;&#039;&#039; or &#039;&#039;&#039;CE-Link&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Manufacturer Support ==&lt;br /&gt;
The matrix below indicates our what Pulse-Eight, the main developer of ibCEC, believe each vendor supports themselves, this matrix is by no means complete and if your device/brand is not listed then please ask us for more information. Note that cells marked &amp;quot;&#039;&#039;&#039;?&#039;&#039;&#039;&amp;quot; may work, but we have not independently verified. Cells marked Yes* are supported by libCEC but require a commercial license.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| A &amp;quot;|| {{yes}} ||&amp;quot; mark indicates that the vendor support this CEC feature. This information was originally copied from http://libcec.pulse-eight.com/vendor/support&lt;br /&gt;
|}&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot; class=&amp;quot;datatable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Vendor !! One Touch Play !! Routing Control !! Standby  !! One Touch Record !! Timer Programming !! System Information !! Deck Control !! Tuner Control !! OSD String Display !! Device OSD Name Transfer !! Device Menu Control !! Remote Control Passthrough !! Power Status !! System Audio Control&lt;br /&gt;
|-&lt;br /&gt;
| Akai || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| AOC || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Benq || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Daewoo || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Grundig || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Hitachi || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| LG || {{yes}}|| {{yes}} || {{yes}}&amp;lt;ref name=&amp;quot;Supported by all devices except TVs&amp;quot;&amp;gt;Supported by all devices except TVs.&lt;br /&gt;
See [https://forum.kodi.tv/showthread.php?tid=245169 this thread] for a workaround.&amp;lt;/ref&amp;gt;  || {{?}} || {{?}} || {{?}} || {{yes}} || {{?}}|| {{no}} || {{no}} || {{?}} || {{yes}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Loewe || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Marantz || {{?}}|| {{yes}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Medion || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Mitsubishi || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Onkyo || {{yes}}|| {{yes}} || {{yes}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{no}} || {{?}} || {{?}} || {{yes}} || {{?}} || {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Panasonic || {{yes}}|| {{yes}} || {{yes}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{no}} || {{?}} || {{yes}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Philips || {{yes}}|| {{yes}} || {{yes}} || {{no}} || {{no}} || {{yes}} || {{no}} || {{no}} || {{no}} || {{yes}} || {{?}} || {{yes}} || {{yes}} || {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Pioneer || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Runco || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Samsung || {{yes}}|| {{yes}} || {{yes}} || {{?}} || {{?}} || {{?}} || {{yes}} || {{?}}|| {{no}} || {{yes}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Sharp || {{yes}}|| {{yes}} || {{yes}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Sony || {{yes}}|| {{yes}} || {{yes}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Toshiba || {{yes}}|| {{yes}} || {{yes}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Vizio || {{yes}}|| {{yes}} || {{yes}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}&lt;br /&gt;
|-&lt;br /&gt;
| Yamaha || {{?}}|| {{?}} || {{yes}} || {{?}} || {{?}} || {{?}} || {{?}} || {{?}}|| {{?}} || {{?}} || {{?}} || {{?}} || {{?}} || {{yes}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Devices Known to work ==&lt;br /&gt;
With different TV&#039;s and devices comes different compatibility. An up to date vendor support matrix can be found [http://libcec.pulse-eight.com/vendor/support here], which lists which features are supported for each vendor.&lt;br /&gt;
&lt;br /&gt;
Please note that for HDMI-CEC volume control you must have a connected Television and A/V Receiver that are HDMI-CEC compatible. HDMI-CEC cannot control the volume of your television alone.&lt;br /&gt;
&lt;br /&gt;
Below is a list of specific TV&#039;s which are known to be working with CEC and {{Kodi}}:&lt;br /&gt;
&lt;br /&gt;
=== TVs ===&lt;br /&gt;
* LG 47LS4600&lt;br /&gt;
* LG 47CS570&lt;br /&gt;
* LG LM620T&lt;br /&gt;
* LG 37LG6000&lt;br /&gt;
* LG 42LD420&lt;br /&gt;
* LG 42LD550&lt;br /&gt;
* LG 60PM6700 (Most of the expected buttons work, EXCEPT the number &amp;amp; channel buttons)&lt;br /&gt;
* LG 32LN572B (2013 model tested on Raspberry Pi running OpenELEC 3.2.3. The regular TV remote control works except forward and rewind but the left and right skip keys works so it&#039;s quiet useable. The Magic Remote also seems to work but haven&#039;t been tested properly) &lt;br /&gt;
* Panasonic TXL-47DT50&lt;br /&gt;
* Panasonic TX-42AS500E (After pressing *Power*-button, keep it pressed, and press *7* *3* *Stop*)(see [http://forum.kodi.tv/showthread.php?tid=144956&amp;amp;page=2 this thread])&lt;br /&gt;
* Panasonic Viera GT30&lt;br /&gt;
* Panasonic Viera GT60&lt;br /&gt;
* Panasonic Viera S60&lt;br /&gt;
* Panasonic Viera ST50&lt;br /&gt;
* Panasonic Viera TH-42PX80E&lt;br /&gt;
* Panasonic Viera TH-42PZ85E&lt;br /&gt;
* Panasonic Viera TH-P42S10A&lt;br /&gt;
* Panasonic Viera TH-P50G10A&lt;br /&gt;
* Philips 37PFL6007K&lt;br /&gt;
* Philips 47PFL5007K&lt;br /&gt;
* Philips 48PFH4100/88&lt;br /&gt;
* Samsung ES6800&lt;br /&gt;
* Samsung LE32B650&lt;br /&gt;
* Samsung LE37D570&lt;br /&gt;
* Samsung LE40C650&lt;br /&gt;
* Samsung LN46D610/LN46D630&lt;br /&gt;
* Samsung UE40C7700&lt;br /&gt;
* Samsung UE46F8000&lt;br /&gt;
* Samsung UE50EH5300&lt;br /&gt;
* Samsung UE50ES6300&lt;br /&gt;
* Samsung UE55F6510&lt;br /&gt;
* Sharp LC-52D83X&lt;br /&gt;
* Sony Bravia KDL-32W5500 (Guide button doesn&#039;t work as context menu - reassign a coloured button for this function)&lt;br /&gt;
* Sony Bravia KDL-40M4000&lt;br /&gt;
* Sony Bravia KDL-46EX520&lt;br /&gt;
* Sony Bravia KDL-40HX705&lt;br /&gt;
* Sony Bravia KDL-46HX800&lt;br /&gt;
* Sony Bravia KDL-46NX715&lt;br /&gt;
* Sony Bravia KDL-52NX800&lt;br /&gt;
* Sony Bravia KD-55X9004A&lt;br /&gt;
* Sony Bravia XDR-55X800B (You must use a port labeled HDMI-MHL (2 or 4); the regular HDMI ports (1 or 3) will not work.)&lt;br /&gt;
* Sony NSX-40GT1 (Google TV)&lt;br /&gt;
* Vizio M-Series&lt;br /&gt;
&lt;br /&gt;
=== Home Cinema Systems ===&lt;br /&gt;
* Marantz SR7005&lt;br /&gt;
* Onkyo HT-R390 Amplifier&lt;br /&gt;
* Onkyo TX-SR444 AV Receiver (Assign remote code 32910 to the input your Kodi device is connected to) &lt;br /&gt;
* Sony STR-DH820&lt;br /&gt;
* Yamaha RX-V473 AV-Receiver&lt;br /&gt;
* Yamaha RX-V1071 AV Receiver (only on HDMI Out 1)&lt;br /&gt;
&lt;br /&gt;
=== Projectors ===&lt;br /&gt;
* Epson EH-TW6100&lt;br /&gt;
* LG PF1500&lt;br /&gt;
&lt;br /&gt;
=== {{Kodi}} Devices ===&lt;br /&gt;
Most HDMI ports on computers (onboard or via GPU) do not have integrated support for the CEC feature, but instead can use a external CEC adapter, such as the ones from [[Pulse-Eight]], and some more recent Intel motherboards come with a integrated HTPC header to allow you to connect an internal CEC-adapter. &lt;br /&gt;
&lt;br /&gt;
==== Pulse-Eight USB CEC Adapter ====&lt;br /&gt;
[[Pulse-Eight]] makes two different formats of HDMI-CEC USB-adapters, one for [http://www.pulse-eight.com/store/products/104-usb-hdmi-cec-adapter.aspx external] and one [http://www.pulse-eight.com/store/products/117-internal-hdmi-cec-adapter.aspx internal]. The work the same, with both permitting a connected device to send and receive HDMI-CEC control commands on the HDMI bus. The [[Pulse-Eight]] CEC adapters can be installed for use with {{Kodi}}. Your television remote can then be used to control {{Kodi}}, and {{Kodi}} can control all compatible connected devices.&lt;br /&gt;
&lt;br /&gt;
==== [[Intel NUC]] ====&lt;br /&gt;
Intel Graphics doesn&#039;t support CEC commands (http://www.intel.com/support/graphics/sb/CS-034397.htm under &amp;quot;What are the differences between different HDMI versions?&amp;quot;) and a Pulse-Eight adapter is required. Both the external USB adapter and the internal adapter (http://www.intel.com/support/motherboards/desktop/sb/CS-034631.htm) works.&lt;br /&gt;
&lt;br /&gt;
==== [[Raspberry Pi]] ====&lt;br /&gt;
The Raspberry Pi GPU has CEC support which is supported by libCEC, and is therefore fully supported by {{Kodi}}.&lt;br /&gt;
&lt;br /&gt;
==== [[Wetek Play]] ====&lt;br /&gt;
The Wetek Play GPU has CEC support which is supported by libCEC, and is therefore fully supported by {{Kodi}}.&lt;br /&gt;
&lt;br /&gt;
=== Common Issues with CEC ===&lt;br /&gt;
When &amp;quot;setting up&amp;quot; CEC make sure your configuration uses good HDMI cables. Especially cheap cables - still able to support 1080p without any problems - have been reported to cause problems with CEC (eg. devices like raspberry not showing up in the CEC menu at all, devices showing up but remote not working, etc).&lt;br /&gt;
&lt;br /&gt;
Using better HDMI cables might resolve that problem.&lt;br /&gt;
&lt;br /&gt;
There are also reports of devices with improper HDMI CEC implementation, such as ROKU streaming box, causing problems with CEC device recognition. Disconnecting non-CEC devices, or upgrading firmware on those devices, may resolve the problem.&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
* http://libcec.pulse-eight.com/faq&lt;br /&gt;
&lt;br /&gt;
{{gotham updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Hardware]]&lt;/div&gt;</summary>
		<author><name>Cmayo</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Userdata&amp;diff=131276</id>
		<title>Userdata</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Userdata&amp;diff=131276"/>
		<updated>2017-11-29T19:51:53Z</updated>

		<summary type="html">&lt;p&gt;Cmayo: /* Location of the userdata folder */ fix typo &amp;quot;operative system&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav|[[General topics]]|[[Settings]]}}&lt;br /&gt;
&lt;br /&gt;
{{redv|&#039;&#039;&#039;NOTICE:&#039;&#039;&#039;|Manually editing files in the &#039;&#039;&#039;userdata&#039;&#039;&#039; folder is an &#039;&#039;&#039;advanced topic for {{kodi}}&#039;&#039;&#039;. New users &#039;&#039;&#039;don&#039;t need to manually edit files&#039;&#039;&#039; in the &#039;&#039;&#039;userdata&#039;&#039;&#039; folder. {{kodi}} does this for you, when you change the options in the {{kodi}} GUI&#039;&#039; with the exception of [[advancedsettings.xml]]}}&lt;br /&gt;
{{bluev|&#039;&#039;&#039;NOTE&#039;&#039;&#039;|&#039;&#039;There are two userdata folders, the [[Systemdata]] one contains default settings necessary for {{kodi}} to operate, and the userdata folder for user modifications. Do not touch the files in the first system-userdata folder. This page (and most references on the wiki) are about editing the second, user-accessible, &#039;&#039;&#039;userdata&#039;&#039;&#039; folder.&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The &#039;&#039;&#039;userdata&#039;&#039;&#039; folder is where all of your settings and customizations are stored.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
== Location of the userdata folder ==&lt;br /&gt;
&amp;lt;section begin=&amp;quot;location all&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;:::&amp;lt;/includeonly&amp;gt;{{Note|In older versions of the software (before v14) the &amp;lt;code&amp;gt;&#039;&#039;&#039;kodi&#039;&#039;&#039;&amp;lt;/code&amp;gt; directories were named &amp;lt;code&amp;gt;&#039;&#039;&#039;xbmc&#039;&#039;&#039;&amp;lt;/code&amp;gt;.}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;:::&amp;lt;/includeonly&amp;gt;{{{!}} class=&amp;quot;datatable&amp;quot; &amp;lt;!-- Weird trick used to make the table indent when transcluded --&amp;gt; &lt;br /&gt;
! Operating system&lt;br /&gt;
! File path&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Android&#039;&#039;&#039; || {{userdata|Android}}&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;iOS&#039;&#039;&#039; || {{userdata|iOS}}&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Linux&#039;&#039;&#039; || {{userdata|Linux}}&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Mac&#039;&#039;&#039; || {{userdata|Mac}}&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;LibreELEC/OpenELEC&#039;&#039;&#039; || {{userdata|OpenELEC}}&lt;br /&gt;
|-&lt;br /&gt;
| &#039;&#039;&#039;Windows&#039;&#039;&#039; || {{userdata|Windows}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;section end=&amp;quot;location all&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Android location ===&lt;br /&gt;
Sometimes the exact path will differ from device to device. The Android userdata folder is usually inside of &amp;quot;sdcard&amp;quot; so the path might be /sdcard/Android/data/org.xbmc.kodi/files/.kodi/userdata/&lt;br /&gt;
&lt;br /&gt;
=== Windows 10 App Store version ===&lt;br /&gt;
Kodi Krypton installed from the Win 10 App Store puts user data in %LOCALAPPDATA%\Packages\XBMCFoundation.Kodi_4n2hpmxwrvr6p\LocalCache\Roaming\Kodi\userdata&lt;br /&gt;
&lt;br /&gt;
== Backing up your settings ==&lt;br /&gt;
{{See|Backup}}&lt;br /&gt;
&lt;br /&gt;
== UserData folder contents ==&lt;br /&gt;
Below are the elements contained in the UserData folder and their role:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;addon_data&#039;&#039;&#039; - Contains configuration data for your currently installed addons, the addons themselves are not in userdata but one folder up in &#039;addons&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[Database]]&#039;&#039;&#039; - This is where all of the databases required for your [[Music Library|Music]] and [[Video Library|Video Libraries]] are located, containing any downloaded [[Scraper.xml|(scraped)]] music or video information.&lt;br /&gt;
** &#039;&#039;&#039;MyMusic#.db&#039;&#039;&#039; - Database file containing Music information.&lt;br /&gt;
** &#039;&#039;&#039;MyVideos#.db&#039;&#039;&#039; - Database file containing Movie, TV Show and Music Videos information.&lt;br /&gt;
** &#039;&#039;&#039;ViewModes#.db&#039;&#039;&#039; - Database file containing information on all Kodi views (viewmode, sorting etc.).&lt;br /&gt;
** &#039;&#039;&#039;Addons#.db&#039;&#039;&#039; - Database file containing information on all Kodi addons (skins, scraper, video-addons...).&lt;br /&gt;
** &#039;&#039;&#039;Textures#.db&#039;&#039;&#039; - Database file containing information on all Kodi textures (thumbs, fanart, posters...).&lt;br /&gt;
** &#039;&#039;&#039;TV#.db&#039;&#039;&#039; - Database file containing information on Live-TV channels.&lt;br /&gt;
** &#039;&#039;&#039;EPG#.db&#039;&#039;&#039; - Database file containing information on EPG for Live-TV.&lt;br /&gt;
** &#039;&#039;&#039;ADSP#.db&#039;&#039;&#039; - Database file containing information for Audio Digital Signal Processing add-ons.&lt;br /&gt;
:{{note|Where &amp;lt;big&amp;gt;&#039;&#039;&#039;#&#039;&#039;&#039;&amp;lt;/big&amp;gt; is the number of current &#039;&#039;&#039;[[database version]]&#039;&#039;&#039; in use.}}&lt;br /&gt;
* &#039;&#039;&#039;[[keyboard.xml|keymaps]]&#039;&#039;&#039; - This folder is where your customized keymapping files reside (e.g. MyRemote.xml or keyboard.xml)&lt;br /&gt;
* &#039;&#039;&#039;library&#039;&#039;&#039; - Directory to store [[custom library nodes]].&lt;br /&gt;
* &#039;&#039;&#039;[[Playlists]]&#039;&#039;&#039; - This is where your playlists are stored. There are separate subfolders for mixed, music and video playlists.&lt;br /&gt;
** &#039;&#039;&#039;mixed&#039;&#039;&#039; - playlists containing both audio and music videos, will show in both the Music and Video Libraries.&lt;br /&gt;
** &#039;&#039;&#039;music&#039;&#039;&#039; - playlists containing audio only, will show in the Music Library.&lt;br /&gt;
** &#039;&#039;&#039;video&#039;&#039;&#039; - playlists containing videos only, will show in the Video Library.&lt;br /&gt;
* &#039;&#039;&#039;[[Thumbnails#Thumbnail Cache|Thumbnails]]&#039;&#039;&#039; - Cached  Thumbnails (icons) are stored in this folder.&lt;br /&gt;
* &#039;&#039;&#039;[[advancedsettings.xml]]&#039;&#039;&#039; - A user can create this file in their UserData folder. The file can contain additional settings and pre-defined values for the settings available in the GUI (thus removing them from the GUI settings screens). Useful for advanced users and for installers.&lt;br /&gt;
* &#039;&#039;&#039;Visualizations&#039;&#039;&#039; - All of your visualization settings are stored in this folder. &amp;lt;&amp;lt;this is not present in frodo?&lt;br /&gt;
* &#039;&#039;&#039;[[favourites.xml]]&#039;&#039;&#039; - This file, which may be created by Kodi or the user in their UserData folder contains items added via the &#039;&#039;Add to Favourites&#039;&#039; context menu option.&lt;br /&gt;
* &#039;&#039;&#039;guisettings.xml&#039;&#039;&#039; - This is where your settings configured in the GUI are stored (through the User Interface [[Settings]]).&lt;br /&gt;
* &#039;&#039;&#039;[[lircmap.xml|Lircmap.xml]]&#039;&#039;&#039; - This file which may be created can contain changes to the default Lircmap (Linux Only).&lt;br /&gt;
* &#039;&#039;&#039;[[partymode.xsp]]&#039;&#039;&#039; - Defines the [[Playlists#Smart Playlists|Smart Playlist]] to be used when using Party Mode for music playback.&lt;br /&gt;
* &#039;&#039;&#039;[[profiles]]&#039;&#039;&#039; - Directory stores your additionally created user-profiles settings and data information this directory may contain all the contents of the [[userdata]] list depending on settings used to create the user. {{?}}&lt;br /&gt;
* &#039;&#039;&#039;[[RssFeeds.xml]]&#039;&#039;&#039; - RssFeeds.xml is used to configure the RSS feeds displayed on the home screen.&lt;br /&gt;
* &#039;&#039;&#039;[[sources.xml]]&#039;&#039;&#039; - Defines your [[Adding Media Sources|Media Sources]] and locations.&lt;br /&gt;
* &#039;&#039;&#039;[[mediasources.xml]]&#039;&#039;&#039; - Similar to sources.xml, but just for the &amp;quot;Browse for new share&amp;quot; window.&lt;br /&gt;
* &#039;&#039;&#039;[[Profiles#Profiles folder contents|profiles.xml]]&#039;&#039;&#039; - Stores your Master user and additional user(s) [[Master lock]] codes and profiles information see also [[Settings/System#Master lock]] and [[Media sources#Locking]] &#039;&#039;&#039;{{?}}&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;[[autoexec.py]]&#039;&#039;&#039; - optional python script that is run at Kodi startup.&lt;br /&gt;
&lt;br /&gt;
{{Helix updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Settings]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Advanced topics]]&lt;/div&gt;</summary>
		<author><name>Cmayo</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Keymap&amp;diff=131270</id>
		<title>Keymap</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Keymap&amp;diff=131270"/>
		<updated>2017-11-28T18:16:49Z</updated>

		<summary type="html">&lt;p&gt;Cmayo: /* Commands */ Update Key.h link from /xbmc/guilib/ to /xbmc/input/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{mininav| [[Remote controls]] }}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;Keymaps are XML base files that define the mappings of keys (keyboard keys, mouse/remote/joysticks buttons and more) to Kodi actions.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Customizing keymaps through the GUI ==&lt;br /&gt;
{{main|Add-on:Keymap Editor}}&lt;br /&gt;
Users can customize keymaps for remotes in GUI by using the community [[Add-on:Keymap Editor|Keymap Editor]] add-on.&lt;br /&gt;
&lt;br /&gt;
== Location of keymaps ==&lt;br /&gt;
User modified keymap files must be stored in the &amp;quot;&#039;&#039;&#039;keymaps&#039;&#039;&#039;&amp;quot; folder in the [[userdata]] folder:&lt;br /&gt;
{{#lsth:userdata|Location of the UserData folder}}&lt;br /&gt;
&lt;br /&gt;
=== Defaults ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Kodi can process multiple keymap files and does so like this:&lt;br /&gt;
&lt;br /&gt;
* All *.xml files from the default install settings and userdata/kemaps/ folders are applied as keymaps.&lt;br /&gt;
* All *.xml files are processed in alphabetical order.&lt;br /&gt;
* Keymaps defined in an .xml file add to or override mappings in previous .xml file.&lt;br /&gt;
* Keymaps defined in the userdata folder add to or override mappings in the global keymap.&lt;br /&gt;
&lt;br /&gt;
By default there will be no files in these locations, so grab one from the link below to make a new one/over-ride:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039; https://github.com/xbmc/xbmc/tree/master/system/keymaps &#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039; https://github.com/kodi-game/peripheral.joystick/tree/master/peripheral.joystick/resources/buttonmaps/xml &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Structure ==&lt;br /&gt;
&lt;br /&gt;
There is one &#039;&#039;&#039;global&#039;&#039;&#039; keymap and several &#039;&#039;&#039;window&#039;&#039;&#039;-specific keymaps.&amp;lt;br /&amp;gt;&lt;br /&gt;
Kodi falls back to the global map when the window-specific map hasn&#039;t bound the key being pressed.&lt;br /&gt;
&lt;br /&gt;
The format of keymapping files is as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;keymap&amp;gt;&lt;br /&gt;
  &amp;lt;global&amp;gt;&lt;br /&gt;
    &amp;lt;gamepad&amp;gt;&lt;br /&gt;
      &amp;lt;A&amp;gt;Select&amp;lt;/A&amp;gt;&lt;br /&gt;
      [...]&lt;br /&gt;
    &amp;lt;/gamepad&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;remote&amp;gt;&lt;br /&gt;
      &amp;lt;select&amp;gt;Select&amp;lt;/select&amp;gt;&lt;br /&gt;
      [...]&lt;br /&gt;
    &amp;lt;/remote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;keyboard&amp;gt;&lt;br /&gt;
      &amp;lt;enter&amp;gt;Select&amp;lt;/enter&amp;gt;&lt;br /&gt;
      [...]&lt;br /&gt;
    &amp;lt;/keyboard&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;mouse&amp;gt;&lt;br /&gt;
      &amp;lt;leftclick&amp;gt;Select&amp;lt;/leftclick&amp;gt;&lt;br /&gt;
      [...]&lt;br /&gt;
    &amp;lt;/mouse&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;universalremote&amp;gt;&lt;br /&gt;
      &amp;lt;obc25&amp;gt;XBMC.ActivateWindow(MyMusic)&amp;lt;/obc25&amp;gt;&lt;br /&gt;
      [...]&lt;br /&gt;
    &amp;lt;/universalremote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;joystick name=&amp;quot;PLAYSTATION(R)3 Controller (00:1B:FB:F6:E0:F2)&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;button id=&amp;quot;15&amp;quot;&amp;gt;Select&amp;lt;/button&amp;gt;&lt;br /&gt;
      [...]&lt;br /&gt;
    &amp;lt;/joystick&amp;gt;&lt;br /&gt;
  &amp;lt;/global&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Home&amp;gt;&lt;br /&gt;
    [...]&lt;br /&gt;
  &amp;lt;/Home&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  [...]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/keymap&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As you can see, it&#039;s divided into a &amp;lt;global&amp;gt; section, and a number of window sections (such as &amp;lt;Home&amp;gt;).&amp;lt;br /&amp;gt;&lt;br /&gt;
A list of the available window names can be seen [[Window IDs|here]]. The WINDOW can also be a custom window formatted as &amp;lt;windowId#&amp;gt; (e. g. &amp;lt;window1113&amp;gt;). &amp;lt;br /&amp;gt;&lt;br /&gt;
Each of these sections can contain Gamepad, Remote, Keyboard, Universal Remote, and custom Joystick sections.&lt;br /&gt;
&lt;br /&gt;
The format for mapping a particular key under one of these device types is as follows:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;keyname&amp;gt;action&amp;lt;/keyname&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Keynames ==&lt;br /&gt;
Depending on your device you will need to use a specific &amp;quot;keyname&amp;quot;.&lt;br /&gt;
=== Gamepads ===&lt;br /&gt;
An up to date list of the available actions can be found in the source code of Kodi in [https://github.com/xbmc/xbmc/blob/master/xbmc/input/ButtonTranslator.cpp ButtonTranslator.cpp] where the &#039;&#039;TranslateGamepadString()&#039;&#039; function does the work.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;gamepad&amp;gt;&lt;br /&gt;
  &amp;lt;A&amp;gt;Select&amp;lt;/A&amp;gt;&lt;br /&gt;
&amp;lt;/gamepad&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Remotes ===&lt;br /&gt;
An up to date list of the available actions can be found in the source code of Kodi in [https://github.com/xbmc/xbmc/blob/master/xbmc/input/ButtonTranslator.cpp ButtonTranslator.cpp] where the &#039;&#039;TranslateRemoteString()&#039;&#039; (NOTE: not existing anymore) function does the work.&lt;br /&gt;
&lt;br /&gt;
{{Note|Some remotes (e.g. FLIRC) are actually seen as &amp;quot;keyboards&amp;quot;. Those will need to use the &amp;lt;keyboard&amp;gt; tag instead.}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;remote&amp;gt; &lt;br /&gt;
  &amp;lt;play&amp;gt;Play&amp;lt;/play&amp;gt;&lt;br /&gt;
&amp;lt;/remote&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Universal Remotes ===&lt;br /&gt;
To map Universal Remote buttons using the RCA infrared protocol, you may add &#039;&#039;&#039;&amp;lt;universalremote&amp;gt;&#039;&#039;&#039; sections to keymap.xml.&amp;lt;br /&amp;gt;&lt;br /&gt;
In this case, the tags used are &amp;lt;obc#&amp;gt; where # is the original button code (OBC) of the button.&amp;lt;br /&amp;gt;&lt;br /&gt;
You would put it inside a &amp;lt;universalremote&amp;gt; section in the &amp;lt;window&amp;gt; or &amp;lt;global&amp;gt; sections.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;universalremote&amp;gt; &lt;br /&gt;
  &amp;lt;obc148&amp;gt;Stop&amp;lt;/obc148&amp;gt;&lt;br /&gt;
&amp;lt;/universalremote&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:Will map &#039;&#039;Stop Playback&#039;&#039; to the RCA DVD repeat button &amp;lt;obc148&amp;gt;, which is not used by Kodi by default. &lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Note:&#039;&#039;&#039; ensure that the &amp;lt;universalremote&amp;gt; section is &#039;&#039;&#039;NOT&#039;&#039;&#039; added &#039;within&#039; the &amp;lt;remote&amp;gt; section - it can appear before or after. Otherwise it will not be recognised and produces errors in the logfile.&lt;br /&gt;
&lt;br /&gt;
Remote keys can be observed in the kodi.log file (&#039;&#039;&#039;~/.kodi/temp/kodi.log&#039;&#039;&#039; on Linux) when debugging is enabled in the GUI (Settings -&amp;gt; debugging ). The list of pre-defined OBC codes can be found at [https://github.com/xbmc/xbmc/blob/master/xbmc/input/XBIRRemote.h XBIRRemote.h].&lt;br /&gt;
&lt;br /&gt;
=== Keyboards ===&lt;br /&gt;
Valid keyboard keymap syntax includes &amp;lt;keyname&amp;gt;, &amp;lt;key id=&amp;quot;&amp;quot;&amp;gt;, and &amp;lt;keyname mod=&amp;quot;&amp;quot;&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Mapping for arbitrary key codes can be configured using the following syntax: &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;key id=&amp;quot;123&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
where &amp;quot;123&amp;quot; is replaced by the key code.&lt;br /&gt;
&lt;br /&gt;
A full list of valid keynames can be found in &lt;br /&gt;
* the &#039;&#039;TranslateKeyboardString()&#039;&#039; method in [https://github.com/xbmc/xbmc/blob/master/xbmc/input/ButtonTranslator.cpp ButtonTranslator.cpp] &lt;br /&gt;
* or in [[List of Kodi keynames]].&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;keyboard&amp;gt;&lt;br /&gt;
  &amp;lt;key id=&amp;quot;123&amp;quot;&amp;gt;action&amp;lt;/key&amp;gt; -- id is the keys keycode. &amp;gt;&lt;br /&gt;
  &amp;lt;a mod=&amp;quot;shift,alt&amp;quot;&amp;gt;action&amp;lt;/a&amp;gt; -- corresponds to shift-alt-a, the mod=&amp;quot;&amp;quot; syntax is enabled since build 26407. &amp;gt;&lt;br /&gt;
  &amp;lt;space&amp;gt;action&amp;lt;/space&amp;gt; -- for a complete list of valid keynames, see ButtonTranslator.cpp or List of Kodi keynames above. &amp;gt;&lt;br /&gt;
&amp;lt;/keyboard&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Modifiers&lt;br /&gt;
* shift&lt;br /&gt;
* alt&lt;br /&gt;
* ctrl&lt;br /&gt;
&lt;br /&gt;
=== Mouse ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Further action required&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Custom Joystick Configuration ===&lt;br /&gt;
Custom joysticks are defined using the following syntax:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;joystick name=&amp;quot;JOYSTICK NAME&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;button id=&amp;quot;BUTTON ID&amp;quot;&amp;gt;action&amp;lt;/button&amp;gt;&lt;br /&gt;
&amp;lt;/joystick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Getting the joystick name:&lt;br /&gt;
* On linux: &#039;cat /proc/bus/input/devices&#039;&lt;br /&gt;
* or see your Kodi log file&lt;br /&gt;
&lt;br /&gt;
Getting the button ids:&lt;br /&gt;
* &#039;id&#039; is the button ID used by SDL. Joystick button ids of connected joysticks appear in kodi.log when they are pressed. Use your log to map custom buttons to actions.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;joystick name=&amp;quot;PLAYSTATION(R)3 Controller (00:1B:FB:F6:E0:F2)&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;button id=&amp;quot;15&amp;quot;&amp;gt;Select&amp;lt;/button&amp;gt;&lt;br /&gt;
  &amp;lt;button id=&amp;quot;14&amp;quot;&amp;gt;PreviousMenu&amp;lt;/button&amp;gt;&lt;br /&gt;
&amp;lt;/joystick&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Long-press ==&lt;br /&gt;
{{note| Longpress seems to only be working on keyboard keymaps at the moment }}&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;button mod=&amp;quot;longpress&amp;quot;&amp;gt;action&amp;lt;/button&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Not all devices will correctly work with the longpress action, but most should. &lt;br /&gt;
&lt;br /&gt;
{{Note|Long-press will disable keyrepeat for that key/window.}}&lt;br /&gt;
&lt;br /&gt;
=== Removing a long-press action from a default keymap ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For example, this will remove the context menu action from the default keyboard.xml keymap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;keymap&amp;gt;&lt;br /&gt;
  &amp;lt;global&amp;gt;&lt;br /&gt;
    &amp;lt;keyboard&amp;gt;&lt;br /&gt;
      &amp;lt;return mod=&amp;quot;longpress&amp;quot;&amp;gt;&amp;lt;/return&amp;gt;&lt;br /&gt;
      &amp;lt;enter mod=&amp;quot;longpress&amp;quot;&amp;gt;&amp;lt;/enter&amp;gt;&lt;br /&gt;
    &amp;lt;/keyboard&amp;gt;&lt;br /&gt;
  &amp;lt;/global&amp;gt;&lt;br /&gt;
&amp;lt;/keymap&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Commands ==&lt;br /&gt;
The most recent available actions can be found in the &#039;&#039;TranslateActionString()&#039;&#039; method in in [https://github.com/xbmc/xbmc/blob/master/xbmc/input/ButtonTranslator.cpp ButtonTranslator.cpp].&lt;br /&gt;
&lt;br /&gt;
For those debugging integer action codes from the debug log, the mapping of action codes to constants is in [https://github.com/xbmc/xbmc/blob/master/xbmc/input/Key.h Key.h]&lt;br /&gt;
&lt;br /&gt;
In addition to the following actions, you can also use &#039;&#039;&#039;[[Built-in scripting]]&#039;&#039;&#039; in Kodi.&lt;br /&gt;
&lt;br /&gt;
=== Actions ===&lt;br /&gt;
{{Main|Action IDs}}&lt;br /&gt;
{{#lst:Action IDs|Action IDs}}&lt;br /&gt;
&lt;br /&gt;
=== Functions ===&lt;br /&gt;
{{main|List of built-in functions|Built-in scripting}}&lt;br /&gt;
{{#lst:List of built-in functions|functions}}&lt;br /&gt;
&lt;br /&gt;
== Windows ==&lt;br /&gt;
{{main|Window IDs}}&lt;br /&gt;
{{#lst:Window IDs|main content}}&lt;br /&gt;
&lt;br /&gt;
== Additional keys ==&lt;br /&gt;
Other keys that can be mapped to actions.&lt;br /&gt;
&lt;br /&gt;
=== Media keyboards/remotes ===&lt;br /&gt;
* browser_back&lt;br /&gt;
* browser_forward&lt;br /&gt;
* browser_refresh&lt;br /&gt;
* browser_stop&lt;br /&gt;
* browser_search&lt;br /&gt;
* browser_favorites&lt;br /&gt;
* browser_home&lt;br /&gt;
* volume_mute&lt;br /&gt;
* volume_down&lt;br /&gt;
* volume_up&lt;br /&gt;
* next_track&lt;br /&gt;
* prev_track&lt;br /&gt;
* stop&lt;br /&gt;
* play_pause&lt;br /&gt;
* launch_mail&lt;br /&gt;
* launch_media_select&lt;br /&gt;
* launch_app1&lt;br /&gt;
* launch_app2&lt;br /&gt;
* play&lt;br /&gt;
* pause&lt;br /&gt;
* fastforward&lt;br /&gt;
* rewind&lt;br /&gt;
* channelup&lt;br /&gt;
* channeldown&lt;br /&gt;
&lt;br /&gt;
=== Mouse actions ===&lt;br /&gt;
* leftclick&lt;br /&gt;
* rightclick &lt;br /&gt;
* middleclick&lt;br /&gt;
* doubleclick&lt;br /&gt;
* wheelup&lt;br /&gt;
* wheeldown&lt;br /&gt;
* mousemove&lt;br /&gt;
* mousedrag&lt;br /&gt;
* mousedragstart&lt;br /&gt;
* mousedragend&lt;br /&gt;
* mouserdrag - right button drag&lt;br /&gt;
* mouserdragstart - start of right button drag&lt;br /&gt;
* mouserdragend - end of right button drag&lt;br /&gt;
&lt;br /&gt;
== Examples and pre-made keymaps ==&lt;br /&gt;
{{see|:Category:Custom keymaps}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Remote controls]]&lt;br /&gt;
* [[Keyboard controls]]&lt;br /&gt;
&#039;&#039;&#039;Development:&#039;&#039;&#039;&lt;br /&gt;
* [[Add-on development]]&lt;br /&gt;
* [[Python development]]&lt;br /&gt;
* [[Skinning]]&lt;br /&gt;
&lt;br /&gt;
{{Updated|16}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Manual]]&lt;br /&gt;
[[Category:Remotes]]&lt;br /&gt;
[[Category:Settings]]&lt;br /&gt;
[[Category:Controls]]&lt;/div&gt;</summary>
		<author><name>Cmayo</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=VideoPlayer&amp;diff=126527</id>
		<title>VideoPlayer</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=VideoPlayer&amp;diff=126527"/>
		<updated>2016-10-27T18:57:24Z</updated>

		<summary type="html">&lt;p&gt;Cmayo: Typo in FFmpeg description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{cleanup}}&lt;br /&gt;
Kodi&#039;s &amp;quot;&#039;&#039;&#039;VideoPlayer&#039;&#039;&#039;&amp;quot; (formelly XBMC&#039;s &amp;quot;&#039;&#039;&#039;[[DVDPlayer]]&#039;&#039;&#039;&amp;quot;) is Kodi&#039;s internal video player that all video playback is defaulted to be played in unless custom &#039;&#039;&#039;[[External players|external player]]&#039;&#039;&#039; is configured or addons make use of a other video player.&lt;br /&gt;
&lt;br /&gt;
Kodi&#039;s internal VideoPlayer is capable of playing DVD-Video and Blu-ray Disc as well as most other popular video formats. VideoPlayer supports DVD-Video with menus, from CD/DVD-media, harddrive, network, ISO/IMG-images and RAR/ZIP archives (and even RARed ISO/IMG-images as long as they are in &#039;stored/archive&#039; mode and not compressed).&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Currently Supported Codecs ==&lt;br /&gt;
* [http://www.ffmpeg.org FFmpeg] - all audio and video decoders supported by FFmpeg (avcodec/avformat) open source codec suite&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Mpeg2 MPEG-1/MPEG-2] video decoder based on [http://libmpeg2.sourceforge.net/ libmpeg2]&lt;br /&gt;
* MPEG-1/MPEG-2 (Layer I, Layer II, and Layer III, inc. MP3) audio decoder based on [http://www.underbit.com/products/mad/ libmad]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Dts DTS (Digital Theater System)] audio decoder based on [http://developers.videolan.org/libdca.html libdca] (formaly known as &amp;quot;libdts&amp;quot;)&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Dolby_Digital Dolby Digital AC3] audio decoder based on [http://liba52.sourceforge.net/ liba52]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Advanced_Audio_Coding AAC (Advanced Audio Coding)] MPEG-4 audio decoder based on AudioCoding.com&#039;s [http://www.audiocoding.com libfaad2]&lt;br /&gt;
&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
For every release, the internal VideoPlayer in Kodi is becoming more and more usable/stable for the average end-user. However, there is still a lot of work that can be done on it:&lt;br /&gt;
For one thing there are still quite a few bugs left in it that should be found and fixed, something we really need your help with (see the &amp;quot;[[VideoPlayer#Bug Reporting|Bug Reporting]]&amp;quot; section below).&lt;br /&gt;
Another thing is that not all features that you might expect from stand-alone DVD-Video or Blue-ray Disc player hardware are implemented yet. Some of these features are listed below under &amp;quot;[[VideoPlayer#Unimplemented Features|Unimplemented Features]]&amp;quot; and are not considered to be bugs, that does not mean that features not listed below under can be reported as bugs (something that happens too many times)!&lt;br /&gt;
&lt;br /&gt;
=== Known Bugs ===&lt;br /&gt;
The official list/tracker of known bugs can be found [http://trac.kodi.tv trac]&lt;br /&gt;
&lt;br /&gt;
== Bug Reporting ==&lt;br /&gt;
When reporting bugs or problems there are a few things to keep in mind before posting your bug report(s).&lt;br /&gt;
Bug-reports should be reported at [http://sourceforge.net/tracker/?atid=581838&amp;amp;group_id=87054&amp;amp;func=browse&amp;amp;_category=566353 sourceforge.net], this way we are able to track all bugs on one tracker which makes our lifes a lot easier. However, before posting a bug-report there, make sure it is a valid bug-report and not a feature-request or something that is your own fault (i.e. user-error). To do that you can start a new topic thread on the Kodi [http://www.xboxmediacenter.com/forum/forumdisplay.php?f=8 bug-discussion forum] to verify this with others. But most importantly, use the search functions first [http://sourceforge.net/tracker/?atid=581838&amp;amp;group_id=87054&amp;amp;func=browse&amp;amp;_category=566353 here] and [http://www.xboxmediacenter.com/forum/search.php here], to make sure you are not posting duplicate bug reports. Duplicate reports/posts of the same bug makes it much harder for us to keep track of all the bug-reports/posts, not doing so will also save you a lot of work.&lt;br /&gt;
&lt;br /&gt;
When reporting a bug there are a few things we will need, if these things are not provided, it will be much harder (and many times impossible) to replicate the problem and find the bug. In the case of an invalid bug-report the report will be closed without us even looking at it.&lt;br /&gt;
&lt;br /&gt;
Some things that should be in a bug report:&lt;br /&gt;
* A clear description of the problem and what you did (step-by-step) to see it so that we can then replicate it if and when we have the same DVD-Video disc media or a sample (see “Sample” below).&lt;br /&gt;
* A log file (see [[debug log]] below)&lt;br /&gt;
* The Kodi version you are using (exact build date)&lt;br /&gt;
* Did you build Kodi yourself (from GIT) or...?&lt;br /&gt;
* Audio output mode (analog stereo, passthrough, ...)&lt;br /&gt;
* Video output mode (output resolution, PAL or NTSC...)&lt;br /&gt;
* The amount of free memory! See the “log file” chapter below on how to enable free memory display!&lt;br /&gt;
** Before playing the DVD&lt;br /&gt;
** During the problem&lt;br /&gt;
** After the problem (if Kodi did not crash and just went back to the normal GUI) &lt;br /&gt;
* If it is a non-menu related problem&lt;br /&gt;
** Can you play the .vob file correctly with the VideoPlayer? (select VideoPlayer with the &#039;play with dialog&#039;)&lt;br /&gt;
* Other information you think that might be relevant&lt;br /&gt;
&lt;br /&gt;
Please have a look at [[HOW-TO Submit a Proper Bug Report]] for additional information.&lt;br /&gt;
&lt;br /&gt;
=== Kodi Log File ===&lt;br /&gt;
Kodi is able to create a log file that provides us with a lot of useful information when trying to locate a bug. See &#039;&#039;&#039;[[debug log]]&#039;&#039;&#039; for more information.&lt;br /&gt;
&lt;br /&gt;
=== Sample ===&lt;br /&gt;
While it sometimes can be complicated to provide us with samples, it is usually worth the effort. With samples that show the problem we are able to fix bugs much easier and quicker, because with a sample we can very simply replicate the bug ourselves in our own debug enviroment, and most of the time these bugs can be fixed the same day if there is a developer with some free time available and willing. Without a sample, it will take much longer because we cannot replicate the bug ourselves and we will have to try a lot of things (which can break the current working version again).&lt;br /&gt;
&lt;br /&gt;
Simplest is to just to snail-mail one of the developers a 1:1 copy of the DVD-Video disc media (or the original retail DVD-Video disc media if the bug has something to do with encryption problems), you can create a such 1:1 copy on your PC using software&#039;s like “DVDDecrypter”. Another possibility is to compress (ZIP/RAR) the sample and send it over the internet, (since most DVDs are a bit to big to send over the internet you can try to strip unneeded data out of it (read the section below about “DVD-menu related problems”). If you have the possibility to either snail-mail the disc (shipping the actual disc) or send a sample over the internet please post so in your bug-repost. Note! Please understand that if you send in a DVD-disc (copy or original) we can not send it back!&lt;br /&gt;
&lt;br /&gt;
For DVD-menu related problems, the next can be done:&lt;br /&gt;
;strip all non-menu related vob files. &lt;br /&gt;
:These files take up most of the space. What is needed are the ifo and bup files, together with all menu vobs. If you are lucky the DVD has a few 1GB big vob files (these are probably the main movie and thus not needed) and one or two small vob files. These small vob files are needed. RAR or ZIP those vobs together with the ifo and bug files and provide them to us. Upload them to an upload site or find another way (like posting them on your own website or creating a torrent).&lt;br /&gt;
&lt;br /&gt;
If the problem has something to do with the main movie, the only thing left todo is to take the problematic vob file and to strip it as much as is possible.&lt;br /&gt;
&lt;br /&gt;
In all cases you must first test the sample yourself before you send it to the XBMC developer/team, the sample needs to have the same problem as the original DVD, (since it is not of much use otherwise).&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
See the [http://forum.kodi.tv/forumdisplay.php?fid=240 VideoPlayer Development] subforum for now.&lt;br /&gt;
:Help is always wanted, so if you can program C++ and C, please feel free to code and [[HOW-TO submit a patch|submit a patch]].&lt;br /&gt;
&lt;br /&gt;
=== Technical Details ===&lt;br /&gt;
See the [http://forum.kodi.tv/forumdisplay.php?fid=240 VideoPlayer Development] subforum for now.&lt;br /&gt;
&lt;br /&gt;
=== Classes ===&lt;br /&gt;
* InputStreams&lt;br /&gt;
** FactoryInputStream, creates an inputstream based on the filename&lt;br /&gt;
** File, general file access (hd, cdrom, samba)&lt;br /&gt;
** Http&lt;br /&gt;
** Navigator, for accessing dvd &lt;br /&gt;
* Demuxers&lt;br /&gt;
** FactoryDemuxer, creates a demuxer based on inputstream information&lt;br /&gt;
** FFmpeg, ffmpeg demuxer wrapper (supports all ffmpeg demuxers)&lt;br /&gt;
** Shoutcast, for demuxing shoutcast streams &lt;br /&gt;
* Codecs&lt;br /&gt;
** FactoryCodec, creates audio and video codecs based upon demuxer information&lt;br /&gt;
** Audio&lt;br /&gt;
*** FFmpeg, ffmpeg audio decoder wrapper&lt;br /&gt;
*** Liba52, liba52 wrapper&lt;br /&gt;
*** LibDts, libdca wrapper&lt;br /&gt;
*** LibFaad, libfaad wrapper&lt;br /&gt;
*** LibMad, libmad wrapper (for mp1, mp2, mp3 decoding)&lt;br /&gt;
*** LPcm, lpcm decoding&lt;br /&gt;
*** Passthrough, for digital passthrough &lt;br /&gt;
** Video&lt;br /&gt;
*** LibMpeg2&lt;br /&gt;
*** FFmpeg, ffmpeg video decoder wrapper &lt;br /&gt;
* Subtitles&lt;br /&gt;
&lt;br /&gt;
=== Modules ===&lt;br /&gt;
The player is divided up into a few modules&lt;br /&gt;
&lt;br /&gt;
==== Main Module ====&lt;br /&gt;
Runs in a separate thread&lt;br /&gt;
Reads data from one of the input streams and sends it over to one of the other modules listed below&lt;br /&gt;
Handle DVD events (such as audio / subtitle / video stream changes)&lt;br /&gt;
Handle events from Kodi (such as audio / subtitle changes)&lt;br /&gt;
&lt;br /&gt;
==== Audio Module ====&lt;br /&gt;
Runs in a separate thread.&lt;br /&gt;
Decodes audio data&lt;br /&gt;
&lt;br /&gt;
==== Video Module ====&lt;br /&gt;
Runs in a separate thread.&lt;br /&gt;
Decodes raw video data into video frames&lt;br /&gt;
&lt;br /&gt;
==== Subtitle Module ====&lt;br /&gt;
Process subtitles&lt;br /&gt;
&lt;br /&gt;
== Building Libraries (Audio / Video Codecs) ==&lt;br /&gt;
The dvdplayer depends on other libraries to function. These libraries are included in SVN by default as dll&#039;s under the [http://xbmc.svn.sourceforge.net/viewvc/xbmc/trunk/XBMC/system/players/dvdplayer/ &amp;quot;XBMC/system/players/dvdplayer&amp;quot;] subfolder. The full source code of these libraries can be found under the [http://xbmc.svn.sourceforge.net/viewvc/xbmc/trunk/docs/sources/dvdplayer/ &amp;quot;/docs/sources/dvdplayer/&amp;quot;] subfolder in the SVN. To build these dll&#039;s yourself you need to have the following installed, (the .dll&#039;s must be then be placed under the &amp;quot;[XBMCFOLDER]/system/players/dvdplayer&amp;quot; subfolder).&lt;br /&gt;
&lt;br /&gt;
* MinGW and MSYS&lt;br /&gt;
** see [http://ml20rc.msnfanatic.com/ffmpeg/1.html http://ml20rc.msnfanatic.com/ffmpeg/1.html] for installation for FFmpeg&lt;br /&gt;
** use binutils version 2.16.91 (20060119) 1 &lt;br /&gt;
* unrar&lt;br /&gt;
&lt;br /&gt;
[[Category:Development]]&lt;br /&gt;
[[Category:Players]]&lt;/div&gt;</summary>
		<author><name>Cmayo</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Remap_HDMI_audio_on_Gen_1_ION_-_Linux&amp;diff=103037</id>
		<title>Archive:Remap HDMI audio on Gen 1 ION - Linux</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Remap_HDMI_audio_on_Gen_1_ION_-_Linux&amp;diff=103037"/>
		<updated>2015-11-10T20:32:36Z</updated>

		<summary type="html">&lt;p&gt;Cmayo: /* 14.x Helix */  Add warning that it can cause Kodi to crash&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some early nVidia ION-based motherboards have their HDMI audio channels mapped incorrectly. There are two relatively simple methods to remap HDMI audio at the OS-level on nVidia ION-based systems; which one you use depends on your setup. If you require passthrough, disabling Pulseaudio (if your distribution uses it by default) is necessary to configure ALSA to remap the channels. Configuring Pulseaudio to remap the channels is another option if you don&#039;t require passthrough.&lt;br /&gt;
&lt;br /&gt;
It should be noted that whenever editing config files, it&#039;s best to backup the original.&lt;br /&gt;
&lt;br /&gt;
== ALSA ==&lt;br /&gt;
The following steps require the removal of Pulseaudio if your distribution uses it by default.&lt;br /&gt;
&lt;br /&gt;
HDMI audio output requires several steps to configure properly. My requirements were passthrough, non-passthrough and menu sounds all coming over HDMI to my receiver (fairly common). Some challenges were that the Gen 1 ION had incorrect channel mappings (e.g. Center came out of Left Rear) and menu sounds do not default to HDMI. &lt;br /&gt;
&lt;br /&gt;
I first noticed the audio channels were mis-mapped while watching a movie - all the voices were coming out of the left rear channel, not center. To verify this, I ran the following command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;speaker-test -D hdmi -c 6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To correct the output, I created the following channel mapping in ~/.asoundrc or /etc/asound.conf(.asoundrc overrides the default alsa settings per user, while /etc/asound.conf is a global settings override)&lt;br /&gt;
&lt;br /&gt;
=== 11.x Eden with 7.1 speakers ===&lt;br /&gt;
==== ALSA Configuration ====&lt;br /&gt;
Untested in Frodo.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pcm.hdmi-remap {&lt;br /&gt;
       type route&lt;br /&gt;
       slave.pcm hdmi&lt;br /&gt;
       ttable.0.0 1&lt;br /&gt;
       ttable.1.1 1&lt;br /&gt;
       ttable.2.4 1&lt;br /&gt;
       ttable.3.5 1&lt;br /&gt;
       ttable.4.2 1&lt;br /&gt;
       ttable.5.3 1&lt;br /&gt;
       ttable.6.6 1 &lt;br /&gt;
       ttable.7.7 1 &lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:{{Note|There is intentionally no &#039;&#039;slave.channels&#039;&#039; line in the configuration file since it seems to corrupt the digital stream and prevented proper DTS and DD passthrough to my receiver. If you hear static when using passthrough, this might be the reason why!}}&lt;br /&gt;
;To test our new configuration, we can run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;speaker-test -D hdmi-remap -c 6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hopefully the channels will now be mapped correctly.&lt;br /&gt;
&lt;br /&gt;
==== Kodi Configuration ====&lt;br /&gt;
Within Settings -&amp;gt; System -&amp;gt; Audio Output, I set the following values:&lt;br /&gt;
&lt;br /&gt;
* Audio Output : &#039;&#039;&#039;HDMI&#039;&#039;&#039;&lt;br /&gt;
* Speaker Configuration : &#039;&#039;&#039;7.1&#039;&#039;&#039;&lt;br /&gt;
* Boost volume level on downmix : &#039;&#039;&#039;No&#039;&#039;&#039;&lt;br /&gt;
* Dolby Digital (AC3) capable receiver : &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
* DTS capable receiver : &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
* Audio output device : &#039;&#039;&#039;Custom&#039;&#039;&#039;&lt;br /&gt;
* Custom audio device : &#039;&#039;&#039;hdmi-remap&#039;&#039;&#039;&lt;br /&gt;
* Passthrough output device : &#039;&#039;&#039;hdmi(ALSA)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== Menu Sounds ====&lt;br /&gt;
:{{Note|Not needed in Frodo.}}&lt;br /&gt;
To configure menu sounds, I told alsa to use the hdmi-remap device as default. I did this by adding the following section to my ~/.asoundrc file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pcm.!default {&lt;br /&gt;
	type plug&lt;br /&gt;
	slave.pcm hdmi-remap&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 12.x Frodo / 13.x Gotham with 5.1 speakers (simple fix) ===&lt;br /&gt;
==== ALSA Configuration ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pcm.!default {&lt;br /&gt;
    type plug&lt;br /&gt;
    slave {&lt;br /&gt;
        pcm both&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
pcm.both {&lt;br /&gt;
    type route&lt;br /&gt;
    slave {&lt;br /&gt;
        pcm hdmi&lt;br /&gt;
    }&lt;br /&gt;
       ttable.0.0 1&lt;br /&gt;
       ttable.1.1 1&lt;br /&gt;
       ttable.2.4 1&lt;br /&gt;
       ttable.3.5 1&lt;br /&gt;
       ttable.4.2 1&lt;br /&gt;
       ttable.5.3 1&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;To test our new configuration, we can run:&lt;br /&gt;
&amp;lt;pre&amp;gt;speaker-test -D hdmi -c 6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Kodi Configuration ====&lt;br /&gt;
Within Settings -&amp;gt; System -&amp;gt; Audio Output, I set the following values:&lt;br /&gt;
&lt;br /&gt;
* Audio Output : &#039;&#039;&#039;HDMI&#039;&#039;&#039;&lt;br /&gt;
* Speaker Configuration : &#039;&#039;&#039;5.1&#039;&#039;&#039;&lt;br /&gt;
* Boost volume level on downmix : &#039;&#039;&#039;No&#039;&#039;&#039;&lt;br /&gt;
* Dolby Digital (AC3) capable receiver : &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
* DTS capable receiver : &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
* Audio output device : &#039;&#039;&#039;HDA NVidia HDMI 0&#039;&#039;&#039;&lt;br /&gt;
* Passthrough output device : &#039;&#039;&#039;HDA NVidia HDMI 0&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After a reboot, sound should be working as expected. Feel free to update this information as needed.&lt;br /&gt;
&lt;br /&gt;
{{forum link2|[[forum:147733|&#039;&#039;&#039;Linux&#039;&#039;&#039; Frodo HDMI audio channel remap discussion]]}}&lt;br /&gt;
&lt;br /&gt;
=== 12.x Frodo / 13.x Gotham with 5.1 speakers (including desktop application fix) ===&lt;br /&gt;
==== ALSA Configuration ====&lt;br /&gt;
The following .asoundrc settings will allow Kodi to use exclusive HDMI passthrough, while defaulting to a dmix plugin for the Kodibuntu desktop mode (so that multiple applications can share HDMI access):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;pcm.hdmi_hw {&lt;br /&gt;
        type hw&lt;br /&gt;
        card=0&lt;br /&gt;
        device=3&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pcm.hdmi_direct {&lt;br /&gt;
        type route&lt;br /&gt;
        slave {&lt;br /&gt;
                pcm hdmi_hw&lt;br /&gt;
        }&lt;br /&gt;
        ttable.0.0 1&lt;br /&gt;
        ttable.1.1 1&lt;br /&gt;
        ttable.2.4 1&lt;br /&gt;
        ttable.3.5 1&lt;br /&gt;
        ttable.4.2 1&lt;br /&gt;
        ttable.5.3 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pcm.hdmi_shared {&lt;br /&gt;
        type route&lt;br /&gt;
        slave {&lt;br /&gt;
                pcm hdmi_dmix&lt;br /&gt;
        }&lt;br /&gt;
        ttable.0.0 1&lt;br /&gt;
        ttable.1.1 1&lt;br /&gt;
        ttable.2.4 1&lt;br /&gt;
        ttable.3.5 1&lt;br /&gt;
        ttable.4.2 1&lt;br /&gt;
        ttable.5.3 1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pcm.hdmi_dmix {&lt;br /&gt;
        type dmix&lt;br /&gt;
        ipc_key 1024&lt;br /&gt;
        ipc_key_add_uid false&lt;br /&gt;
        ipc_perm 0666&lt;br /&gt;
        slave {&lt;br /&gt;
                pcm hdmi_hw&lt;br /&gt;
        }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
pcm.!default {&lt;br /&gt;
        type plug&lt;br /&gt;
        slave.pcm &amp;quot;hdmi_shared&amp;quot;&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Test passthrough mode with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;speaker-test -D hdmi_direct -c 6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;And default/shared mode with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;speaker-test -c 6&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;It may also be worth testing each with -c 2 instead of -c 6 to ensure that 2-channel inputs will work.&lt;br /&gt;
&lt;br /&gt;
==== Kodi Configuration ====&lt;br /&gt;
Within Settings -&amp;gt; System -&amp;gt; Audio Output, I set the following values:&lt;br /&gt;
&lt;br /&gt;
* Audio Output : &#039;&#039;&#039;HDMI&#039;&#039;&#039;&lt;br /&gt;
* Speaker Configuration : &#039;&#039;&#039;5.1&#039;&#039;&#039;&lt;br /&gt;
* Boost volume level on downmix : &#039;&#039;&#039;No&#039;&#039;&#039;&lt;br /&gt;
* Dolby Digital (AC3) capable receiver : &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
* DTS capable receiver : &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
* AAC capable receiver : &#039;&#039;&#039;Yes&#039;&#039;&#039; &#039;&#039;(note that AAC appears to reach my receiver as 5.1 LPCM, regardless of this setting)&#039;&#039;&lt;br /&gt;
* MultiChannel LPCM capable receiver : &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
* Audio output device : &#039;&#039;&#039;HDA NVidia HDMI(hdmi_direct)&#039;&#039;&#039;&lt;br /&gt;
* Passthrough output device : &#039;&#039;&#039;HDA NVidia HDMI(hdmi_direct)&#039;&#039;&#039; &#039;&#039;(note that this setting apparently doesn&#039;t matter, as Frodo seems to use the &amp;quot;Audio output device&amp;quot; setting for both passthrough and non-passthrough modes when &amp;quot;Audio Output&amp;quot; is set to &amp;quot;HDMI&amp;quot;)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After a reboot, sound should be working as expected in both Kodi and in Kodibuntu desktop applications. Feel free to update this information as needed.&lt;br /&gt;
&lt;br /&gt;
{{forum link2|[[forum:90910|Problem with 5.1 channel mapping, help configuring asound.conf]]}}&lt;br /&gt;
&lt;br /&gt;
=== 14.x Helix ===&lt;br /&gt;
It appears that remapping may no longer be necessary in Helix for the benefit of Kodi itself, as Kodi appears to perform the remapping itself in software. If remapping is needed for other Linux apps, it should be possible to still use the Frodo/Gotham .asoundrc above but configure Kodi itself to use an output that is not remapped.&lt;br /&gt;
&lt;br /&gt;
Indeed the remapping can even cause Kodi to crash with AESink recording a segfault in libasound.&lt;br /&gt;
&lt;br /&gt;
== Pulseaudio ==&lt;br /&gt;
Some may find that removing Pulseaudio breaks other programs and causes problems. If your setup does not require passthrough and your receiver supports multichannel PCM, you may want to configure Pulseaudio instead. These directions were adapted from [http://askubuntu.com/questions/48406/inverted-surround-channels/142942#142942 here.]&lt;br /&gt;
&lt;br /&gt;
=== Configure Pulseaudio ===&lt;br /&gt;
1. Run from the command-line: &amp;lt;pre&amp;gt;speaker-test -c6 -twav&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. Note which channels need to be remapped, I just wrote them down like so: &lt;br /&gt;
&amp;lt;pre&amp;gt;  SOUND                      SPEAKER&lt;br /&gt;
Left Front          ————-&amp;gt; Left Front&lt;br /&gt;
Center Front        ————-&amp;gt; Left Rear&lt;br /&gt;
Right Front         ————-&amp;gt; Right Front&lt;br /&gt;
Left Rear           ————-&amp;gt; Center Front&lt;br /&gt;
Subwoofer (lfe)     ————-&amp;gt; Right Rear&lt;br /&gt;
Right Rear          ————-&amp;gt; Subwoofer (lfe)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Edit &amp;quot;/usr/share/pulseaudio/alsa-mixer/profile-sets/extra-hdmi.conf&amp;quot; with your favorite text editor as root. I&#039;m using xubuntu 12.04, so I&#039;ll be using leafpad:&lt;br /&gt;
&amp;lt;pre&amp;gt;sudo leafpad /usr/share/pulseaudio/alsa-mixer/profile-sets/extra-hdmi.conf&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. This file contains the Pulseaudio profiles for your HDMI audio outputs. There should be a few entries that say something about 5.1 or 7.1 audio over HDMI. Like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;[Mapping hdmi-surround]&lt;br /&gt;
description = Digital Surround 5.1 (HDMI)&lt;br /&gt;
device-strings = hdmi:%f&lt;br /&gt;
paths-output = hdmi-output-0&lt;br /&gt;
channel-map = front-left,front-right,rear-left,rear-right,front-center,lfe&lt;br /&gt;
priority = 3&lt;br /&gt;
direction = output&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Edit them to fit your needs based on the channel map you wrote down earlier. I edited all of them (except the 7.1 ones, as I only have a 5.1 setup, I would assume things would be similar for 7.1) like so:&lt;br /&gt;
&amp;lt;pre&amp;gt;[Mapping hdmi-surround]&lt;br /&gt;
description = Digital Surround 5.1 (HDMI)&lt;br /&gt;
device-strings = hdmi:%f&lt;br /&gt;
paths-output = hdmi-output-0&lt;br /&gt;
channel-map = front-left,front-right,front-center,lfe,rear-left,rear-right&lt;br /&gt;
priority = 3&lt;br /&gt;
direction = output&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. Restart Pulseaudio to load your new channel maps and run a speaker test:&lt;br /&gt;
&amp;lt;pre&amp;gt;pulseaudio -k&lt;br /&gt;
pulseaudio --start&lt;br /&gt;
speaker-test -c6 -twav&amp;lt;/pre&amp;gt;&lt;br /&gt;
If everything is coming out of the right channel then you&#039;re all set!&lt;br /&gt;
&lt;br /&gt;
=== Configure Kodi ===&lt;br /&gt;
Within Settings -&amp;gt; System -&amp;gt; Audio Output, set:&lt;br /&gt;
&lt;br /&gt;
* Audio Output : &#039;&#039;&#039;HDMI&#039;&#039;&#039;&lt;br /&gt;
* Speaker Configuration : &#039;&#039;&#039;5.1&#039;&#039;&#039; (or 7.1 depeding on your setup)&lt;br /&gt;
* Boost volume level on downmix : &#039;&#039;&#039;Yes&#039;&#039;&#039;&lt;br /&gt;
* Dolby Digital (AC3) capable receiver : &#039;&#039;&#039;No&#039;&#039;&#039;&lt;br /&gt;
* DTS capable receiver : &#039;&#039;&#039;No&#039;&#039;&#039;&lt;br /&gt;
* Audio output device : &#039;&#039;&#039;defaults(Pulseaudio)&#039;&#039;&#039;&lt;br /&gt;
* Passthrough output device : &#039;&#039;&#039;hdmi(ALSA)&#039;&#039;&#039; (won&#039;t be used, you can set it to whatever you&#039;d like)&lt;br /&gt;
&lt;br /&gt;
{{note|Pulseaudio and Kodi do not work with passthrough as of Eden (not tested in Frodo, but likely the same). That is why we are telling Kodi the receiver can&#039;t decode AC3 and DTS. Theoretically speaking, there is no difference between decoding in software or on your receiver. Some may disagree, however the receiver tells me that it is indeed receiving 5.1 multichannel PCM. Sounds seem to be mapped correctly.}}&lt;br /&gt;
Tested with Xubuntu 12.04, Eden, on an ASRock ION330 motherboard&lt;br /&gt;
&lt;br /&gt;
{{forum link2|[[forum:150806|Linux: Remapping Pulseaudio Channels]]}}&lt;br /&gt;
&lt;br /&gt;
{{helix updated}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Audio]]&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:NVidia]]&lt;/div&gt;</summary>
		<author><name>Cmayo</name></author>
	</entry>
</feed>