Try to remap "FastForward" button on my LG Remote

i’m just curios… i’m stay to try to remap a one button on my LG remote… it’s the “FastForward”.

During a video reproduction if i press the “<<” (i don’t have idea how i can explain…lol) buttons the video step back to initial… i thinks it’s ok.
On the right of this buttons this is a button “>>”. If i press it during a video reproduction it’s do nothings.

On the debug log of kodi it’s appears this line:

2020-09-30 09:57:52.912 T:1540276960   DEBUG: PushCecKeypress - received key df duration 0 (rep:0 size:0)
2020-09-30 09:57:52.912 T:1540276960   DEBUG: PushCecKeypress - added key df
2020-09-30 09:57:52.934 T:1915422256   DEBUG: HandleKey: sleep (0xdf) pressed, action is SkipNext
2020-09-30 09:57:52.984 T:1540276960   DEBUG: PushCecKeypress - received key df duration 71 (rep:0 size:0)
2020-09-30 09:57:52.984 T:1540276960   DEBUG: PushCecKeypress - ignored key df
2020-09-30 09:57:53.294 T:1540276960   DEBUG: PushCecKeypress - received key df duration 0 (rep:0 size:0)
2020-09-30 09:57:53.294 T:1540276960   DEBUG: PushCecKeypress - added key df
2020-09-30 09:57:53.300 T:1915422256   DEBUG: HandleKey: sleep (0xdf) pressed, action is SkipNext
2020-09-30 09:57:53.366 T:1540276960   DEBUG: PushCecKeypress - received key df duration 72 (rep:0 size:0)
2020-09-30 09:57:53.366 T:1540276960   DEBUG: PushCecKeypress - ignored key df
2020-09-30 09:57:53.462 T:1540276960   DEBUG: PushCecKeypress - received key df duration 0 (rep:0 size:0)
2020-09-30 09:57:53.463 T:1540276960   DEBUG: PushCecKeypress - added key df
2020-09-30 09:57:53.467 T:1915422256   DEBUG: HandleKey: sleep (0xdf) pressed, action is SkipNext
2020-09-30 09:57:53.533 T:1540276960   DEBUG: PushCecKeypress - received key df duration 72 (rep:0 size:0)
2020-09-30 09:57:53.533 T:1540276960   DEBUG: PushCecKeypress - ignored key df

I have tryed to remap this buttons… i have added this on a myremote.xml files… now it’s:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Tryed to Override some remote.xml value -->
<!-- stored in /usr/share/kodi/system/keymap -->
<keymap>
  <global>
    <remote>
      <red>ActivateWindow(Home)</red>
      <green>ContextMenu</green>
      <yellow>Info</yellow>
      <blue>ReloadKeymaps</blue>
	  <key id="0xdf">FastForward</key>
    </remote>
  </global>
  <FullscreenVideo>
   <remote>
   	<red>PlayerDebug</red>
   	<green>PlayerProcessInfo</green>
    <yellow>Info</yellow>
	<blue></blue>
	<!-- <key id="0xdf">FastForward</key>-->
   </remote>
  </FullscreenVideo>
</keymap> 

I reboot my RB Pi2 and look what’s append. Apparently it’s not works… ever on debug log i can see some line during boot… it’s say:

2020-09-30 09:55:01.304 T:1915422256    INFO: Loading special://masterprofile/keymaps/gen.xml
2020-09-30 09:55:01.305 T:1915422256    INFO: Loading special://masterprofile/keymaps/myremote.xml
2020-09-30 09:55:01.306 T:1915422256   ERROR: Remote Translator: Can't find button key
2020-09-30 09:55:01.308 T:1915422256    INFO: Loading special://profile/keymaps/gen.xml
2020-09-30 09:55:01.309 T:1915422256    INFO: Loading special://profile/keymaps/myremote.xml
2020-09-30 09:55:01.310 T:1915422256   ERROR: Remote Translator: Can't find button key

The ID of the buttons it’s apparently correct but i don’t have idea because it’s not works… it’s the “key id” commands not more avaiable in current kodi version ?

I have also tryed to find some help by google… i have found some old discussion here like this:

what am I doing wrong ?

EDIT
Ops… resolved after some other result found on google… here on official forum the inspiration:
https://forum.kodi.tv/showthread.php?tid=40901

After this i have take a look on original “keyboard.xml” in “/usr/share…”.
I have found the “FastForward” it’s not a command for remote section… after that i have add this on a gen.xml:

