Linux How-To: Use ANY IR Remote In The House to Control XBMC
#1
Use Any IR Remote In The House

This tutorial will show you how to use ANY IR remote in your house to control XBMC.
I have used this method with COMPLETE success on many remotes. I have yet to find one that wont work.

To demonstrate this technique I will download and install the latest XBMCbuntu Live CD (Frodo 12.2) to verify it works "out of the box"
If you deviate from the Live CD XBMCbuntu install you are on your own installing and configuring LIRC.

1. Download & burn Live CD

2. Install XBMCbuntu 12.2

3. Select update installer, Continue

4. Select Download updates while installing and also select install third party software.

5. Setup your username & password. Select login automatically (if desired)

6. When install is finidshed click yes to restart.

7. If all went well you have an XBMC interface and a fresh install. MCE remotes should work at this point.

8. Click the power button on the bottom left of the screen and select EXIT

9. Login using the XBMCbuntu (NOT XBMC) session and select your username and password , The XBMCbuntu desktop should appear.

10. At this point I like to install LXterminal (easier to read and supports copy paste) and mousepad (lightweight editor).

Code:
sudo apt-get install lxterminal mousepad

11. Open TWO (2) lxterminal's. In the start menu under accessories (if its not there alt-F2 and type lxterminal)

13. Get your remote and IR receiver plugged in and type in the lxterminal

Code:
irrecord -list namespace

These are the names you can give the buttons on your remote.

Image

14. Ok, this is where it starts to happen. In the second lxterminal window type

Code:
sudo irrecord -d /dev/lirc0 /home/your-xbmc-user-name/myremote.txt


15. Mine was lirc0 yours may be different. Check by doing

Code:
ls /dev

and looking for the lirc device name.

16. Read and follow the directions in the terminal after typing sudo irrecord -d /dev/lirc0 /home/your-xbmc-user-name/myremote.txt.

Image


