Configure Chinavision Remote for Kodi and Harmony Remote

Few days back, I published a post describing how to configure the Chinavision MCE USB remote to work with XBMC and Logitech Harmony Remote. I did further research and reading after this and ended up improving my setup.

Since XBMC Dharma, the "keymap.xml" file no longer exists. It now called "keyboard.xml". The location, however, has not changed. This according to the XBMC Wiki. Therefore, in this post "keymap.xml" has been renamed to "keyboard.xml".

The Remote Control Reviews section of XBMC Wiki has details on the Chinavision CVSB-983 model remote. it is referred to as "Unbranded MCE remote". Work is continuously being done on this remote and details are provided to make almost all keys (except power button) to work on the Chinavision remote. I however, have not experimented with this yet and decided to follow this post as stated in my previous post.

There is a great little windows utility called KeyMapEdit that you can use to edit your keyboard.xml (or keymap.xml). It provides you with a nice interface and several of the XBMC functions are available from a drop down menu to be assigned to various keys. It helped me great to fine tune my keyboard.xml.

Keymapedit | Smarthomebeginner
Keymapedit

Below is my new/modified keyboard.xml (previously keymap.xml):

<!--**************Modified 02/21/2012 for Eden**************-->
<keymap>
  <global>
    <keyboard>
      <!--Yellow/Exit-->
      <key id="389188">Close</key>
      <!--Play/Play-->
      <key id="61619">Play</key>
      <!--Stop/Stop-->
      <key id="61618">Stop</key>
      <!--Backspace/Prev-->
      <key id="61448">PreviousMenu</key>
      <!--Red-->
      <key id="389186">XBMC.CleanLibrary(video)</key>
      <!--Blue-->
      <key id="389187">XBMC.UpdateLibrary(video)</key>
    </keyboard>
  </global>
  <home>
    <keyboard>
      <!--SwitchWindow/Record-->
      <key id="323593">XBMC.ActivateWindow(shutdownmenu)</key>
      <!--ESC/Menu-->
      <key id="61467">XBMC.ActivateWindow(settings)</key>
      <!--FullScreen/Info-->
      <key id="323597">XBMC.ActivateWindow(systeminfo)</key>
      <!--Green/Guide-->
      <key id="389185">XBMC.ActivateWindow(favourites)</key>
    </keyboard>
  </home>
  <myvideolibrary>
    <keyboard>
      <!--ESC/Menu-->
      <key id="61467">ContextMenu</key>
      <!--PageUp/Channel Up-->
      <key id="61473">PageUp</key>
      <!--PageDown/Channel Down-->
      <key id="61474">PageDown</key>
      <!--Green/Guide-->
      <key id="389185">togglewatched</key>
    </keyboard>
  </myvideolibrary>
  <myvideofiles>
    <keyboard>
      <!--ESC/Menu-->
      <key id="61467">ContextMenu</key>
      <!--PageUp/Channel Up-->
      <key id="61473">PageUp</key>
      <!--PageDown/Channel Down-->
      <key id="61474">PageDown</key>
      <!--Green/Guide-->
      <key id="389185">togglewatched</key>
    </keyboard>
  </myvideofiles>
  <mymusiclibrary>
    <keyboard>
      <!--ESC/Menu-->
      <key id="61467">ContextMenu</key>
      <!--PageUp/ChapterUp-->
      <key id="61473">PageUp</key>
      <!--PageDown/ChapterDown-->
      <key id="61474">PageDown</key>
    </keyboard>
  </mymusiclibrary>
  <mymusicfiles>
    <keyboard>
      <!--ESC/Menu-->
      <key id="61467">ContextMenu</key>
      <!--PageUp/ChapterUp-->
      <key id="61473">PageUp</key>
      <!--PageDown/ChapterDown-->
      <key id="61474">PageDown</key>
    </keyboard>
  </mymusicfiles>
  <myfiles>
    <keyboard>
      <!--ESC/Menu-->
      <key id="61467">ContextMenu</key>
      <!--PageUp/ChannelUp-->
      <key id="61473">PageUp</key>
      <!--PageDown/ChannelDown-->
      <key id="61474">PageDown</key>
    </keyboard>
  </myfiles>
  <fullscreenvideo>
    <keyboard>
      <!--Green/Guide-->
      <key id="389185">CodecInfo</key>
      <!--ESC/Menu-->
      <key id="61467">XBMC.ActivateWindow(osdaudiosettings)</key>
      <!--FullScreen/Info-->
      <key id="323597">XBMC.ActivateWindow(movieinformation)</key>
      <!--Track Left/Previous Track-->
      <key id="61617">smallstepback</key>
      <!--Track Right/Next Track-->
      <key id="61616">stepforward</key>
      <!--PageUp/Channel Up-->
      <key id="61473">subtitledelayplus</key>
      <!--PageDown/Channel Down-->
      <key id="61474">subtitledelayminus</key>
      <!--SwitchWindow/Record-->
      <key id="5323593">showsubtitles</key>
    </keyboard>
  </fullscreenvideo>
  <visualisation>
    <keyboard>
      <!--Esc/Menu-->
      <key id="61467">ActivateWindow(musicosd)</key>
      <!--FullScreen/Info-->
      <key id="323597">XBMC.ActivateWindow(musicinformation)</key>
      <!--SwitchWindow/Record-->
      <key id="5323593">XBMC.RunScript(script.cu.lyrics)</key>
    </keyboard>
  </visualisation>
  <slideshow>
    <keyboard>
      <!--PageUp/Channel Up-->
      <key id="61473">ZoomIn</key>
      <!--PageDown/Channel Down-->
      <key id="61474">ZoomOut</key>
      <!--FullScreen/Info-->
      <key id="323597">XBMC.ActivateWindow(pictureinfo)</key>
    </keyboard>
  </slideshow>
