Hallo zusammen,
Ich möchte für ein Plugin, ein paar eigene Shortcuts zur Verfügung stellen. So soll ein Config-Menü über die Taste Dream (resp. Menü) auf der Fernbedienung aufgerufen werden könen.
Dazu habe ich mir eine xml-Datei angelegt:
Code
<rcdefaults>
<author>
<name>Dre (based on layout by Felix Domke)</name>
<email></email>
</author>
<device identifier="Dreambox2" >
<keys>
<key name="0" code="00" picture="key.0" />
<key name="1" code="01" picture="key.1" />
<key name="2" code="02" picture="key.2" />
<key name="3" code="03" picture="key.3" />
<key name="4" code="04" picture="key.4" />
<key name="5" code="05" picture="key.5" />
<key name="6" code="06" picture="key.6" />
<key name="7" code="07" picture="key.7" />
<key name="8" code="08" picture="key.8" />
<key name="9" code="09" picture="key.9" />
<key name="volup" code="0a" />
<key name="voldown" code="0b" />
<key name="tv" code="0c" picture="key.15" />
<key name="bouqup" code="0d" />
<key name="bouqdown" code="0e" />
<key name="power" code="0f" />
<key name="dream" code="20" picture="key.13" />
<key name="up" code="21" />
<key name="down" code="22" />
<key name="left" code="23" />
<key name="right" code="24" />
<key name="ok" code="25" />
<key name="audio" code="26" picture="key.10" />
<key name="video" code="27" picture="key.11" />
<key name="info" code="28" picture="key.12" />
<key name="shift_red" code="30" />
<key name="shift_green" code="31" />
<key name="shift_yellow" code="32" />
<key name="shift_blue" code="33" />
<key name="record" code="35" />
<key name="red" code="40" picture="key.17" />
<key name="green" code="41" picture="key.18" />
<key name="yellow" code="42" picture="key.19" />
<key name="blue" code="43" picture="key.20" />
<key name="mute" code="44" picture="key.31" />
<key name="text" code="45" picture="key.22" />
<key name="next" code="50" picture="key.25" />
<key name="prev" code="51" picture="key.24" />
<key name="LAME" code="52" picture="key.21" />
<key name="radio" code="53" picture="key.16" />
<key name="help" code="54" picture="key.23" />
<key name="discrete_off" code="b4"/>
<key name="discrete_on" code="e8"/>
</keys>
<actionmap name="lancontrol">
<action name="showSettingsMenu" key="dream" flags="m" />
</actionmap>
</device>
</rcdefaults>
Alles anzeigen
in der .cpp hab ich folgendes drin:
Code
struct lancontrolActions
{
eActionMap map;
eAction showSettingsMenu;
lancontrolActions():
map("lancontrol", _("LAN-Control")),
showSettingsMenu(map, "showSettingsMenu", _("show settings menu"), eAction::prioWidget)
{
}
};
extern eAutoInitP0<lancontrolActions> i_lancontrolActions;
eAutoInitP0<lancontrolActions> i_lancontrolActions(eAutoInitNumbers::actions, "lancontrol actions");
Alles anzeigen
Code
code//load config file for rc
int eWake::loadRCKeys()
{
#ifndef DISABLE_DREAMBOX_RC
// get BoxType to determine directory
eWakeHelper BoxType;
path = BoxType.getBoxType();
if ( eActionMapList::getInstance()->loadXML( eString().sprintf("%s/tuxbox/config/lancontrol.xml", path.c_str() ).c_str() ) )
{
for(std::map<eString,eRCDevice*>::iterator i(eRCInput::getInstance()->getDevices().begin());
i != eRCInput::getInstance()->getDevices().end(); ++i)
eActionMapList::getInstance()->loadDevice(i->second);
addActionMap( &i_lancontrolActions->map );
addActionToHelpList( &i_lancontrolActions->showSettingsMenu);
addActionToHelpList( &i_cursorActions->ok);
return 0;
}
else
{
return 1;
}
#endif
}
Alles anzeigen
Die Funktion loadRCKeys() wird beim Aufruf von eWake() aufgerufen.
Leider passiert gar nichts, wenn ich die Dream-Taste drücke. Hat jemand vielleicht eine Idee, was ich falsch mache?
Gruss
Dre