17. I have selected the old popcornhour media remote for this demonstration (This remote will NOT, and did NOT, work with XBMC unless you follow these example steps, that's the purpose of this demonstration)
This remote has some good buttons for XBMC (stop play pause numbers arrows red green blue yellow menu...etc)

Image
18. Now we want to start naming and selecting the buttons on the remote.
We will start with the power button.

Edit:
Sometimes with multidevice remotes the media keys only work when a media device is selected.

For example
The play and pause and stop buttons will only work if SAT or DVD is selected.
So if your buttons dont send a signal for irrecord, select a media device button (SAT, DVD) on the remote before trying to record the codes.

19 Type in the name of the button you want to use as found on the other lxterminal window
We will call it

Code:
KEY_POWER

Hit enter.
Hold down the power button.

20. Thats it you just named the power button. Move on the the next button and repeat the process.
See the screenshot

Image

Here are the button names I used

Code:
    KEY_POWER            
          KEY_VOLUMEUP            
          KEY_VOLUMEDOWN          
          KEY_EJECTCD              
          KEY_MUTE                
          KEY_0                    
          KEY_1                    
          KEY_2                    
          KEY_3                    
          KEY_4                    
          KEY_5                    
          KEY_6                    
          KEY_7                    
          KEY_8                    
          KEY_9                    
          KEY_PAGEUP              
          KEY_PAGEDOWN            
          KEY_BACK                
          KEY_TITLE                
          KEY_INFO                
          KEY_DISPLAYTOGGLE        
          KEY_SELECT              
          KEY_LEFT                
          KEY_RIGHT                
          KEY_UP                  
          KEY_DOWN                
          KEY_MENU                
          KEY_PREVIOUS            
          KEY_PLAY                
          KEY_NEXT                
          KEY_REWIND              
          KEY_FASTFORWARD          
          KEY_STOP                
          KEY_PAUSE                
          KEY_SUBTITLE            
          KEY_RED                  
          KEY_GREEN                
          KEY_YELLOW              
          KEY_BLUE

When you're finished press enter to stop the process.

21. Open a root file manager by doing alt-F2 and type
Code:
gksudo pcmanfm

Navigate to /etc/lirc/lircd.conf and open with mousepad.

22. Place the contents of the file you just created (copy and paste) into /etc/lirc/lircd.conf

It should look like this

Code:
#This configuration has been automatically generated via
#the Ubuntu LIRC package maintainer scripts.
#
#It includes the default configuration for the remote and/or
#transmitter that you have selected during package installation.
#
#Feel free to add any custom remotes to the configuration
#via additional include directives or below the existing
#Ubuntu include directives from your selected remote and/or
#transmitter.

#Configuration for the Windows Media Center Remotes (new version Philips et al.) remote:
include "/usr/share/lirc/remotes/mceusb/lircd.conf.mceusb"


begin remote

  name  popcornhour
  bits           16
  flags SPACE_ENC|CONST_LENGTH
  eps            30
  aeps          100

  header       9036  4479
  one           586  1671
  zero          586   537
  ptrail        568
  repeat       9017  2251
  pre_data_bits   16
  pre_data       0x20D3
  gap          108169
  toggle_bit_mask 0x0

      begin codes
          KEY_POWER                0x52AD
          KEY_VOLUMEUP             0x728D
          KEY_VOLUMEDOWN           0x4AB5
          KEY_EJECTCD              0x22DD
          KEY_MUTE                 0x8A75
          KEY_0                    0xD827
          KEY_1                    0x827D
          KEY_2                    0xC03F
          KEY_3                    0x42BD
          KEY_4                    0xA25D
          KEY_5                    0xE01F
          KEY_6                    0x629D
          KEY_7                    0xAA55
          KEY_8                    0xE817
          KEY_9                    0x6A95
          KEY_PAGEUP               0x9A65
          KEY_PAGEDOWN             0x5AA5
          KEY_BACK                 0xE21D
          KEY_TITLE                0xA05F
          KEY_INFO                 0xD22D
          KEY_DISPLAYTOGGLE        0x906F
          KEY_SELECT               0x40BF
          KEY_LEFT                 0xC23D
          KEY_RIGHT                0x807F
          KEY_UP                   0x609F
          KEY_DOWN                 0x50AF
          KEY_MENU                 0xCA35
          KEY_PREVIOUS             0x48B7
          KEY_PLAY                 0x0AF5
          KEY_NEXT                 0x8877
          KEY_REWIND               0x708F
          KEY_FASTFORWARD          0xB04F
          KEY_STOP                 0x32CD
          KEY_PAUSE                0x2AD5
          KEY_SUBTITLE             0x1AE5
          KEY_RED                  0xFA05
          KEY_GREEN                0x7887
          KEY_YELLOW               0x3AC5
          KEY_BLUE                 0xB847
      end codes

end remote

Be sure to note the name of your remote above (I have named mine popcornhour). We will need it in a few.
Close the root filemanager and open a regular user one (folder icon with the arrow on it in the taskbar)

23. Now we want to create a new file in the /home/your-xbmc-user/.xbmc/userdata directory.
Call it
Code:
Lircmap.xml
Note the first letter is a capital

24. This file is created from scratch but you can likely use some of mine.
Open it with mousepad and paste something like this (yours will be different depending on the button names you used. Modify as required.)
Dont forget to change the name of the remote if you changed it earlier (popcornhour)

Code:
<!-- This file contains the mapping of LIRC keys to XBMC keys used in Keymap.xml  -->
<!--                                                                              -->
<!-- How to add remotes                                                           -->
<!-- <remote device=name_Lirc_calls_the_remote>                                 -->
<!--                                                                              -->
<!-- For the commands the layout following layout is used                         -->
<!-- <XBMC_COMMAND>LircButtonName</XBMC_COMMAND>                                  -->
<!--                                                                              -->
<!-- For a list of XBMC_COMMAND's check out the <remote> sections of keymap.xml   -->

<lircmap>

<remote device="popcornhour">

<power>KEY_POWER</power>
<volumeplus>KEY_VOLUMEUP</volumeplus>
<volumeminus>KEY_VOLUMEDOWN</volumeminus>
<eject>KEY_EJECTCD</eject>
<mute>KEY_MUTE</mute>

<zero>KEY_0</zero>
<one>KEY_1</one>
<two>KEY_2</two>
<three>KEY_3</three>
<four>KEY_4</four>
<five>KEY_5</five>
<six>KEY_6</six>
<seven>KEY_7</seven>
<eight>KEY_8</eight>
<nine>KEY_9</nine>
<zero>KEY_0</zero>

<pageplus>KEY_PAGEUP</pageplus>
<pageminus>KEY_PAGEDOWN</pageminus>
<back>KEY_BACK</back>
<title>KEY_TITLE</title>
<info>KEY_INFO</info>
<display>KEY_DISPLAYTOGGLE</display>

<select>KEY_SELECT</select>
<left>KEY_LEFT</left>
<right>KEY_RIGHT</right>
<up>KEY_UP</up>
<down>KEY_DOWN</down>
<menu>KEY_MENU</menu>

<skipminus>KEY_PREVIOUS</skipminus>
<play>KEY_PLAY</play>
<skipplus>KEY_NEXT</skipplus>
<reverse>KEY_REWIND</reverse>
<forward>KEY_FORWARD</forward>
<stop>KEY_STOP</stop>
<pause>KEY_PAUSE</pause>

<pageplus>KEY_PAGEUP</pageplus>
<pageminus>KEY_PAGEDOWN</pageminus>

<red>KEY_RED</red>
<green>KEY_GREEN</green>
<yellow>KEY_YELLOW</yellow>
<blue>KEY_BLUE</blue>

</remote>
</lircmap>


25. Studying that file you can get a good idea what each button will be doing.

If you want to make a custom Lircmap.xml here are all of the available valid names. Insert your button name in place of the hashtags ####
Ther are 60 valid xbmc names for your remote. Should be plenty
Code:
<left>####</left>
  <right>####</right>
  <up>####</up>
  <down>####</down>
  <select>####</select>
  <back>####</back>
  <menu>####</menu>
  <info>####</info>
  <display>####</display>
  <title>####</title>
  <play>####</play>
  <pause>####</pause>
  <reverse>####</reverse>
  <forward>####</forward>
  <skipplus>####</skipplus>
  <skipminus>####</skipminus>
  <stop>####</stop>
  <zero>####</zero>
  <one>####</one>
  <two>####</two>
  <three>####</three>
  <four>####</four>
  <five>####</five>
  <six>####</six>
  <seven>####</seven>
  <eight>####</eight>
  <nine>####</nine>
  <power>####</power>
  <mytv>####</mytv>
  <mymusic>####</mymusic>
  <mypictures>####</mypictures>
  <myvideo>####</myvideo>
  <record>####</record>
  <start>####</start>
  <volumeplus>####</volumeplus>
  <volumeminus>####</volumeminus>
  <channelplus>####</channelplus>
  <channelminus>####</channelminus>
  <pageplus>####</pageplus>
  <pageminus>####</pageminus>
  <mute>####</mute>
  <recordedtv>####</recordedtv>
  <guide>####</guide>
  <livetv>####</livetv>
  <liveradio>####</liveradio>
  <epgsearch>####</epgsearch>
  <star>####</star>
  <hash>####</hash>
  <clear>####</clear>
  <enter>####</enter>
  <xbox>####</xbox>
  <playlist>####</playlist>
  <teletext>####</teletext>
  <red>####</red>
  <green>####</green>
  <yellow>####</yellow>
  <blue>####</blue>
  <subtitle>####</subtitle>
  <language>####</language>

26. Now we need one more file. /home/your-xbmc-user/.xbmc/userdata/keymaps/remote.xml
create it using mousepad and have it look like this. Again, yours might be slightly different.

Code:
<!-- This file contains the mapping of keys (gamepad, remote, and keyboard) to actions within XBMC -->
<!-- The <global> section is a fall through - they will only be used if the button is not          -->
<!-- used in the current window's section.  Note that there is only handling                       -->
<!-- for a single action per button at this stage.                                                 -->
<!-- For joystick/gamepad configuration under linux/win32, see below as it differs from xbox       -->
<!-- gamepads.                                                                                     -->

<!-- The format is:                      -->
<!--    <device>                         -->
<!--      <button>action</button>        -->
<!--    </device>                        -->

<!-- To map keys from other remotes using the RCA protocol, you may add <universalremote> blocks -->
<!-- In this case, the tags used are <obc#> where # is the original button code (OBC) of the key -->
<!-- You set it up by adding a <universalremote> block to the window or <global> section:       -->
<!--    <universalremote>             -->
<!--       <obc45>Stop</obc45>         -->
<!--    </universalremote>            -->

<!-- Note that the action can be a built-in function.                 -->
<!--  eg <B>XBMC.ActivateWindow(MyMusic)</B>                         -->
<!-- would automatically go to My Music on the press of the B button. -->

<!-- Joysticks / Gamepads:                                                                    -->
<!--   See the sample PS3 controller configuration below for the format.                      -->
<!--                                                                                          -->
<!--  Joystick Name:                                                                          -->
<!--   Do 'cat /proc/bus/input/devices' or see your xbmc log file  to find the names of       -->
<!--   detected joysticks. The name used in the configuration should match the detected name. -->
<!--                                                                                          -->
<!--  Button Ids:                                                                             -->
<!--   'id' is the button ID used by SDL. Joystick button ids of connected joysticks appear   -->
<!--   in xbmc.log when they are pressed. Use your log to map custom buttons to actions.      -->
<!--                                                                                          -->
<!--  Axis Ids / Analog Controls                                                              -->
<!--   Coming soon.                                                                           -->
<keymap>
  <global>
    <remote>
      <play>Play</play>
      <pause>Pause</pause>
      <stop>Stop</stop>
      <forward>FastForward</forward>
      <reverse>Rewind</reverse>
      <left>Left</left>
      <right>Right</right>
      <up>Up</up>
      <down>Down</down>
      <select>Select</select>
      <enter>FullScreen</enter>
      <pageplus>PageUp</pageplus>
      <pageminus>PageDown</pageminus>
      <back>ParentDir</back>
      <menu>ContextMenu</menu>
      <title>ContextMenu</title>
      <info>Info</info>
      <skipplus>SkipNext</skipplus>
      <skipminus>SkipPrevious</skipminus>
      <display>FullScreen</display>
      <start>XBMC.ActivateWindow(Favourites)</start>
      <record>Stop</record>
      <volumeplus>VolumeUp</volumeplus>
      <volumeminus>VolumeDown</volumeminus>
      <mute>Mute</mute>
      <power>XBMC.RestartApp()</power>
      <myvideo>XBMC.ActivateWindow(VideoLibrary,MovieTitles)</myvideo>
      <mymusic>XBMC.ActivateWindow(Weather)</mymusic>
      <mypictures>XBMC.ActivateWindow(MyPictures)</mypictures>
      <mytv>XBMC.ActivateWindow(VideoLibrary,TvShowTitles)</mytv>
      <zero>XBMC.RestartApp()</zero>
      <one>Number1</one>
      <two>JumpSMS2</two>
      <three>JumpSMS3</three>
      <four>JumpSMS4</four>
      <five>JumpSMS5</five>
      <six>JumpSMS6</six>
      <seven>JumpSMS7</seven>
      <eight>JumpSMS8</eight>
      <nine>JumpSMS9</nine>
      <hash>Screenshot</hash>
    <!-- <star>EjectTray()</star> -->
    <xbox>scanitem</xbox>
    </remote>
  </global>
  <Home>
    <remote>
      <info>XBMC.ActivateWindow(SystemInfo)</info>
      <clear>XBMC.ActivateWindow(Weather)</clear>
      <hash>Screenshot</hash>
    </remote>
  </Home>
  <MyFiles>
    <remote>
      <clear>Delete</clear>
      <zero>Highlight</zero>
      <star>Move</star>
      <hash>Rename</hash>
    </remote>
  </MyFiles>
  <MyMusicPlaylist>
    <remote>
      <back>Playlist</back>      <!-- Close playlist -->
      <clear>Delete</clear>
      <zero>Delete</zero>
    </remote>
  </MyMusicPlaylist>
  <MyMusicPlaylistEditor>
    <remote>
      <zero>Queue</zero>
    </remote>
  </MyMusicPlaylistEditor>
  <MyMusicFiles>
    <remote>
      <zero>Queue</zero>
      <star>Queue</star>
    </remote>
  </MyMusicFiles>
  <MyMusicLibrary>
    <remote>
      <zero>Queue</zero>
      <star>Queue</star>
    </remote>
  </MyMusicLibrary>
  <FullscreenVideo>
    <remote>
      <zero>Number0</zero>
      <one>Number1</one>
      <two>Number2</two>
      <three>Number3</three>
      <four>Number4</four>
      <five>Number5</five>
      <six>Number6</six>
      <seven>Number7</seven>
      <eight>Number8</eight>
      <nine>Number9</nine>
      <left>StepBack</left>
      <right>StepForward</right>
      <up>BigStepForward</up>
      <down>BigStepBack</down>
      <back>SmallStepBack</back>
      <menu>OSD</menu>
      <start>TakeScreenshot</start>
      <select>AspectRatio</select>
      <title>CodecInfo</title>
      <info>Info</info>
      <teletext>XBMC.ActivateWindow(Teletext)</teletext>
      <display>ShowSubtitles</display>
      <subtitle>ShowSubtitles</subtitle>
      <star>EjectTray()</star>
      <language>AudioNextLanguage</language>
      <hash>Screenshot</hash>
    </remote>
  </FullscreenVideo>
  <VideoTimeSeek>
    <remote>
      <select>Select</select>
      <enter>Select</enter>
    </remote>
  </VideoTimeSeek>
  <FullscreenInfo>
    <remote>
      <title>CodecInfo</title>
      <info>Close</info>
      <menu>OSD</menu>
    </remote>
  </FullscreenInfo>
  <PlayerControls>
    <remote>
      <menu>Close</menu>
    </remote>
  </PlayerControls>
  <Visualisation>
    <remote>
      <left>PreviousPreset</left>
      <right>NextPreset</right>
      <up>IncreaseRating</up>
      <down>DecreaseRating</down>
      <back>LockPreset</back>
      <title>CodecInfo</title>
      <select>XBMC.ActivateWindow(VisualisationPresetList)</select>
      <menu>XBMC.ActivateWindow(MusicOSD)</menu>
      <start>XBMC.ActivateWindow(MusicOSD)</start>
      <info>Info</info>
    </remote>
  </Visualisation>
  <MusicOSD>
    <remote>
      <menu>Close</menu>
      <title>Info</title>
      <info>CodecInfo</info>
    </remote>
  </MusicOSD>
  <VisualisationSettings>
    <remote>
      <menu>Close</menu>
      <back>Close</back>
    </remote>
  </VisualisationSettings>
  <VisualisationPresetList>
    <remote>
      <menu>Close</menu>
      <back>Close</back>
    </remote>
  </VisualisationPresetList>
  <SlideShow>
    <remote>
      <zero>ZoomNormal</zero>
      <one>ZoomLevel1</one>
      <two>ZoomLevel2</two>
      <three>ZoomLevel3</three>
      <four>ZoomLevel4</four>
      <five>ZoomLevel5</five>
      <six>ZoomLevel6</six>
      <seven>ZoomLevel7</seven>
      <eight>ZoomLevel8</eight>
      <nine>ZoomLevel9</nine>
      <info>CodecInfo</info>
      <skipplus>NextPicture</skipplus>
      <skipminus>PreviousPicture</skipminus>
      <title>Info</title>
      <select>Rotate</select>
      <back>PreviousMenu</back>
    </remote>
  </SlideShow>
  <ScreenCalibration>
    <remote>
      <select>NextCalibration</select>
      <zero>ResetCalibration</zero>
      <display>NextResolution</display>
      <xbox>NextResolution</xbox>
    </remote>
  </ScreenCalibration>
  <GUICalibration>
    <remote>
      <select>NextCalibration</select>
      <zero>ResetCalibration</zero>
    </remote>
  </GUICalibration>
  <SelectDialog>
    <remote>
      <back>Close</back>
    </remote>
  </SelectDialog>
  <VideoOSD>
    <remote>
      <back>PreviousMenu</back>
      <menu>Close</menu>
      <start>Close</start>
    </remote>
  </VideoOSD>
  <VideoMenu>
    <remote>
      <menu>OSD</menu>
      <back>PreviousMenu</back>
      <info>Info</info>
      <title>CodecInfo</title>
      <zero>Number0</zero>
      <one>Number1</one>
      <two>Number2</two>
      <three>Number3</three>
      <four>Number4</four>
      <five>Number5</five>
      <six>Number6</six>
      <seven>Number7</seven>
      <eight>Number8</eight>
      <nine>Number9</nine>
      <play>Select</play>
    </remote>
  </VideoMenu>
  <OSDVideoSettings>
    <remote>
      <back>Close</back>
      <menu>Close</menu>
      <start>Close</start>
    </remote>
  </OSDVideoSettings>
  <OSDAudioSettings>
    <remote>
      <back>Close</back>
      <menu>Close</menu>
      <start>Close</start>
    </remote>
  </OSDAudioSettings>
  <VideoBookmarks>
    <remote>
      <back>Close</back>
      <menu>Close</menu>
      <start>Close</start>
      <zero>Delete</zero>
    </remote>
  </VideoBookmarks>
  <MyVideoLibrary>
    <remote>
      <zero>Queue</zero>
      <clear>Delete</clear>
    </remote>
  </MyVideoLibrary>
  <MyVideoFiles>
    <remote>
      <zero>Queue</zero>
      <star>Queue</star>
    </remote>
  </MyVideoFiles>
  <MyVideoPlaylist>
    <remote>
      <back>Playlist</back>      <!-- Close playlist -->
      <clear>Delete</clear>
      <zero>Delete</zero>
    </remote>
  </MyVideoPlaylist>
  <VirtualKeyboard>
    <remote>
      <back>BackSpace</back>
      <star>Shift</star>
      <hash>Symbols</hash>
      <zero>Number0</zero>
      <one>Number1</one>
      <two>Number2</two>
      <three>Number3</three>
      <four>Number4</four>
      <five>Number5</five>
      <six>Number6</six>
      <seven>Number7</seven>
      <eight>Number8</eight>
      <nine>Number9</nine>
      <enter>Enter</enter>
      <pageminus>CursorLeft</pageminus>
      <pageplus>CursorRight</pageplus>
    </remote>
  </VirtualKeyboard>
  <ContextMenu>
    <remote>
      <title>Close</title>
      <back>Close</back>
    </remote>
  </ContextMenu>
  <FileStackingDialog>
    <remote>
      <back>Close</back>
    </remote>
  </FileStackingDialog>
  <Scripts>
    <remote>
      <info>info</info>
    </remote>
  </Scripts>
  <NumericInput>
    <remote>
      <zero>Number0</zero>
      <one>Number1</one>
      <two>Number2</two>
      <three>Number3</three>
      <four>Number4</four>
      <five>Number5</five>
      <six>Number6</six>
      <seven>Number7</seven>
      <eight>Number8</eight>
      <nine>Number9</nine>
      <enter>Enter</enter>
      <back>BackSpace</back>
    </remote>
  </NumericInput>
  <Weather>
    <remote>
      <back>PreviousMenu</back>
    </remote>
  </Weather>
  <Settings>
    <remote>
      <back>PreviousMenu</back>
    </remote>
  </Settings>
  <AddonBrowser>
    <remote>
    </remote>
  </AddonBrowser>
  <AddonInformation>
    <remote>
      <back>Close</back>
    </remote>
  </AddonInformation>
  <AddonSettings>
    <remote>
      <back>Close</back>
    </remote>
  </AddonSettings>
  <TextViewer>
    <remote>
      <back>Close</back>
    </remote>
  </TextViewer>
  <MyPicturesSettings>
    <remote>
      <back>PreviousMenu</back>
    </remote>
  </MyPicturesSettings>
  <MyProgramsSettings>
    <remote>
      <back>PreviousMenu</back>
    </remote>
  </MyProgramsSettings>
  <MyWeatherSettings>
    <remote>
      <back>PreviousMenu</back>
    </remote>
  </MyWeatherSettings>
  <MyMusicSettings>
    <remote>
      <back>PreviousMenu</back>
    </remote>
  </MyMusicSettings>
  <SystemSettings>
    <remote>
      <back>PreviousMenu</back>
    </remote>
  </SystemSettings>
  <MyVideosSettings>
    <remote>
      <back>PreviousMenu</back>
    </remote>
  </MyVideosSettings>
  <NetworkSettings>
    <remote>
      <back>PreviousMenu</back>
    </remote>
  </NetworkSettings>
  <AppearanceSettings>
    <remote>
      <back>PreviousMenu</back>
    </remote>
  </AppearanceSettings>
  <Profiles>
    <remote>
      <back>PreviousMenu</back>
    </remote>
  </Profiles>
  <systeminfo>
    <remote>
      <back>PreviousMenu</back>
    </remote>
  </systeminfo>
  <shutdownmenu>
    <remote>
      <back>PreviousMenu</back>
    </remote>
  </shutdownmenu>
  <submenu>
    <remote>
      <back>PreviousMenu</back>
    </remote>
  </submenu>
  <MusicInformation>
    <remote>
      <back>Close</back>
    </remote>
  </MusicInformation>
  <MovieInformation>
    <remote>
      <info>Close</info>
      <back>Close</back>
    </remote>
  </MovieInformation>
  <LockSettings>
    <remote>
      <menu>Close</menu>
      <back>PreviousMenu</back>
    </remote>
  </LockSettings>
  <ProfileSettings>
    <remote>
      <menu>Close</menu>
      <back>PreviousMenu</back>
    </remote>
  </ProfileSettings>
  <PictureInfo>
    <remote>
      <skipplus>NextPicture</skipplus>
      <skipminus>PreviousPicture</skipminus>
      <info>Close</info>
      <back>Close</back>
    </remote>
  </PictureInfo>
  <Teletext>
    <remote>
      <zero>number0</zero>
      <one>number1</one>
      <two>number2</two>
      <three>number3</three>
      <four>number4</four>
      <five>number5</five>
      <six>number6</six>
      <seven>number7</seven>
      <eight>number8</eight>
      <nine>number9</nine>
      <info>Info</info>
      <back>Close</back>
      <menu>Close</menu>
      <start>Close</start>
      <teletext>Close</teletext>
    </remote>
  </Teletext>
  <Favourites>
    <remote>
      <back>Close</back>
    </remote>
  </Favourites>
</keymap>

Modify as required.

Its very important you understand the xbmc lirc relationship. It can be VERY confusing.
Once you understand the relationship I can show you how to use alternate names for the buttons.
I have deliberately not indicated it to keep the relationship a little more simple.

See this page
http://forum.xbmc.org/showthread.php?tid=189617


After a reboot open a lxterminal and type irw. Start pushing buttons on your remote. It will display the remote name and the name of the buttons you pushed.
Hopefully your remote name is NOT popcornhour Big Grin. No big deal if it is just make sure its the same in Lircmap.xml

I repeated this process with another remote (Go Video DVD Remote) I found in the trash at work.
It also works without issue.
Image

Both these remotes now work with this fresh "out of the box" install of xbmc.

You can have multiple remotes configured to use XBMC. All the remotes in your house can be configured and used at ANY time or at the same time.
Just add them to lircd.conf and Lirc.xml like you did above. No need to modify remote.xml.
I have used some pathetically stupid remotes to find one that wont work. Portable dvd player remotes, CCTV camera remotes, Old TV remotes. Hasn't happened yet.
Reply
#2
You should put this on the wiki. Things have a habit of getting lost deep inside these forums...
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#3
What a great post!

I recently spent hours trying to get my old Xbox DVD remote working with a new installation of Frodo, but without success (and nobody on here seemed to know the problem). From reading your post, it really seems like it would have helped me out. I doubt that I'll try it now, because I ended up buying an FLIRC unit which is excellent (combined with using the XBMC iOS remotes).
Reply
#4
Just wanted to say thanks for this - a very useful guide, and I've been able to set up a remote from an old Wharfdale DVD player to use with an XBMC box for my mum!
Reply
#5
I have a Zotac Zbox ID81 Plus U. I have followed so many guides to no avail. It seems this should be a very simple answer. I am very frustrated. The only XBMC I could get working on my Zbox HTPC is XBMCbuntu v13 Gotham. Installs Flawlessly!. My remote works Flawlessly! All except ONE BUTTON!!!!!!! The "Context Menu". For editing individual sources. Such as add remove source, or to rescan an individual source. I hope I have the name of the button correct. All I want to do is map this one button and all is fine.

The only commands that work for me are:

Code:
dmesg

I get:


Code:
[    2.643198] [drm] This can cause pipe underruns and display issues.
[    2.643200] [drm] Please upgrade your BIOS to fix this.
[    2.694761] usb 2-1: new high-speed USB device number 2 using ehci-pci
[    2.737688] fbcon: inteldrmfb (fb0) is primary device
[    2.827260] usb 2-1: New USB device found, idVendor=8087, idProduct=0024
[    2.827263] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    2.827722] hub 2-1:1.0: USB hub found
[    2.827903] hub 2-1:1.0: 6 ports detected
[    2.898703] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    2.900701] ata1.00: ATA-8: WDC WD3200BPVT-75JJ5T0, 03.01A03, max UDMA/133
[    2.900714] ata1.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[    2.902628] ata1.00: configured for UDMA/133
[    2.902953] scsi 0:0:0:0: Direct-Access     ATA      WDC WD3200BPVT-7 03.0 PQ: 0 ANSI: 5
[    2.903295] sd 0:0:0:0: [sda] 625142448 512-byte logical blocks: (320 GB/298 GiB)
[    2.903298] sd 0:0:0:0: [sda] 4096-byte physical blocks
[    2.903344] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.903451] sd 0:0:0:0: [sda] Write Protect is off
[    2.903456] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.903502] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.942725] Console: switching to colour frame buffer device 240x67
[    2.956518] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[    2.956522] i915 0000:00:02.0: registered panic notifier
[    2.983955] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    2.984746] acpi device:47: registered as cooling_device7
[    2.984869] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:00/input/input4
[    2.985634] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
[    3.013736]  sda: sda1 sda2 < sda5 >
[    3.014597] sd 0:0:0:0: [sda] Attached SCSI disk
[    3.098704] usb 2-1.2: new high-speed USB device number 3 using ehci-pci
[    3.450087] usb 2-1.2: New USB device found, idVendor=0bda, idProduct=0138
[    3.450096] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.450100] usb 2-1.2: Product: USB2.0-CRW
[    3.450103] usb 2-1.2: Manufacturer: Generic
[    3.450106] usb 2-1.2: SerialNumber: 20090516388200000
[    3.469251] usbcore: registered new interface driver usb-storage
[    3.476933] ums-realtek 2-1.2:1.0: USB Mass Storage device detected
[    3.482585] Switched to clocksource tsc
[    3.496062] scsi6 : usb-storage 2-1.2:1.0
[    3.496213] usbcore: registered new interface driver ums-realtek
[    3.526557] usb 2-1.6: new full-speed USB device number 4 using ehci-pci
[    3.622871] usb 2-1.6: New USB device found, idVendor=8086, idProduct=0189
[    3.622878] usb 2-1.6: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    3.625728] usb 2-1.2: USB disconnect, device number 3
[    3.834288] raid6: mmxx1     1977 MB/s
[    3.902273] raid6: mmxx2     2111 MB/s
[    3.970252] raid6: sse1x1    1662 MB/s
[    4.038231] raid6: sse1x2    1988 MB/s
[    4.106204] raid6: sse2x1    3342 MB/s
[    4.174178] raid6: sse2x2    4048 MB/s
[    4.174181] raid6: using algorithm sse2x2 (4048 MB/s)
[    4.174184] raid6: using ssse3x1 recovery algorithm
[    4.174547] [drm] Enabling RC6 states: RC6 on, RC6p off, RC6pp off
[    4.182579] xor: measuring software checksum speed
[    4.222159]    pIII_sse  :  6140.000 MB/sec
[    4.262145]    prefetch64-sse:  6698.000 MB/sec
[    4.262148] xor: using function: prefetch64-sse (6698.000 MB/sec)
[    4.321523] bio: create slab <bio-1> at 1
[    4.322024] Btrfs loaded
[    4.418644] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[    5.206829] random: init urandom read with 113 bits of entropy available
[    5.396379] random: nonblocking pool is initialized
[    7.215944] Adding 2001916k swap on /dev/sda5.  Priority:-1 extents:1 across:2001916k FS
[    8.373540] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[    9.134480] systemd-udevd[341]: starting version 204
[   10.682267] lp: driver loaded but no devices found
[   10.734839] EXT4-fs (sda1): re-mounted. Opts: errors=remount-ro
[   11.781203] FS-Cache: Loaded
[   12.282665] RPC: Registered named UNIX socket transport module.
[   12.282670] RPC: Registered udp transport module.
[   12.282673] RPC: Registered tcp transport module.
[   12.282675] RPC: Registered tcp NFSv4.1 backchannel transport module.
[   12.369267] ACPI Warning: 0x00000428-0x0000042f SystemIO conflicts with Region \PMIO 1 (20131115/utaddress-251)
[   12.369279] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[   12.369286] ACPI Warning: 0x00000540-0x0000054f SystemIO conflicts with Region \GPIO 1 (20131115/utaddress-251)
[   12.369292] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[   12.369295] ACPI Warning: 0x00000530-0x0000053f SystemIO conflicts with Region \GPIO 1 (20131115/utaddress-251)
[   12.369301] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[   12.369303] ACPI Warning: 0x00000500-0x0000052f SystemIO conflicts with Region \GPIO 1 (20131115/utaddress-251)
[   12.369308] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[   12.369311] lpc_ich: Resource conflict(s) found affecting gpio_ich
[   12.458743] mei_me 0000:00:16.0: irq 49 for MSI/MSI-X
[   12.544389] Bluetooth: Core ver 2.17
[   12.544418] NET: Registered protocol family 31
[   12.544421] Bluetooth: HCI device and connection manager initialized
[   12.544431] Bluetooth: HCI socket layer initialized
[   12.544435] Bluetooth: L2CAP socket layer initialized
[   12.544442] Bluetooth: SCO socket layer initialized
[   12.589744] cfg80211: Calling CRDA to update world regulatory domain
[   12.629674] usbcore: registered new interface driver btusb
[   12.791695] FS-Cache: Netfs 'nfs' registered for caching
[   12.831806] Intel(R) Wireless WiFi driver for Linux, in-tree:
[   12.831812] Copyright(c) 2003-2013 Intel Corporation
[   12.832175] iwlwifi 0000:03:00.0: irq 50 for MSI/MSI-X
[   12.975666] kvm: disabled by bios
[   13.057494] iwlwifi 0000:03:00.0: loaded firmware version 18.168.6.1 op_mode iwldvm
[   13.354954] Installing knfsd (copyright (C) 1996 [email protected]).
[   13.404417] iwlwifi 0000:03:00.0: CONFIG_IWLWIFI_DEBUG disabled
[   13.404424] iwlwifi 0000:03:00.0: CONFIG_IWLWIFI_DEBUGFS enabled
[   13.404427] iwlwifi 0000:03:00.0: CONFIG_IWLWIFI_DEVICE_TRACING enabled
[   13.404431] iwlwifi 0000:03:00.0: Detected Intel(R) Centrino(R) Wireless-N 130 BGN, REV=0xB0
[   13.404493] iwlwifi 0000:03:00.0: L1 Disabled; Enabling L0S
[   13.770694] device-mapper: multipath: version 1.6.0 loaded
[   13.814009] ieee80211 phy0: Selected rate control algorithm 'iwl-agn-rs'
[   14.030440] snd_hda_intel 0000:00:1b.0: irq 51 for MSI/MSI-X
[   14.427267] SKU: Nid=0x1d sku_cfg=0x40020601
[   14.427273] SKU: port_connectivity=0x1
[   14.427296] SKU: enable_pcbeep=0x0
[   14.427299] SKU: check_sum=0x00000002
[   14.427301] SKU: customization=0x00000006
[   14.427303] SKU: external_amp=0x0
[   14.427305] SKU: platform_type=0x0
[   14.427307] SKU: swap=0x0
[   14.427309] SKU: override=0x1
[   14.428675] autoconfig: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line
[   14.428680]    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   14.428683]    hp_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   14.428685]    mono: mono_out=0x0
[   14.428687]    dig-out=0x1e/0x0
[   14.428689]    inputs:
[   14.428691]      Mic=0x18
[   14.428694] realtek: No valid SSID, checking pincfg 0x40020601 for NID 0x1d
[   14.428697] realtek: Enabling init ASM_ID=0x0601 CODEC_ID=10ec0892
[   15.362084] cfg80211: World regulatory domain updated:
[   15.362091] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
[   15.362095] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[   15.362099] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[   15.362101] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
[   15.362104] cfg80211:   (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[   15.362107] cfg80211:   (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
[   15.524624] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input10
[   15.524843] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9
[   15.525034] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
[   15.525227] input: HDA Intel PCH Line Out as /devices/pci0000:00/0000:00:1b.0/sound/card0/input7
[   15.525407] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input6
[   15.710884] init: avahi-cups-reload main process (675) terminated with status 1
[   15.900537] init: failsafe main process (607) killed by TERM signal
[   16.009899] init: Failed to obtain startpar-bridge instance: Unknown parameter: INSTANCE
[   21.574797] r8169 0000:01:00.0 eth0: link down
[   21.574893] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   21.575652] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   21.582967] iwlwifi 0000:03:00.0: L1 Disabled; Enabling L0S
[   21.590113] iwlwifi 0000:03:00.0: Radio type=0x2-0x2-0x1
[   21.656809] iwlwifi 0000:03:00.0: L1 Disabled; Enabling L0S
[   21.665571] iwlwifi 0000:03:00.0: Radio type=0x2-0x2-0x1
[   21.728478] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   21.728949] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready
[   21.787006] init: samba-ad-dc main process (849) terminated with status 1
[   22.892610] lirc_dev: IR Remote Control driver registered, major 251
[   23.126769] init: xbmcbuntu-wait (lightdm) main process (914) killed by TERM signal
[   23.128717] init: xbmcbuntu-wait (ubiquity) main process (918) killed by TERM signal
[   24.177618] wlan0: authenticate with 2c:b0:5d:23:cd:8f
[   24.188636] wlan0: send auth to 2c:b0:5d:23:cd:8f (try 1/3)
[   24.191561] wlan0: authenticated
[   24.191860] wlan0: associate with 2c:b0:5d:23:cd:8f (try 1/3)
[   24.195761] wlan0: RX AssocResp from 2c:b0:5d:23:cd:8f (capab=0x11 status=0 aid=25)
[   24.197677] wlan0: associated
[   24.197715] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   26.578096] init: plymouth-upstart-bridge main process ended, respawning
[   38.253159] Bluetooth: RFCOMM TTY layer initialized
[   38.253175] Bluetooth: RFCOMM socket layer initialized
[   38.253183] Bluetooth: RFCOMM ver 1.11
[  185.543076] usb 2-1.1: new low-speed USB device number 5 using ehci-pci
[  185.641791] usb 2-1.1: New USB device found, idVendor=0471, idProduct=20cc
[  185.641802] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  185.641809] usb 2-1.1: Product: MCE USB IR Receiver- Spinel plus
[  185.641814] usb 2-1.1: Manufacturer: PHILIPS
[  185.789902] hidraw: raw HID events driver (C) Jiri Kosina
[  185.827924] usbcore: registered new interface driver usbhid
[  185.827930] usbhid: USB HID core driver
[  185.848149] input: PHILIPS MCE USB IR Receiver- Spinel plus as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/input/input11
[  185.859351] hid-generic 0003:0471:20CC.0001: input,hiddev0,hidraw0: USB HID v1.00 Keyboard [PHILIPS MCE USB IR Receiver- Spinel plus] on usb-0000:00:1d.0-1.1/input0
[  338.639959] usb 2-1.1: USB disconnect, device number 5
[  343.443732] usb 2-1.5: new low-speed USB device number 6 using ehci-pci
[  343.542529] usb 2-1.5: New USB device found, idVendor=0471, idProduct=20cc
[  343.542540] usb 2-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  343.542547] usb 2-1.5: Product: MCE USB IR Receiver- Spinel plus
[  343.542552] usb 2-1.5: Manufacturer: PHILIPS
[  343.557267] input: PHILIPS MCE USB IR Receiver- Spinel plus as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/input/input12
[  343.557790] hid-generic 0003:0471:20CC.0002: input,hiddev0,hidraw0: USB HID v1.00 Keyboard [PHILIPS MCE USB IR Receiver- Spinel plus] on usb-0000:00:1d.0-1.5/input0
[ 3298.369032] perf samples too long (2518 > 2500), lowering kernel.perf_event_max_sample_rate to 50000


