Author Topic: How to map IR remote buttons consistently ?  (Read 3220 times)


  • Hello, I'm new here
  • Posts: 0
    • View Profile
How to map IR remote buttons consistently ?
« on: March 29, 2006, 01:36:10 pm »

few weeks ago I added Digimatrix IR remote to my system - at that time I changed RemoteMapping table to remap keys on that remote. Now my problem is that some keys aren't remapped properly to fully support Orbiter and Mythtv.... I'd like to add proper remappings to it to work properly.

- what is currently content of RemoteMapping in Pluto distro ? I'd like to synhronize with that and add changes that are needed to fully support Digimatrix remote...

- any example of mapping that works for remote (including Mythtv's more exotic functions like Menu, Info, etc...) ?

- what ScreenType value is meant for Mythtv control ?

- are shortcuts supported on onscreen Orbiters (like pressing "TV" on remote would immediately bring Orbiter into TV menu - mythtv in my case ) ? If yes, how to ?

Thanks in advance,



I have following config :
Code: [Select]
# this config file was automatically generated
# using lirc-0.7.0pre7(it87) on Sun Aug 29 17:33:17 2004
# contributed by
# brand:                       ASUS
# model no. of remote control: DigiMatrix
# devices being controlled by this remote:

begin remote

  name  ASUS_DigiMatrix
  bits           16
  flags SPACE_ENC
  eps            30
  aeps          100

  header       8057  4071
  one           479  1534
  zero          479   531
  ptrail        491
  pre_data_bits   8
  pre_data       0x35
  gap          25647
  toggle_bit      0

      begin codes
          up                       0x000000000000E817
          down                     0x00000000000018E7
          enter                    0x000000000000D02F
          left                     0x0000000000009867
          right                    0x00000000000058A7
          1                        0x00000000000000FF
          2                        0x000000000000807F
          3                        0x00000000000040BF
          4                        0x000000000000C03F
          5                        0x00000000000020DF
          6                        0x000000000000A05F
          7                        0x000000000000609F
          8                        0x000000000000E01F
          9                        0x00000000000010EF
          0                        0x000000000000906F
          on_off                   0x000000000000B04F
          dvd_vcd                  0x000000000000F00F
          tv                       0x00000000000008F7
          os_start                 0x00000000000030CF
          photo                    0x00000000000048B7
          home                     0x00000000000044BB
          back                     0x000000000000A857
          ch+                      0x000000000000B847
          stop                     0x000000000000946B
          play                     0x000000000000C43B
          vol+                     0x000000000000F807
          ch-                      0x0000000000007887
          step-                    0x000000000000E41B
          step+                    0x000000000000649B
          vol-                     0x00000000000004FB
          pause                    0x00000000000024DB
          pre                      0x00000000000014EB
          next                     0x000000000000A45B
          mute                     0x000000000000847B
          rec                      0x000000000000D42B
          subtitle                 0x000000000000C837
          menu                     0x00000000000038C7
          dvd_audio                0x00000000000050AF
          ui_size                  0x0000000000008877
          ui_on_off                0x00000000000028D7
      end codes

end remote


  • Hello, I'm new here
  • Posts: 0
    • View Profile
How to map IR remote buttons consistently ?
« Reply #1 on: March 31, 2006, 01:11:04 am »
the screen type is in the DesignObj table.  for example, if you monitor the log for the orbiter, and change to the main menu, you'll see in the log 'render screen 1255.0.0'.  the first number is always the screen number, or we call the DesignObj.  In mysql, select * from DesignObj where PK_DesignObj=1255, will let you see the screen type for that object.

the way the remote function works is to always try to find the most specific, reverting to least specific match.  There are two criteria, one is the type of remote, and one is the screen type.  Some remotes do not have the same button layouts as others.  For example, some remotes share the four directional arrows with media skipping.  Similarly on some screens, you wanna have different buttons do different things.  For example when a the orbiter is at the screen 'DVD menu', you want the up down left right to go to the media player, but when the orbiter is that the main menu, the arrows go to the orbiter itself.

all this functionality is shared in one common base class IRReceiverBase, which is used by all of the infrared receivers.  This has a logic to say: i'm on screen 1255, the remote being used is type X, is there a button for that screen and that type of remote.  If not, is there a button for that type of remote.  If not, for that type of screen.  If not, just send the general command.

by the general commands, i mean the record in RemoteMapping where both screentype and remotelayout are not specified.  

you have a few options.  If what you're doing is general and you feel benefit everyone with every type of remote, or if the buttons on this particular remote are unique to this remote, or if the special buttons on this remote should have the same behavior on any other remote that has a special buttons, then we should put the new commands in a record without remotelayout; in other words everyone with any remote that has that button should get that same behavior.  If your remote is something unusual and special, and this particular remote should do something different than another remote that has the same button with the same name, then you'll want to change the remote layouts in the device template for the remote, and add a special recordto the remote mapping to specify the behavior for that type of remote
Use sqlcvs to commit sure changes, and send an e-mail to kirill.b to have them authorized, and he can confirm that they make it into the next release.


  • Hello, I'm new here
  • Posts: 0
    • View Profile
How to map IR remote buttons consistently ?
« Reply #2 on: March 31, 2006, 02:35:51 pm »

thanks for info.

I'd need to work in two steps :
1. to synhronize my Mapping table to current Pluto's - but don't know how to ?

2. when we control mythtv from Pluto - what entries in Mapping table are relevant or meant for mythtv ?

3. Under mythtv key 'm' gets me into onscreen menu. What would I need to put and where so key 'm' would be sent to mythtv when I press some button on IR ?

Thanks in advance,