Kodi Community Forum

Full Version: Need help setting clearing a few default settings on MCE remote
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi all

I have an MCE remote that I'm using for my Shield TV (I previously used it for Kodi with my old media PC) - one of these types;
http://ecx.images-amazon.com/images/I/51...SY300_.jpg

Generally it's fine, but there are a handful of controls I want to configure, but I just can't work out how to clear the existing commands down.

I'm trying to set buttons for the following;
Subtitles toggle
Create bookmark
Launch audio delay
Launch subs delay
Clean videos

I'm trying to use the second and third rows of the remote, the coloured ones and the ones for opening media files (as they are the only ones not using a normal function I need), and I have tried using the Kodi Keypad Editor to map those buttons to the above commands, but half of them keep trying to open the PVR manager and the other half open video, music or photos folders.

I have trawled back and forth through the settings in Keypad Editor but I just cannot find anything using these commands, or where the relevant settigns are to try to clear them.

I'm guessing they're default settings, but there must be a way of finding out which they are and assigning them to something else I don't need? I have a wireless keyboard set to it as well so I could assign unused keys if I could work out what the hell they are.

Any ideas on how to fix this?

Thanks! Sad
Get a debug log (wiki) where you press each of those buttons. That should expose what key press is being used. Then we can see how the keymap needs to be structured to get the behavior you desire.
Great, thanks Ned.

I've installed the uploader too. I've done a test; I started Kodi, waited a few minutes for it to settle, then press each of the eight buttons, one at a time leaving a minute between each to make it easier to try to identify them. For the ones that brought up the PVR message I also had to press the back button to clear them. I then waited a few more minutes before doing the log upload.

The log is here: http://xbmclogs.com/p0ihscdtg

The first button was pressed at 14:08 and the last 14:15, so these are the logs from just those actions;