Forgive my linux inexperience but I can not see the beginning it runs past. I do not know a switch for page by page.

Then:

Code:
lsusb

I get:


Code:
Bus 002 Device 004: ID 8086:0189 Intel Corp.
Bus 002 Device 006: ID 0471:20cc Philips (or NXP)
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


I can not run any ir commands or irw, says no such file. I have created custom lirc config but nothing works. I do not know what is running my remote. I don't think it is lirc. From reading so many posts I am so confused.

This is my remote:
Image
Image

I just need that one button to work. I believe its call the guide button on the first picture. Please help thanks.
I also have a Brand new Xbox one Remote. Is it even possible to get that to work?
Reply
#6
I have the same exact issue as gwire.

i.e. Configuring XBMC Context Menu to that same Zotac remote button.

Any help from the experts would be appreciated.

Thanks

Mike


Edit: Followed the instructions in Daniel Sokolowski's Blog which basically consist of running a registry update. (See code below)
This worked for a Zatoc AD10 running windows 8 with the remote using the internal IR.

Quote:Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\HidIr\Remotes\745a17a0-74d3-11d0-b6fe-00a0c90f57df]
"RemoteName"="RC6 based MCE remote for Philips(OVU710001/00 OTS)"
"EnableDebounce"=dword:00000000
"EnableVendorPassThrough"=dword:00000001
"DecoderID"=dword:00000001
"CodeSetID"=dword:00000000
"CodeBitLen"=dword:00000020
"CodeSetNum0"=dword:00000001
"CodeSetNum1"=dword:00000002
"CodeSetNum2"=dword:00000003
"CodeSetNum3"=dword:00000004
"CodeSetNumMask"=dword:00007000
"CodeSetNumShiftBits"=dword:0000000c
"CodeMatchMask"=dword:ffff0f00
"CodeMatchValue"=dword:80340400
"DataMask"=dword:000000ff
"DataShiftBits"=dword:00000000
"ReportLength"=dword:00000003
"ReportDescriptor"=hex:05,0c,09,01,a1,01,85,01,19,00,2a,3c,02,15,00,26,3c,02,\
95,01,75,10,81,00,c0,06,bc,ff,09,88,a1,01,85,02,19,01,29,ff,15,00,25,01,95,\
01,75,08,81,00,c0,05,01,09,80,a1,01,85,03,19,01,29,ff,15,01,25,ff,95,01,75,\
08,81,00,c0,05,01,09,06,a1,01,85,04,05,07,19,e0,29,e8,75,01,95,08,81,02,19,\
00,29,90,26,ff,00,75,08,95,01,81,00,c0
"ReportMappingTable"=hex:\
5d,00,00,00,04,08,00,\ ; Green Windows key - modified to send Keyboard Window key. Original: 5d,00,00,00,02,0d,00,
83,00,00,00,01,24,02,\ ; Button '<-' (Back)
cb,00,00,00,04,01,07,\ ; Info '(i)' - modified to send ctrl-D. Original cb,00,00,00,01,09,02,
58,00,00,00,04,00,52,\
59,00,00,00,04,00,51,\
5a,00,00,00,04,00,50,\
5b,00,00,00,04,00,4f,\
5c,00,00,00,04,00,28,\
2c,00,00,00,01,b0,00,\ ; Play
30,00,00,00,01,b1,00,\ ; Pause
31,00,00,00,01,b7,00,\ ; Stop
37,00,00,00,01,b2,00,\ ; Record
28,00,00,00,01,b3,00,\ ; Forward
29,00,00,00,01,b4,00,\ ; Rewind
21,00,00,00,01,b6,00,\ ; Button '|<'
20,00,00,00,01,b5,00,\ ; Button '>|'
10,00,00,00,01,e9,00,\ ; Up Arrow
11,00,00,00,01,ea,00,\ ; Down Arrow
0d,00,00,00,01,e2,00,\ ; Mute
4a,00,00,00,02,2b,00,\
1e,00,00,00,01,9c,00,\ ; Channel '+' Button
1f,00,00,00,01,9d,00,\ ; Channel '-' Button
0c,00,00,00,03,82,00,\
8e,00,00,00,03,83,00,\ ; Red Power '|'
3d,00,00,00,03,82,00,\ ; Red Power 'O'
00,00,00,00,04,00,27,\ ; Button '0'
01,00,00,00,04,00,1e,\ ; Button '1'
02,00,00,00,04,00,1f,\ ; Button '2'
03,00,00,00,04,00,20,\ ; Button '3'
04,00,00,00,04,00,21,\ ; Button '4'
05,00,00,00,04,00,22,\ ; Button '5'
06,00,00,00,04,00,23,\ ; Button '6'
07,00,00,00,04,00,24,\ ; Button '7'
08,00,00,00,04,00,25,\ ; Button '8'
09,00,00,00,04,00,26,\ ; Button '9'
3a,00,00,00,04,00,29,\ ; Button 'CLEAR'
34,00,00,00,04,00,28,\ ; Button 'ENTER'
32,00,00,00,04,02,20,\ ; Button '#'
33,00,00,00,04,02,25,\ ; Button '*'
2f,00,00,00,04,00,17,\ ; Button '[T]' - modified to send 'T'
6d,00,00,00,04,05,1e,\ ; Red - modified to send 'Ctrl-Alt-1'. Original: 6d,00,00,00,02,5b,00,
6e,00,00,00,04,05,1f,\ ; Green - modified to send 'Ctrl-Alt-2'. Original: 6e,00,00,00,02,5c,00,
6f,00,00,00,04,05,20,\ ; Yellow - modified to send 'Ctrl-Alt-3'. Original: 6f,00,00,00,02,5d,00,
70,00,00,00,04,05,21,\ ; Blue - modified to send 'Ctrl-Alt-4'. Original: 70,00,00,00,02,5e,00,
3e,00,00,00,04,00,06,\ ; Button '=' to the right of [T] modified to send 'C'. Orignal: 3e,00,00,00,01,8d,00,
2e,00,00,00,02,25,00,\
87,00,00,00,02,47,00,\
9b,00,00,00,02,48,00,\
89,00,00,00,02,49,00,\
9c,00,00,00,02,4a,00,\
4f,00,00,00,02,50,00,\
9d,00,00,00,02,3c,00,\
9e,00,00,00,02,3d,00,\
54,00,00,00,02,24,00,\
85,00,00,00,02,4b,00,\
4e,00,00,00,02,4c,00,\
4b,00,00,00,02,4d,00,\
c9,00,00,00,02,51,00,\
42,00,00,00,02,28,00,\
a8,00,00,00,02,32,00,\
a9,00,00,00,02,33,00,\
aa,00,00,00,02,34,00,\
ab,00,00,00,02,35,00,\
ac,00,00,00,02,36,00,\
ad,00,00,00,02,37,00,\
ae,00,00,00,02,38,00,\
af,00,00,00,02,39,00,\
b1,00,00,00,02,3a,00,\
b2,00,00,00,02,80,00,\
94,00,00,00,02,81,00,\
95,00,00,00,02,6f,00,\
84,00,00,00,01,08,02,\
f7,00,00,00,02,27,00,\
0f,00,00,00,02,4f,00,\
78,00,00,00,02,3e,00,\
79,00,00,00,02,3f,00,\
7a,00,00,00,02,40,00,\
8d,00,00,00,02,6a,00,\
8f,00,00,00,02,2c,00,\
50,00,00,00,02,2d,00,\
b3,00,00,00,02,52,00,\
b4,00,00,00,02,53,00,\
b5,00,00,00,02,54,00,\
b6,00,00,00,02,55,00,\
c0,00,00,00,02,56,00,\
c2,00,00,00,02,57,00,\
c1,00,00,00,02,58,00,\
c3,00,00,00,02,59,00,\
40,00,00,00,02,2e,00,\
ef,00,00,00,02,2f,00,\
cd,00,00,00,02,30,00,\
80,00,00,00,02,31,00,\
90,00,00,00,02,44,00,\
f8,00,00,00,02,78,00,\
0e,00,00,00,02,41,00,\
0b,00,00,00,02,42,00
Reply
#7
Hello:

Tanks a lot for the tutorial. I´m using OpenElec on a Cubox-i4pro, I´ve been able to follow all the steps but in point 22, when i try to create lircd.conf in etc/lirc nano says me "Error writing lircd.conf:Read-only file system", I´ve tried to give permission using chmod but with any result.

How can i solve this in order to kepp continuing?

Thankyou very much in advance
Reply
#8
(2014-09-28, 17:54)agmvc5 Wrote: Hello:

Tanks a lot for the tutorial. I´m using OpenElec on a Cubox-i4pro, I´ve been able to follow all the steps but in point 22, when i try to create lircd.conf in etc/lirc nano says me "Error writing lircd.conf:Read-only file system", I´ve tried to give permission using chmod but with any result.

How can i solve this in order to kepp continuing?

Thankyou very much in advance
http://forum.xbmc.org/showthread.php?tid=189618
Reply
#9
Soo Seeing as my XboxOne "Watch TV" Commands replicate the Remote,(from when I had Direct TV, now have XBMC plugged in and cancelled direct tv)

I could potentially, set up the Movies-On-Demand Button to goto Movies Tab.. so "Xbox Watch Movies on Demand" goes there, or "Xbox Watch ABC" loads All TV shows under Network ABC.. hmm

More so I'm going to work on pause , stop , play skip buttons "Xbox Pause"....
Reply
#10
(2014-09-30, 22:22)gchase23 Wrote: Soo Seeing as my XboxOne "Watch TV" Commands replicate the Remote,(from when I had Direct TV, now have XBMC plugged in and cancelled direct tv)