<keymap>
 <global>
  <keyboard>
   <key id="61515">reloadkeymaps</key>
   <key id="61523">screenshot</key>
   <F5>XBMC.ReloadSkin()</F5>
   <F6>reloadkeymaps</F6>
   <F8>Skin.ToggleDebug()</F8>
   <F7>ToggleDebug</F7>
   <key id="0xdf">FastForward</key>
  </keyboard>
 </global>
</keymap>

I have launch “kodi-send --action=reloadkeymaps” by ssh session from my pc and baaaam… now it’s works… Now i can use “FastForward” during video reproduction… yeah :slight_smile:

EDIT 2
Now i’m also moved that settings from general xml to myremote.xml now it’s:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Tryed to Override some remote.xml value -->
<!-- stored in /usr/share/kodi/system/keymap -->
<keymap>
  <global>
    <remote>
      <red>ActivateWindow(Home)</red>
      <green>ContextMenu</green>
      <yellow>Info</yellow>
      <blue>ReloadKeymaps</blue>
    </remote>
  </global>
  <FullscreenVideo>
   <keyboard>
     <key id="0xdf">FastForward</key>
   </keyboard>
   <remote>
   	 <red>PlayerDebug</red>
   	 <green>PlayerProcessInfo</green>
     <yellow>Info</yellow>
	 <blue></blue>
	<!-- <key id="0xdf">FastForward</key>-->
   </remote>
  </FullscreenVideo>
</keymap>

in this way I separated the remote control custom settings from the keyboard custom keymap :slight_smile:

The HandleKey events do not log the correct key names for CEC events. To find the correct Key id numbers it is probably easiest to just use the Keymap Editor add-on to discover those. Alternatively you can try to figure out the key names instead by trying to match up the action it is performing with the default maps but this offers no advantage over just using the key id. I think you will probably find that << is key id 221 and >> is key id 223.

in the past I had used this addons but every time I started it it reset all the xml files that I had previously created and therefore I had abandoned him.

from that moment to detect key ids (also if it’s from my bluethoot keyboard or my lg tv remote) i ever look the log after enabled the debug. It’s not correct ways ?

The keymap editor add-on does have that behavior unfortunately but in the case of configuring for CEC this is by far the easiest way to get working key id numbers because a) the Kodi log does not list key id’s and b) the key names for CEC are incorrect. I would just backup your current keymap/s, use keymap editor to find the key-id numbers, then use those to manually edit your existing keymap.

Alternatively...

Replace keymap on running system with this and via SSH kodi-send --action=reloadkeymaps which of course will make your system unusable until you remove that and issue that action again.

