JP1 enabled Remote Controls and XBMC

Please consider some reformatting its a bit messy with the trouble

!! This keymap.xml may (and most likely is) out of date with the cvs. For the most part it should work. Context menus should be working in this xml !!

Welcome to the most inexpensive, yet most powerful controller for your Xbox.

This tutorial will explain how to program the URC-8811w (but can be easily be modified for the hundreds of jp1 remotes available) for XBMC.

The configuration provided will prevent all conflicts with other RCA hardware (RCA TVs and DVD players conflict with the Xbox)

Requirements

 * JP1 remote
 * JP1 interface cable (details below)
 * Xbox IR Dongle (in the remote kit)
 * Program : remotemaster (1.06 is latest I believe)
 * Program : 'ir' (5.01 minimum)

JP1 software is available from the Yahoo JP1 Group and JP1 Forum and JP1 Recourses. Links at bottom of page

Various models of JP1 remotes are available from many retailers, but the lowest cost ones can be found at Radio Shack and Wal-Mart. You can identify a JP1 remote by the following 6 pin connector in the battery compartment.



URC (company that designed the JP1 interface) manufactures remotes for TONS of different hardware. Satellite Receivers, Digital Cable Boxes, and many alternatively branded universal remotes (Radio Shack for example) are all manufactured by URC and are therefore JP1 programmable. Look at the remotes you own. There is a high likelihood you may already own one! JP1 Remotes are not marked as being a 'JP1' remote on the label so do your research first when buying one. Virtually All 'All in One' branded remotes are JP1 programmable. Their very highest end models may be an exception (for instance the Chameleon which although is JP1 programmable, it has little to no memory available for programming. Avoid this remote).

JP1 Programming cables are available in three styles, USB, Parallel and Serial. Parallel is the easiest to build and the most common. The non-buffered simple interface costs less than 5$ and instructions are available. Do not worry about building the more complicated interfaces as they provide no benefits to this project. Alternatively you can buy interfaces from other hobbyists. A great place to find information on buying cables is the Marketplace section of the JP1 forum. They usually range around the 15$ mark, but can probably be found for less.

Now that you have assembled your hardware, let’s start.

The URC-8811w is our example remote. All the information in this guide will be directed towards this model. I will explain later how to deal with a different models of remotes.


 * 1) Put some batteries into your jp1 remote
 * 2) Connect it to your PC
 * 3) Start the ir.exe program and go under 'interface' and select 'check interface' make sure it works.

Troubleshooting

 * Long cables cause problems. Make the cable as short as possible
 * Ensure you have GOOD batteries in the remote. It will not work without them
 * Try different Parallel port addresses (especially if your pc has more than one) Note: Alternatively you can look in the bios of your PC to get a correct address of your LPT port
 * The software is in the Yahoo JP1 group. It should be under programs

Now that we know the remote and cable are working lets move on


 * 1) Start remotemaster (make sure you run the 'setup.bat' first)
 * 2) Load the xbmc.rmdu device file

This device file is configured for the URC-8811w remote. If you are using a different remote change the selection in the top bar to the remote you are using. Do not pick anything with 8k memory as these are remotes with bigger flash memories added by hand. You can then proceed to assign the buttons as you see fit to your remote. Button assignments are made in the 'layout' tab.

Troubleshooting

 * I don’t see any remotes are am getting errors about RDF files.This means you need to download RDF files which contain images and configuration information about all the various remotes available. There is a package available in the Yahoo JP1 group.
 * I don’t know what your buttons do! Check out the layout diagram above. It explains what each button is assigned to. If you have a different remote you can either search through the keymap.xml or transfer my buttons over.

Upload Steps
Now lets get the information that needs to be uploaded to the remote. Click on the 'output' tab then click the upper most copy button shown in this screenshot. Next we use the program 'IR' to upload this information.


 * 1) Start 'IR' program
 * 2) Click on 'Devices'
 * 3) Click on 'add' near the bottom of the window
 * 4) Paste the copied information from remotemaster into IR as shown below
 * 5) Click OK

Now you can see of the left a new device has been added to be uploaded to the remote.


 * 1) In the IR program click on the 'General' tab
 * 2) If you have other devices you wish to assign, you can look up their device codes and input them here. Using the IR program device codes are not limited as they once were. (ie CD player devices are not limited to only the 'cd' device button anymore. You can have every device assigned to one type of device. This is not normally possible)

IMPORTANT ::: If you have a device that conflicts with my 'cable' device code of 1052 you MUST re-assign my code in remote master to something else. the xbmc.rmdu will overwrite that device inside your remote. There is no way to recover that information besides downloading a user made layout and re-uploading it.



It is recommend to set another device button to dvd/0522. This will allow your remote to function with the MS dash and any other dashboards (That is the remote code for the original XBOX remote)


 * 1) Reconnect your remote to your PC.
 * 2) Click the 'upload to remote' button.

Congratulations. Your remote programming (the hard part) is done

Finally upload the keymap.xml to UserData directory. This XML contains the default XBOX controller configuration and the customised remote code configuration for the layout provided.

A Note about 'volume punch through' or 'VPT'
If VPT is enabled it will reassign your volume buttons to whatever those buttons are assigned to on the 'VPT Device'. My layout uses the volume buttons for volume control in XBMC. If the TV button was assigned to your TV, set 'VPT Device' to 'TV' and 'VPT Status' to 'On' and those keys will control the volume of your TV in EVERY device your using.

A Note about HT (Home Theatre) Button
The HT button allows you to 'miss mash' all your devices together. 'HT Menu Device' assigns your arrow keys to the selected device. 'HT Transport Device' assigns the 'play stop record etc' functions to the selected device. The same principle applies for the 'HT volume' and 'HT channel' selections as well

Links of Interest
This file lists all of the used IR codes with rca tv's and dvd players. None of my codes overlap these


 * All the used IR codes for rca tv's and dvd players allRCAcodes.txt
 * Example custom keymap.xml. (this is OLD)
 * XBMC remote layout configuration : xbmc.rmdu.
 * Yahoo JP1 Group
 * JP1 Forums
 * JP1 Resources

Explanation of keymaps available Manual Page for Keymap.xml