I could potentially, set up the Movies-On-Demand Button to goto Movies Tab.. so "Xbox Watch Movies on Demand" goes there, or "Xbox Watch ABC" loads All TV shows under Network ABC.. hmm

More so I'm going to work on pause , stop , play skip buttons "Xbox Pause"....

Are you talking about the DirecTV remote?
Yes, You can use any button and any XBMC function. However, there are challenges to the DirecTV remote. Explained Here
Reply
#11
Hello,
Thank you for the guide, I have a problem and would hope someone please shed some light.
I have Gotham 13.2 latest with all the updates applied, running "irrecord -list namespace" lists the codes as described, however "sudo irrecord -d /dev/lirc0 /home/your-xbmc-user-name/myremote.txt" yields a file not found error, checking /dev with "ls /dev" shows nothing that resembles lirc* in the name.

can someone help please identify the issue ?

thank you
Reply
#12
What remote receiver are you using?
If I have helped you or increased your knowledge, click the 'thumbs up' button to give thanks :) (People with less than 20 posts won't see the "thumbs up" button.)
Reply
#13
(2014-10-20, 18:56)Alphakarem Wrote: however "sudo irrecord -d /dev/lirc0 /home/your-xbmc-user-name/myremote.txt" yields a file not found error,

Ok, Sorry but I have to ask the obvious. Tongue

you didnt really call your xbmc user name "your-xbmc-user-name" did you?

And in addition if ls /dev doesn't show any lirc device you may not have a compatible receiver.
Reply
#14
I finally got around to adding the XBOXONE voice commands, just did play/pause/stop/fastforward/rewind and mapped two TV channels "Watch NBA TV" and "Watch NBC Sports" to Red and Green, hoping that I can use those to launch the BallStreams add-on and NBCSports Add-ons directly from voice,

for some reason my Lircmap.xml creates a constant boot loop of kodi/xbmc, until it kicks me back to the log-in screen, If I rename the Lircmap.xml to Lircmap.bak, Kodi loads without any issue?

here is my Lircmap.xml
Code:
<lircmap>

<remote device="XBOXONE">

<play>KEY_PLAY</play>
<reverse>KEY_REWIND</reverse>
<forward>KEY_FORWARD</forward>
<stop>KEY_STOP</stop>
<pause>KEY_PAUSE</pause>

<red>KEY_RED</red>
<green>KEY_GREEN</green>

</remote>
</lircmap>

As soon as I change the name (no reboot necessary) it loads fine.

Any ideas?
Reply
#15
(2015-02-22, 22:15)gchase23 Wrote: As soon as I change the name (no reboot necessary) it loads fine.

Any ideas?

Frequently its a spelling error, format error or reference to a key that does not exist or duplicated.
Reply

Logout Mark Read Team Forum Stats Members Help
How-To: Use ANY IR Remote In The House to Control XBMC4