Difference between revisions of "Remote Mapping Table"

From LinuxMCE
Jump to: navigation, search
(What is The Remote Mapping Table?)
(What is The Remote Mapping Table?)
Line 7: Line 7:
 
The Remote Mapping Tables are differentiated by a ScreenType. This is defined on a per DesignObj basis, You use this on the DesignObj you make as the top-most level of your screen to determine which remote mapping to use. If you do not specify one, the Default mapping is used. The ScreenType must manually be set in the database, as there is no way to edit this in Designer.
 
The Remote Mapping Tables are differentiated by a ScreenType. This is defined on a per DesignObj basis, You use this on the DesignObj you make as the top-most level of your screen to determine which remote mapping to use. If you do not specify one, the Default mapping is used. The ScreenType must manually be set in the database, as there is no way to edit this in Designer.
  
* For example, start by choosing one of the descriptions in Table MediaType that matches the screen for which you want to know the RemoteMapping. Then follow the path of the tables as follows:.
+
* For example, start by choosing one of the descriptions in Table MediaType that matches the screen for which you want to know the RemoteMapping. Then follow the path of the tables as follows:
  
 
  MediaType: PK_MediaType = 1 (LinuxMCE LiveTV)
 
  MediaType: PK_MediaType = 1 (LinuxMCE LiveTV)

Revision as of 00:57, 24 April 2011

What is The Remote Mapping Table?

The RemoteMapping table is used by Orbiter to map key presses from Infra-red and HID remotes to DCE messages.

It is a list of button symbols, with corresponding DCE messages, similar to those used by MessageSend.

The Remote Mapping Tables are differentiated by a ScreenType. This is defined on a per DesignObj basis, You use this on the DesignObj you make as the top-most level of your screen to determine which remote mapping to use. If you do not specify one, the Default mapping is used. The ScreenType must manually be set in the database, as there is no way to edit this in Designer.

  • For example, start by choosing one of the descriptions in Table MediaType that matches the screen for which you want to know the RemoteMapping. Then follow the path of the tables as follows:
MediaType: PK_MediaType = 1 (LinuxMCE LiveTV)
MediaType_DesignObj: FK_MediaType = 1, PK_MediaType = 3, FK_Screen_OSD = 128
Screen_DesignObj: FK_Screen = 128, FK_DesignObj = 3156
DesignObj: PK_DesignObj = 3156, ScreenType = N

Contents of RemoteMapping

It is populated thusly:

Default: All screen types Inherit this remote mapping

Power;|0 -203 1 194
Shutdown;|0 -203 1 741 159 249
Halt;|0 -103 1 323
1;One;|0 -203 1 28 26 16
2;Two;|0 -203 1 28 26 17
3;Three;|0 -203 1 28 26 18
4;Four;|0 -203 1 28 26 19
5;Five;|0 -203 1 28 26 20
6;Six;|0 -203 1 28 26 21
7;Seven;|0 -203 1 28 26 22
8;Eight;|0 -203 1 28 26 23
9;Nine;|0 -203 1 28 26 24
0;Zero;|0 -203 1 28 26 25
enter;|0 -203 1 28 26 5
shortcut0|0 -203 1 834 48 48
shortcut1|0 -203 1 834 48 49
shortcut2|0 -203 1 834 48 50
shortcut3|0 -203 1 834 48 51
shortcut4|0 -203 1 834 48 52
shortcut5|0 -203 1 834 48 53
shortcut6|0 -203 1 834 48 54
shortcut7|0 -203 1 834 48 55
shortcut8|0 -203 1 834 48 56
shortcut9|0 -203 1 834 48 57
shortcutR|0 -203 1 834 48 82
shortcutG|0 -203 1 834 48 71
shortcutY|0 -203 1 834 48 89
shortcutB|0 -203 1 834 48 66
SkipNext;skipfwd;Skip|0 -106 1 65 5 +1
SkipPrior;skipback;Replay|0 -106 1 65 5 -1
chup;ChanUp;|0 -106 1 65 5 +1
chdown;ChanDown;|0 -106 1 65 5 -1
fastforward;Forward;|0 -106 1 41 43 +2
Rewind;|0 -106 1 41 43 -2
Pause;|0 -106 1 39
Play;|0 -106 1 37
Mute;|0 -106 1 97
Stop;|0 -106 1 95 203 1
Down;|0 -203 1 201
Up;|0 -203 1 200
Left;|0 -203 1 202
Right;|0 -203 1 203
ok;|0 -203 1 190
voldn;VolDown;|0 -106 1 90
VolUp;|0 -106 1 89
recorded_tv;RecTV;|0 -203 1 401 29 5
DVD;|0 -106 1 43
menu;|0 -106 1 548
tv;live_tv;LiveTV;|0 -106 1 43 29 1
Back;|0 -203 1 240
Clear;|0 -203 1 363
epg;Guide;|0 -106 1 126
start;Home;|0 -203 1 548
Music;|0 -203 1 401 29 4
Videos;|0 -203 1 401 29 5
Pictures;|0 -203 1 401 29 7
Radio;|0 -106 1 43 29 6
Record;|0 -106 1 102
display;info;list;|0 -203 1 399
green;|0 -203 1 28 26 177
yellow;|0 -203 1 28 26 178
red;|0 -203 1 28 26 179
blue;|0 -203 1 28 26 180
input;|0 -106 1 91
avwizard;|0 -101 1 918
*;Asterisk;|0 -203 1 28 26 32
#;Pound;|0 -203 1 28 26 33
media;|0 -203 1 28 26 176
lights;|0 -203 1 28 26 178