14:08:19 T:1116905600 DEBUG: Keyboard: scancode: 0x71, sym: 0x0132, unicode: 0x0000, modifier: 0x40
14:08:19 T:1116905600 DEBUG: CAnnouncementManager - Announcement: OnScreensaverDeactivated from xbmc
14:08:19 T:1116905600 DEBUG: GOT ANNOUNCEMENT, type: 4, from xbmc, message OnScreensaverDeactivated
14:08:19 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-leftctrl (0x1f0d0) pressed, screen saver/dpms woken up
14:08:19 T:1116905600 DEBUG: Keyboard: scancode: 0x3b, sym: 0x0130, unicode: 0x0000, modifier: 0x41
14:08:19 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-shift-leftshift (0x3f0d2) pressed, action is
14:08:19 T:1116905600 DEBUG: Keyboard: scancode: 0x30, sym: 0x0074, unicode: 0x0000, modifier: 0x41
14:08:19 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-shift-t (0x3f054) pressed, action is ActivateWindow(TVChannels)
14:08:19 T:1116905600 DEBUG: Activating window ID: 10615
14:08:19 T:1116905600 DEBUG: ------ Window Deinit (Home.xml) ------
14:08:19 T:1116905600 DEBUG: ------ Window Init (MyPVRChannels.xml) ------
14:08:19 T:1116905600 INFO: Loading skin file: MyPVRChannels.xml, load type: KEEP_IN_MEMORY
14:08:20 T:1116905600 DEBUG: DialogProgress::StartModal called
14:08:20 T:1116905600 DEBUG: ------ Window Init (DialogProgress.xml) ------
14:08:20 T:1116905600 INFO: Loading skin file: DialogProgress.xml, load type: KEEP_IN_MEMORY
14:08:20 T:1116905600 DEBUG: ------ Window Deinit () ------
14:08:21 T:1116905600 DEBUG: Keyboard: scancode: 0x43, sym: 0x0008, unicode: 0x0000, modifier: 0x0
14:08:21 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): backspace (0xf008) pressed, action is Back
14:08:21 T:1116905600 DEBUG: CGUIWindowManager:TonguereviousWindow: Deactivate
14:08:21 T:1116905600 DEBUG: CGUIWindowManager:TonguereviousWindow: Activate new
14:08:21 T:1116905600 DEBUG: ------ Window Init (Home.xml) ------
14:08:22 T:1116905600 DEBUG: ------ Window Deinit (DialogProgress.xml) ------
14:09:16 T:1116905600 DEBUG: Keyboard: scancode: 0x71, sym: 0x0132, unicode: 0x0000, modifier: 0x40
14:09:16 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-leftctrl (0x1f0d0) pressed, action is
14:09:16 T:1116905600 DEBUG: Keyboard: scancode: 0x29, sym: 0x006d, unicode: 0x0000, modifier: 0x40
14:09:16 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-m (0x1f04d) pressed, action is ActivateWindow(music)
14:09:16 T:1116905600 DEBUG: Activating window ID: 10501
14:09:16 T:1116905600 DEBUG: ------ Window Deinit (Home.xml) ------
14:09:16 T:1116905600 DEBUG: ------ Window Init (MyMusicSongs.xml) ------
14:09:16 T:1116905600 INFO: Loading skin file: MyMusicSongs.xml, load type: KEEP_IN_MEMORY
14:09:16 T:1116905600 DEBUG: CGUIMediaWindow::GetDirectory ()
14:09:16 T:1116905600 DEBUG: ParentPath = []
14:09:16 T:1116905600 DEBUG: RetrieveMusicInfo() took 0 msec
14:09:16 T:2125050112 NOTICE: Thread BackgroundLoader start, auto delete: false
14:09:16 T:2125050112 DEBUG: Thread BackgroundLoader 2125050112 terminating
14:10:07 T:1116905600 DEBUG: Keyboard: scancode: 0x71, sym: 0x0132, unicode: 0x0000, modifier: 0x40
14:10:07 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-leftctrl (0x1f0d0) pressed, action is
14:10:07 T:1116905600 DEBUG: Keyboard: scancode: 0x25, sym: 0x0069, unicode: 0x0000, modifier: 0x40
14:10:07 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-i (0x1f049) pressed, action is ActivateWindow(pictures)
14:10:07 T:1116905600 DEBUG: Activating window ID: 10002
14:10:07 T:1116905600 DEBUG: ------ Window Deinit (MyMusicSongs.xml) ------
14:10:07 T:1116905600 DEBUG: SECTION:LoadDLL(libImageLib-arm.so)
14:10:07 T:1116905600 DEBUG: Loading: /data/app/org.xbmc.kodi-1/lib/arm/libImageLib-arm.so
14:10:07 T:1116905600 DEBUG: ------ Window Init (MyPics.xml) ------
14:10:07 T:1116905600 INFO: Loading skin file: MyPics.xml, load type: KEEP_IN_MEMORY
14:10:07 T:1116905600 DEBUG: CGUIMediaWindow::GetDirectory ()
14:10:07 T:1116905600 DEBUG: ParentPath = []
14:10:07 T:2122664704 NOTICE: Thread BackgroundLoader start, auto delete: false
14:10:07 T:2122664704 DEBUG: Thread BackgroundLoader 2122664704 terminating
14:11:12 T:1116905600 DEBUG: Keyboard: scancode: 0x71, sym: 0x0132, unicode: 0x0000, modifier: 0x40
14:11:12 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-leftctrl (0x1f0d0) pressed, action is
14:11:12 T:1116905600 DEBUG: Keyboard: scancode: 0x21, sym: 0x0065, unicode: 0x0000, modifier: 0x40
14:11:12 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-e (0x1f045) pressed, action is ActivateWindow(video)
14:11:12 T:1116905600 DEBUG: Activating window ID: 10025
14:11:12 T:1116905600 DEBUG: ------ Window Deinit (MyPics.xml) ------
14:11:12 T:1116905600 DEBUG: ------ Window Init (MyVideoNav.xml) ------
14:11:12 T:1116905600 INFO: Loading skin file: MyVideoNav.xml, load type: KEEP_IN_MEMORY
14:11:12 T:1116905600 DEBUG: CGUIMediaWindow::GetDirectory ()
14:11:12 T:1116905600 DEBUG: ParentPath = []
14:11:12 T:2128048000 NOTICE: Thread BackgroundLoader start, auto delete: false
14:11:12 T:2128048000 DEBUG: Thread BackgroundLoader 2128048000 terminating
14:11:42 T:1116905600 DEBUG: SECTION:UnloadDelayed(DLL: libImageLib-arm.so)
14:11:42 T:1116905600 DEBUG: Unloading: /libImageLib-arm.so
14:12:09 T:1116905600 DEBUG: Keyboard: scancode: 0x71, sym: 0x0132, unicode: 0x0000, modifier: 0x40
14:12:09 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-leftctrl (0x1f0d0) pressed, action is
14:12:09 T:1116905600 DEBUG: Keyboard: scancode: 0x2b, sym: 0x006f, unicode: 0x0000, modifier: 0x40
14:12:09 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-o (0x1f04f) pressed, action is ActivateWindow(TVRecordings)
14:12:09 T:1116905600 DEBUG: Activating window ID: 10616
14:12:09 T:1116905600 DEBUG: ------ Window Deinit (MyVideoNav.xml) ------
14:12:09 T:1116905600 DEBUG: ------ Window Init (MyPVRRecordings.xml) ------
14:12:09 T:1116905600 INFO: Loading skin file: MyPVRRecordings.xml, load type: KEEP_IN_MEMORY
14:12:09 T:1116905600 DEBUG: DialogProgress::StartModal called
14:12:09 T:1116905600 DEBUG: ------ Window Init (DialogProgress.xml) ------
14:12:12 T:1116905600 DEBUG: Keyboard: scancode: 0x43, sym: 0x0008, unicode: 0x0000, modifier: 0x0
14:12:12 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): backspace (0xf008) pressed, action is Back
14:12:12 T:1116905600 DEBUG: CGUIWindowManager:TonguereviousWindow: Deactivate
14:12:12 T:1116905600 DEBUG: CGUIWindowManager:TonguereviousWindow: Activate new
14:12:12 T:1116905600 DEBUG: ------ Window Init (MyVideoNav.xml) ------
14:12:12 T:1116905600 DEBUG: CGUIMediaWindow::GetDirectory ()
14:12:12 T:1116905600 DEBUG: ParentPath = []
14:12:12 T:2126574720 NOTICE: Thread BackgroundLoader start, auto delete: false
14:12:12 T:2126574720 DEBUG: Thread BackgroundLoader 2126574720 terminating
14:12:12 T:1116905600 DEBUG: ------ Window Deinit (DialogProgress.xml) ------
14:13:13 T:1116905600 DEBUG: Keyboard: scancode: 0x71, sym: 0x0132, unicode: 0x0000, modifier: 0x40
14:13:13 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-leftctrl (0x1f0d0) pressed, action is
14:13:13 T:1116905600 DEBUG: Keyboard: scancode: 0x23, sym: 0x0067, unicode: 0x0000, modifier: 0x40
14:13:13 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-g (0x1f047) pressed, action is ActivateWindow(TVGuide)
14:13:13 T:1116905600 DEBUG: Activating window ID: 10617
14:13:14 T:1116905600 DEBUG: ------ Window Deinit (MyVideoNav.xml) ------
14:13:14 T:1116905600 DEBUG: ------ Window Init (MyPVRGuide.xml) ------
14:13:14 T:1116905600 INFO: Loading skin file: MyPVRGuide.xml, load type: KEEP_IN_MEMORY
14:13:14 T:1116905600 DEBUG: DialogProgress::StartModal called
14:13:14 T:1116905600 DEBUG: ------ Window Init (DialogProgress.xml) ------
14:13:16 T:1116905600 DEBUG: Keyboard: scancode: 0x43, sym: 0x0008, unicode: 0x0000, modifier: 0x0
14:13:16 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): backspace (0xf008) pressed, action is Back
14:13:16 T:1116905600 DEBUG: CGUIWindowManager:TonguereviousWindow: Deactivate
14:13:16 T:1116905600 DEBUG: CGUIWindowManager:TonguereviousWindow: Activate new
14:13:16 T:1116905600 DEBUG: ------ Window Init (MyVideoNav.xml) ------
14:13:16 T:1116905600 DEBUG: CGUIMediaWindow::GetDirectory ()
14:13:16 T:1116905600 DEBUG: ParentPath = []
14:13:16 T:2128398592 NOTICE: Thread BackgroundLoader start, auto delete: false
14:13:16 T:2128398592 DEBUG: Thread BackgroundLoader 2128398592 terminating
14:13:16 T:1116905600 DEBUG: ------ Window Deinit (DialogProgress.xml) ------
14:14:13 T:1116905600 DEBUG: Keyboard: scancode: 0x71, sym: 0x0132, unicode: 0x0000, modifier: 0x40
14:14:13 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-leftctrl (0x1f0d0) pressed, action is
14:14:13 T:1116905600 DEBUG: Keyboard: scancode: 0x30, sym: 0x0074, unicode: 0x0000, modifier: 0x40
14:14:13 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-t (0x1f054) pressed, action is ActivateWindow(TVChannels)
14:14:13 T:1116905600 DEBUG: Activating window ID: 10615
14:14:13 T:1116905600 DEBUG: ------ Window Deinit (MyVideoNav.xml) ------
14:14:13 T:1116905600 DEBUG: ------ Window Init (MyPVRChannels.xml) ------
14:14:13 T:1116905600 DEBUG: DialogProgress::StartModal called
14:14:13 T:1116905600 DEBUG: ------ Window Init (DialogProgress.xml) ------
14:14:15 T:1116905600 DEBUG: Keyboard: scancode: 0x43, sym: 0x0008, unicode: 0x0000, modifier: 0x0
14:14:15 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): backspace (0xf008) pressed, action is Back
14:14:15 T:1116905600 DEBUG: CGUIWindowManager:TonguereviousWindow: Deactivate
14:14:15 T:1116905600 DEBUG: CGUIWindowManager:TonguereviousWindow: Activate new
14:14:15 T:1116905600 DEBUG: ------ Window Init (MyVideoNav.xml) ------
14:14:15 T:1116905600 DEBUG: CGUIMediaWindow::GetDirectory ()
14:14:15 T:1116905600 DEBUG: ParentPath = []
14:14:15 T:2126056576 NOTICE: Thread BackgroundLoader start, auto delete: false
14:14:15 T:2126056576 DEBUG: Thread BackgroundLoader 2126056576 terminating
14:14:15 T:1116905600 DEBUG: ------ Window Deinit (DialogProgress.xml) ------
14:15:14 T:1116905600 DEBUG: Keyboard: scancode: 0x71, sym: 0x0132, unicode: 0x0000, modifier: 0x40
14:15:14 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-leftctrl (0x1f0d0) pressed, action is
14:15:14 T:1116905600 DEBUG: Keyboard: scancode: 0x3b, sym: 0x0130, unicode: 0x0000, modifier: 0x41
14:15:14 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-shift-leftshift (0x3f0d2) pressed, action is
14:15:14 T:1116905600 DEBUG: Keyboard: scancode: 0x29, sym: 0x006d, unicode: 0x0000, modifier: 0x41
14:15:14 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-shift-m (0x3f04d) pressed, action is PlayerControl(ShowVideoMenu)
14:15:19 T:1116905600 DEBUG: Keyboard: scancode: 0x71, sym: 0x0132, unicode: 0x0000, modifier: 0x40
14:15:19 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-leftctrl (0x1f0d0) pressed, action is
14:15:19 T:1116905600 DEBUG: Keyboard: scancode: 0x3b, sym: 0x0130, unicode: 0x0000, modifier: 0x41
14:15:19 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-shift-leftshift (0x3f0d2) pressed, action is
14:15:19 T:1116905600 DEBUG: Keyboard: scancode: 0x29, sym: 0x006d, unicode: 0x0000, modifier: 0x41
14:15:19 T:1116905600 DEBUG: bool CInputManager::OnKey(const CKey&): ctrl-shift-m (0x3f04d) pressed, action is PlayerControl(ShowVideoMenu)

