Adding a new remote controller

From GeeXboX wiki

Jump to: navigation, search

Here are the steps to getting a remote to be included under geexbox.

Firstly, search and find whether your remote receiver is supported by the LIRC project. If it is, then see whether the receiver module required is already built by geexbox. If not then you will need to do steps 1-4 (otherwise skip until step 5):

1) Get Sources Get the full geexbox sources by using arch. See http://www.geexbox.org/en/dev.html for details. All files mentioned below can be found under the packages subdirectory, so it is omitted from the paths given.

2) Enable Driver Module You need to modify the lirc/patches/10_all-remotes.diff patch so that it also builds the module required for your remote receiver.

3) Enable Driver Install Modify lirc/install file so that it also copies your new lirc kernel module along with all the other modules (the 3rd "cp" command at the top of the file)

4) Enable Driver Loading Make a lirc/config/lircd_<your_remote_receiver> file, which contains info about the device file and driver module and options required for your receiver (read the options for your module that you enabled in step 2 to see what may be required.

By this point you would have enabled your remote receiver. Then all you need to do is:

5) Provide Remote Codes Make/copy a lirc/config/lircd_<your_remote>.conf file, which contains the transmitted pulses sent by your remote. This is probably already included in lirc, if your remote is supported already, otherwise you will need to capture your own, using the irrecord program. There is a large number of these files already included in LIRC.

6) Provide Remote Button Mappings Make a lirc/config/lircrc_<your_remote> file, which has all the mappings from buttons to geexbox operations for your remote. Use a well-maintained existing lircrc file (e.g. the ati would be ideal) as a starting point, and choose appropriate buttons from your remote to replace those that are listed on the ati remote.

7) Submit Patches and Files Make a nice patch, and submit it to the project. If it is clean, then it will be included, and other users can benefit from your hard work too.