</keymap>

If you want to further customize the above keyboard.xml to your liking then refer to XBMC Wiki pages: Keyboard.xml, List of Built-in functions, and Opening Windows and Dialogs. My revised Logitech Harmony->Chinavision Remote mappings are given below:

Logitech Harmony KeyChinavision RemoteFunction
Channel DownPageDownFor faster scrolling down through media lists. Zoom out during picture slideshow.
Channel UpPageUpFor faster scrolling up through media lists. Zoom in during picture slideshow.
PrevBackspaceBack to previous menu or Home Screen.
OKEnterTo select by pressing Enter key

 

Logitech Harmony KeyChinavision RemoteFunction
MenuESCHome Screen -> opens Settings window
Video Library -> opens Context Menu
Files List -> opens Context Menu
Fullscreen Video -> opens Audio Settings
Music Visualization -> opens OSD
ExitYellowExit from a menu or a window
InfoFullscreenHome Screen -> opens System Info window
Fullscreen Video -> opens Video Info
Visualization -> opens Music Info
Slideshow -> opens Picture Info
RecordSwitchWindowHome Screen -> opens Shutdown menu
Fullscreen Video -> enables/disables subtitles
Visualization -> enables/disables song lyrics
GuideGreen Home Screen -> opens Favorites
Video Library -> toggles Watched
Fullscreen Video -> displays Codec Info
Additional ButtonRed Cleans video library
Additional ButtonBlue Updates video library

 

There are few other minor functions/mappings in the above keyboard.xml that are most self-explanatory.

Screenshots of my Logitech Harmony button customizations were shown in my previous post. The new button customizations are essentially same except:

  1. The record button of Harmony remote is now mapped to SwitchWindow button of Chinavision remote
  2. The guide button of Harmony remote is now mapped to Green button of Chinavision remote
  3. The Tab key of Chinavision remote (to return to video) is now added as an additional button called "VideoReturn" on Harmony remote
  4. A new "Shutdown" (mapped to Record button as described above) additional button was added to Harmony Remote

I have to say that I am very pleased with the current setup. But I am insatiable when it comes to messing with my setup. So I may end up changing everything again.

UPDATE:
Thanks to Wooderson for pointing out that SmallStepBack, StepFoward, SubtitleDelayPlus, SubtitleDelayMinux, and ShowSubtitles are not working. I have not been able to find a fix for those. However, you may use your direction left and direction right while on Fullscreen Video to perform SmallStepBack and SmallStepForward (no mapping needed). You may customize the length of the skip (in seconds) using this code in your advancedsettings.xml in userdata folder:

<video>
 <timeseekforward>10</timeseekforward> <!-- Time to seek forward in sec - short seek. Defaults to 30. -->
 <timeseekbackward>-10</timeseekbackward> <!-- Time to seek backward in sec - short seek. Defaults to -30. -->
</video>
Be the 1 in 200,000. Help us sustain what we do.
34 / 150 by Dec 31, 2024
Join Us (starting from just $1.67/month)

Anand

Anand is a self-learned computer enthusiast, hopeless tinkerer (if it ain't broke, fix it), a part-time blogger, and a Scientist during the day. He has been blogging since 2010 on Linux, Ubuntu, Home/Media/File Servers, Smart Home Automation, and related HOW-TOs.