There's a lot for just a few button presses...! Confused

Basically I want to disable those buttons from doing each of those actions and assign them to a different action. How easy (or not!) is that to do?

Thanks again!
It looks like we have

t i e o m g

being used, sometimes with "control" and sometimes with "shift" and "control", which is weird, but I think that might be "normal" for these remotes.

You might have to manually edit your keymap file to override the defaults, which you can see here: https://github.com/xbmc/xbmc/blob/master...d.xml#L134

Copy that MCE section into your keymap file and place it in the <global> section. Then change all of the ones that are giving you an issue, even if it's listed more than once.

I probably didn't explain this well, I'm a bit distracted at the moment, so feel free to reply if you need more help.
Ah, great, thanks for the reply. That really helps. I'm trying to get my head around it.

The buttons that are important for me are these, which I believe all need to be in FullScreenVideo;
ShowSubtitles
subtitledelay
audiodelay
CreateBookmark

As it's only four buttons it makes sense to use the coloured four, but I'd like to null out the others as well (as that PVR window irritates me!)

So am I barking up the right tree with this as a remote.xml file?

Code:
<keymap>

  <global>
    <remote>
      <Btn_Right>ContextMenu</Btn_Right>
    </remote>
    <keyboard>
      <m mod="ctrl,shift">noop</m>         <!-- MCE DVD menu -->
      <o mod="ctrl">noop</o>  <!-- MCE Recorded TV -->
      <t mod="ctrl">noop</t>  <!-- MCE Live TV  -->
      <t mod="ctrl,shift">noop</t>  <!-- MCE My TV -->
      <a mod="ctrl">noop</a>  <!-- MCE My Radio -->
    </keyboard>
  </global>

  <FullscreenVideo>
    <keyboard>
      <g mod="ctrl">ShowSubtitles</g>  <!-- was MCE Guide -->
      <m mod="ctrl">subtitledelay</m>    <!-- was MCE My music -->
      <i mod="ctrl">audiodelay</i> <!-- was MCE My pictures -->
      <e mod="ctrl">CreateBookmark</e>    <!-- was MCE videos -->
    </keyboard>
  </FullscreenVideo>