<keymap>
	<home>
		<keyboard>
			<key id="1">Notification(id 1,,[50])</key>
			<key id="2">Notification(id 2,,[50])</key>
			<key id="3">Notification(id 3,,[50])</key>
			<key id="4">Notification(id 4,,[50])</key>
			<key id="5">Notification(id 5,,[50])</key>
			<key id="6">Notification(id 6,,[50])</key>
			<key id="7">Notification(id 7,,[50])</key>
			<key id="8">Notification(id 8,,[50])</key>
			<key id="9">Notification(id 9,,[50])</key>
			<key id="10">Notification(id 10,,[50])</key>
			<key id="11">Notification(id 11,,[50])</key>
			<key id="12">Notification(id 12,,[50])</key>
			<key id="13">Notification(id 13,,[50])</key>
			<key id="14">Notification(id 14,,[50])</key>
			<key id="15">Notification(id 15,,[50])</key>
			<key id="16">Notification(id 16,,[50])</key>
			<key id="17">Notification(id 17,,[50])</key>
			<key id="18">Notification(id 18,,[50])</key>
			<key id="19">Notification(id 19,,[50])</key>
			<key id="20">Notification(id 20,,[50])</key>
			<key id="21">Notification(id 21,,[50])</key>
			<key id="22">Notification(id 22,,[50])</key>
			<key id="23">Notification(id 23,,[50])</key>
			<key id="24">Notification(id 24,,[50])</key>
			<key id="25">Notification(id 25,,[50])</key>
			<key id="26">Notification(id 26,,[50])</key>
			<key id="27">Notification(id 27,,[50])</key>
			<key id="28">Notification(id 28,,[50])</key>
			<key id="29">Notification(id 29,,[50])</key>
			<key id="30">Notification(id 30,,[50])</key>
			<key id="31">Notification(id 31,,[50])</key>
			<key id="32">Notification(id 32,,[50])</key>
			<key id="33">Notification(id 33,,[50])</key>
			<key id="34">Notification(id 34,,[50])</key>
			<key id="35">Notification(id 35,,[50])</key>
			<key id="36">Notification(id 36,,[50])</key>
			<key id="37">Notification(id 37,,[50])</key>
			<key id="38">Notification(id 38,,[50])</key>
			<key id="39">Notification(id 39,,[50])</key>
			<key id="40">Notification(id 40,,[50])</key>
			<key id="41">Notification(id 41,,[50])</key>
			<key id="42">Notification(id 42,,[50])</key>
			<key id="43">Notification(id 43,,[50])</key>
			<key id="44">Notification(id 44,,[50])</key>
			<key id="45">Notification(id 45,,[50])</key>
			<key id="46">Notification(id 46,,[50])</key>
			<key id="47">Notification(id 47,,[50])</key>
			<key id="48">Notification(id 48,,[50])</key>
			<key id="49">Notification(id 49,,[50])</key>
			<key id="50">Notification(id 50,,[50])</key>
			<key id="51">Notification(id 51,,[50])</key>
			<key id="52">Notification(id 52,,[50])</key>
			<key id="53">Notification(id 53,,[50])</key>
			<key id="54">Notification(id 54,,[50])</key>
			<key id="55">Notification(id 55,,[50])</key>
			<key id="56">Notification(id 56,,[50])</key>
			<key id="57">Notification(id 57,,[50])</key>
			<key id="58">Notification(id 58,,[50])</key>
			<key id="59">Notification(id 59,,[50])</key>
			<key id="60">Notification(id 60,,[50])</key>
			<key id="61">Notification(id 61,,[50])</key>
			<key id="62">Notification(id 62,,[50])</key>
			<key id="63">Notification(id 63,,[50])</key>
			<key id="64">Notification(id 64,,[50])</key>
			<key id="65">Notification(id 65,,[50])</key>
			<key id="66">Notification(id 66,,[50])</key>
			<key id="67">Notification(id 67,,[50])</key>
			<key id="68">Notification(id 68,,[50])</key>
			<key id="69">Notification(id 69,,[50])</key>
			<key id="70">Notification(id 70,,[50])</key>
			<key id="71">Notification(id 71,,[50])</key>
			<key id="72">Notification(id 72,,[50])</key>
			<key id="73">Notification(id 73,,[50])</key>
			<key id="74">Notification(id 74,,[50])</key>
			<key id="75">Notification(id 75,,[50])</key>
			<key id="76">Notification(id 76,,[50])</key>
			<key id="77">Notification(id 77,,[50])</key>
			<key id="78">Notification(id 78,,[50])</key>
			<key id="79">Notification(id 79,,[50])</key>
			<key id="80">Notification(id 80,,[50])</key>
			<key id="81">Notification(id 81,,[50])</key>
			<key id="82">Notification(id 82,,[50])</key>
			<key id="83">Notification(id 83,,[50])</key>
			<key id="84">Notification(id 84,,[50])</key>
			<key id="85">Notification(id 85,,[50])</key>
			<key id="86">Notification(id 86,,[50])</key>
			<key id="87">Notification(id 87,,[50])</key>
			<key id="88">Notification(id 88,,[50])</key>
			<key id="89">Notification(id 89,,[50])</key>
			<key id="90">Notification(id 90,,[50])</key>
			<key id="91">Notification(id 91,,[50])</key>
			<key id="92">Notification(id 92,,[50])</key>
			<key id="93">Notification(id 93,,[50])</key>
			<key id="94">Notification(id 94,,[50])</key>
			<key id="95">Notification(id 95,,[50])</key>
			<key id="96">Notification(id 96,,[50])</key>
			<key id="97">Notification(id 97,,[50])</key>
			<key id="98">Notification(id 98,,[50])</key>
			<key id="99">Notification(id 99,,[50])</key>
			<key id="100">Notification(id 100,,[50])</key>
			<key id="101">Notification(id 101,,[50])</key>
			<key id="102">Notification(id 102,,[50])</key>
			<key id="103">Notification(id 103,,[50])</key>
			<key id="104">Notification(id 104,,[50])</key>
			<key id="105">Notification(id 105,,[50])</key>
			<key id="106">Notification(id 106,,[50])</key>
			<key id="107">Notification(id 107,,[50])</key>
			<key id="108">Notification(id 108,,[50])</key>
			<key id="109">Notification(id 109,,[50])</key>
			<key id="110">Notification(id 110,,[50])</key>
			<key id="111">Notification(id 111,,[50])</key>
			<key id="112">Notification(id 112,,[50])</key>
			<key id="113">Notification(id 113,,[50])</key>
			<key id="114">Notification(id 114,,[50])</key>
			<key id="115">Notification(id 115,,[50])</key>
			<key id="116">Notification(id 116,,[50])</key>
			<key id="117">Notification(id 117,,[50])</key>
			<key id="118">Notification(id 118,,[50])</key>
			<key id="119">Notification(id 119,,[50])</key>
			<key id="120">Notification(id 120,,[50])</key>
			<key id="121">Notification(id 121,,[50])</key>
			<key id="122">Notification(id 122,,[50])</key>
			<key id="123">Notification(id 123,,[50])</key>
			<key id="124">Notification(id 124,,[50])</key>
			<key id="125">Notification(id 125,,[50])</key>
			<key id="126">Notification(id 126,,[50])</key>
			<key id="127">Notification(id 127,,[50])</key>
			<key id="128">Notification(id 128,,[50])</key>
			<key id="129">Notification(id 129,,[50])</key>
			<key id="130">Notification(id 130,,[50])</key>
			<key id="131">Notification(id 131,,[50])</key>
			<key id="132">Notification(id 132,,[50])</key>
			<key id="133">Notification(id 133,,[50])</key>
			<key id="134">Notification(id 134,,[50])</key>
			<key id="135">Notification(id 135,,[50])</key>
			<key id="136">Notification(id 136,,[50])</key>
			<key id="137">Notification(id 137,,[50])</key>
			<key id="138">Notification(id 138,,[50])</key>
			<key id="139">Notification(id 139,,[50])</key>
			<key id="140">Notification(id 140,,[50])</key>
			<key id="141">Notification(id 141,,[50])</key>
			<key id="142">Notification(id 142,,[50])</key>
			<key id="143">Notification(id 143,,[50])</key>
			<key id="144">Notification(id 144,,[50])</key>
			<key id="145">Notification(id 145,,[50])</key>
			<key id="146">Notification(id 146,,[50])</key>
			<key id="147">Notification(id 147,,[50])</key>
			<key id="148">Notification(id 148,,[50])</key>
			<key id="149">Notification(id 149,,[50])</key>
			<key id="150">Notification(id 150,,[50])</key>
			<key id="151">Notification(id 151,,[50])</key>
			<key id="152">Notification(id 152,,[50])</key>
			<key id="153">Notification(id 153,,[50])</key>
			<key id="154">Notification(id 154,,[50])</key>
			<key id="155">Notification(id 155,,[50])</key>
			<key id="156">Notification(id 156,,[50])</key>
			<key id="157">Notification(id 157,,[50])</key>
			<key id="158">Notification(id 158,,[50])</key>
			<key id="159">Notification(id 159,,[50])</key>
			<key id="160">Notification(id 160,,[50])</key>
			<key id="161">Notification(id 161,,[50])</key>
			<key id="162">Notification(id 162,,[50])</key>
			<key id="163">Notification(id 163,,[50])</key>
			<key id="164">Notification(id 164,,[50])</key>
			<key id="165">Notification(id 165,,[50])</key>
			<key id="166">Notification(id 166,,[50])</key>
			<key id="167">Notification(id 167,,[50])</key>
			<key id="168">Notification(id 168,,[50])</key>
			<key id="169">Notification(id 169,,[50])</key>
			<key id="170">Notification(id 170,,[50])</key>
			<key id="171">Notification(id 171,,[50])</key>
			<key id="172">Notification(id 172,,[50])</key>
			<key id="173">Notification(id 173,,[50])</key>
			<key id="174">Notification(id 174,,[50])</key>
			<key id="175">Notification(id 175,,[50])</key>
			<key id="176">Notification(id 176,,[50])</key>
			<key id="177">Notification(id 177,,[50])</key>
			<key id="178">Notification(id 178,,[50])</key>
			<key id="179">Notification(id 179,,[50])</key>
			<key id="180">Notification(id 180,,[50])</key>
			<key id="181">Notification(id 181,,[50])</key>
			<key id="182">Notification(id 182,,[50])</key>
			<key id="183">Notification(id 183,,[50])</key>
			<key id="184">Notification(id 184,,[50])</key>
			<key id="185">Notification(id 185,,[50])</key>
			<key id="186">Notification(id 186,,[50])</key>
			<key id="187">Notification(id 187,,[50])</key>
			<key id="188">Notification(id 188,,[50])</key>
			<key id="189">Notification(id 189,,[50])</key>
			<key id="190">Notification(id 190,,[50])</key>
			<key id="191">Notification(id 191,,[50])</key>
			<key id="192">Notification(id 192,,[50])</key>
			<key id="193">Notification(id 193,,[50])</key>
			<key id="194">Notification(id 194,,[50])</key>
			<key id="195">Notification(id 195,,[50])</key>
			<key id="196">Notification(id 196,,[50])</key>
			<key id="197">Notification(id 197,,[50])</key>
			<key id="198">Notification(id 198,,[50])</key>
			<key id="199">Notification(id 199,,[50])</key>
			<key id="200">Notification(id 200,,[50])</key>
			<key id="201">Notification(id 201,,[50])</key>
			<key id="202">Notification(id 202,,[50])</key>
			<key id="203">Notification(id 203,,[50])</key>
			<key id="204">Notification(id 204,,[50])</key>
			<key id="205">Notification(id 205,,[50])</key>
			<key id="206">Notification(id 206,,[50])</key>
			<key id="207">Notification(id 207,,[50])</key>
			<key id="208">Notification(id 208,,[50])</key>
			<key id="209">Notification(id 209,,[50])</key>
			<key id="210">Notification(id 210,,[50])</key>
			<key id="211">Notification(id 211,,[50])</key>
			<key id="212">Notification(id 212,,[50])</key>
			<key id="213">Notification(id 213,,[50])</key>
			<key id="214">Notification(id 214,,[50])</key>
			<key id="215">Notification(id 215,,[50])</key>
			<key id="216">Notification(id 216,,[50])</key>
			<key id="217">Notification(id 217,,[50])</key>
			<key id="218">Notification(id 218,,[50])</key>
			<key id="219">Notification(id 219,,[50])</key>
			<key id="220">Notification(id 220,,[50])</key>
			<key id="221">Notification(id 221,,[50])</key>
			<key id="222">Notification(id 222,,[50])</key>
			<key id="223">Notification(id 223,,[50])</key>
			<key id="224">Notification(id 224,,[50])</key>
			<key id="225">Notification(id 225,,[50])</key>
			<key id="226">Notification(id 226,,[50])</key>
			<key id="227">Notification(id 227,,[50])</key>
			<key id="228">Notification(id 228,,[50])</key>
			<key id="229">Notification(id 229,,[50])</key>
			<key id="230">Notification(id 230,,[50])</key>
			<key id="231">Notification(id 231,,[50])</key>
			<key id="232">Notification(id 232,,[50])</key>
			<key id="233">Notification(id 233,,[50])</key>
			<key id="234">Notification(id 234,,[50])</key>
			<key id="235">Notification(id 235,,[50])</key>
			<key id="236">Notification(id 236,,[50])</key>
			<key id="237">Notification(id 237,,[50])</key>
			<key id="238">Notification(id 238,,[50])</key>
			<key id="239">Notification(id 239,,[50])</key>
			<key id="240">Notification(id 240,,[50])</key>
			<key id="241">Notification(id 241,,[50])</key>
			<key id="242">Notification(id 242,,[50])</key>
			<key id="243">Notification(id 243,,[50])</key>
			<key id="244">Notification(id 244,,[50])</key>
			<key id="245">Notification(id 245,,[50])</key>
			<key id="246">Notification(id 246,,[50])</key>
			<key id="247">Notification(id 247,,[50])</key>
			<key id="248">Notification(id 248,,[50])</key>
			<key id="249">Notification(id 249,,[50])</key>
			<key id="250">Notification(id 250,,[50])</key>
			<key id="251">Notification(id 251,,[50])</key>
			<key id="252">Notification(id 252,,[50])</key>
			<key id="253">Notification(id 253,,[50])</key>
			<key id="254">Notification(id 254,,[50])</key>
			<key id="255">Notification(id 255,,[50])</key>
		</keyboard>
	</home>
</keymap>
1 Like