Explanation of parameters:

The parameters are separated by vertical bars.

The First parameter, is the Button symbol. This is used to map a button code to something meaningful. You can specify multiple symbol names by separating them with semicolons. The Second parameter, is the DCE message to send in response to pressing said button. Like other DCE messages, it takes the form of:

  • Device from, usually 0
  • Device To, Common destinations include
    • -203 - The On Screen Orbiter in this room.
    • -106 - The current Playing Media Player (by way of the Media Plugin)
    • To see others, look at the Virtual Device List
  • The Message type, either 1 for command, or 2 for Event
  • If Type 1, the Command to execute (see the Command Table), if type 2, the Event to execute, (see the Event Table)
  • The remainder of the parameters are merely Command Parameters and their Values.
    • For example, Command 28 is Simulate Keypress, which takes one parameter, (26), which is the PK_Button to press, so:
    • 0 -203 1 28 26 176 means Simulate Keypress for PK_Button 176.. If you look at the Button Table, you'll find 176 is F6. So you're sending the keypress F6 to the On Screen Orbiter.

Non Pluto Remote - used by the Legacy AV Control screens, Screen type 'r'

Up;|0 -106 1 200
Left;|0 -106 1 202
Right;|0 -106 1 203
ok;|0 -106 1 190
1;One;|0 -106 1 205
2;Two;|0 -106 1 206
3;Three;|0 -106 1 207
4;Four;|0 -106 1 208
5;Five;|0 -106 1 209
6;Six;|0 -106 1 210
7;Seven;|0 -106 1 211
8;Eight;|0 -106 1 212
9;Nine;|0 -106 1 213
0;Zero;|0 -106 1 204
enter;|0 -106 1 190
recorded_tv;RecTV;|0 -106 1 777
tv;live_tv;LiveTV;|0 -106 1 611
Back;|0 -106 1 240
Clear;|0 -106 1 363the 
display;info;list;|0 -106 225

Notice how the number keys are redefined? These change the destination of the number keys to the media player. If you look up the command values for these in the Command Table, you'll find these are changed to commands called '1', '2', '3', etc... to be handled by the media player.

Generic Computing App Full Screen, Remote type 'C'

Power;|0 -201 1 69 50 generic_app & 0 -203 1 5 3 <%=M%>
Down;|0 -203 1 28 26 2
Up;|0 -203 1 28 26 1
Left;|0 -203 1 28 26 3
Right;|0 -203 1 28 26 4
ok;|0 -203 1 28 26 5

Notice here an orbiter substitution is here. Yes, Orbiter reads variables here, so you can use them just as you use them in Designer.

Navigable OSD on media director, Remote type 'N'

Down;|0 -106 1 201
Up;|0 -106 1 200
Left;|0 -106 1 202
Right;|0 -106 1 203
ok;|0 -106 1 190
recorded_tv;RecTV;|0 -106 1 548 9 old_recordings
live_tv;|0 -106 1 548 9 livetv
back;|0 -106 1 240
display;info;list;|0 -106 1 123
1;One;|0 -106 1 28 26 16
2;Two;|0 -106 1 28 26 17
3;Three;|0 -106 1 28 26 18
4;Four;|0 -106 1 28 26 19
5;Five;|0 -106 1 28 26 20
6;Six;|0 -106 1 28 26 21
7;Seven;|0 -106 1 28 26 22
8;Eight;|0 -106 1 28 26 23
9;Nine;|0 -106 1 28 26 24
0;Zero;|0 -106 1 28 26 25
enter;|0 -106 1 28 26 5
Clear;|0 -106 1 28 26 112

Here, most of the commands go to the media player, again. using Move up/down/left/right for the arrows, and sending simulate keypresses to the media player for the numbers.

Computing List - screen type 'c'

Power;|0 -201 1 69 50 generic_app

This screen lists the computing apps. The only change here is that the Power button will disable the running computer app instead of showing the usual power screen. Notice that we are finely overriding buttons to provide a sense of context...

Media full screen app - screen type 'f'

Down;|0 -203 1 28 26 5
Up;|0 -203 1 28 26 5
Left;|0 -203 1 28 26 5
Right;|0 -203 1 28 26 5
ok;|0 -203 1 28 26 5
recorded_tv;RecTV;|0 -106 1 548 9 old_recordings

A tweak for full screen media apps.

Media Browser - Screen type 'B'

chup;ChanUp;|0 -203 1 28 26 6
chdown;ChanDown;|0 -203 1 28 26 7
SkipNext;skipfwd;Skip|0 -203 1 28 26 7
SkipPrior;skipback;Replay|0 -203 1 28 26 6
Back;|0 -203 1 28 26 112
Play;|0 -203 1 37

This screen type is used when browsing media. Note the SkipNext/SkipPrior buttons (typically mapped to page up and page down or channel buttons), are now used to send page up and page down commands to the media browser (as simulate keypresses)