</keymap>

I've the context menu in there as well, as for some reason it's started acting strange; when I select the context menu using the Fire TV remote I paired to it it brings up the context menu as it should, but with the MCE remote it brings up the mouse cursor and then the context menu based on where that is located (usually not where I want it!) I'm not sure if that should also be under remote or keyboard?

As I have this xml file (and assuming it is correct!) do I need to uninstall Keymap Editor for it to work? If I later make a change to one of the options via that, which one will take priority?

Thanks again
Ah, I think I'm slowly getting there!

This is nearly it;
Code:
<keymap>

  <global>
        <keyboard>
      <t mod="ctrl,shift">subtitledelay</t>  <!-- MCE row 2 button 1 (yellow button) -->
      <m mod="ctrl">audiodelay</m>    <!-- MCE row 2 button 2 (blue button) -->
      <i mod="ctrl">CreateBookmark</i> <!-- was MCE row 2 button 3 (green button) -->
      <e mod="ctrl">noop</e>    <!-- MCE row 2 button 4 (red button) -->
      <o mod="ctrl">ShowSubtitles</o>  <!-- MCE row 3 button 1 -->
      <g mod="ctrl">noop</g>  <!-- MCE row 3 button 2 -->
      <t mod="ctrl">noop</t>  <!-- MCE row 3 button 4  -->
      <a mod="ctrl">noop</a>  <!-- MCE - not sure which this is -->
      <m mod="ctrl,shift">noop</m>         <!-- MCE - not sure which this is either -->
    </keyboard>
  </global>

</keymap>

The third button on row 3 must be one of those last two, but it's bringing up an option to move the subtitle position (above, below, etc), which suggests it's not one of these, but the first four I have set are working as I want them to and the others that are noop'ed out seem to be no longer working.

Spent too long on it tonight and it's late, I'll have another look at it tomorrow!

Thanks again!