Index: lirc.cpp =================================================================== --- lirc.cpp (revision 17082) +++ lirc.cpp (working copy) @@ -13,6 +13,7 @@ #include "lirc.h" #include "lircevent.h" #include "util.h" +#include "mythkeysequence.h" /** \class LircClient * \brief Interface between mythtv and lircd @@ -81,7 +82,7 @@ while ((ret = lirc_code2char(lircConfig, ir, &code)) == 0 && code != NULL) { - QKeySequence a(code); + MythKeySequence a(code); int keycode = 0; @@ -94,13 +95,20 @@ for (unsigned int i = 0; i < a.count(); i++) { - keycode = a[i]; - - QApplication::postEvent(mainWindow, new LircKeycodeEvent(code, + if (a[i]->isRemote()) // is really bound to a remoteXXX + { + QApplication::postEvent(mainWindow, new LircKeycodeEvent( a[i]->text().latin1(), 0, true )); + } + else + { + keycode = a[i]->value( ); + QApplication::postEvent(mainWindow, new LircKeycodeEvent(code, keycode, true)); - QApplication::postEvent(mainWindow, new LircKeycodeEvent(code, + QApplication::postEvent(mainWindow, new LircKeycodeEvent(code, keycode, false)); + } + SpawnApp(); } } Index: jsmenu.cpp =================================================================== --- jsmenu.cpp (revision 17082) +++ jsmenu.cpp (working copy) @@ -32,6 +32,7 @@ #include #include "mythcontext.h" +#include "mythkeysequence.h" #include using namespace std; @@ -295,7 +296,7 @@ **--------------------------------------------------------------------------*/ void JoystickMenuClient::EmitKey(QString code) { - QKeySequence a(code); + MythKeySequence a(code); int keycode = 0; @@ -308,7 +309,7 @@ for (unsigned int i = 0; i < a.count(); i++) { - keycode = a[i]; + keycode = a[i]->value(); QApplication::postEvent(mainWindow, new JoystickKeycodeEvent(code, keycode, true)); Index: libmyth.pro =================================================================== --- libmyth.pro (revision 17082) +++ libmyth.pro (working copy) @@ -17,7 +17,7 @@ HEADERS += generictree.h httpcomms.h langsettings.h lcddevice.h HEADERS += managedlist.h mythconfigdialogs.h mythconfiggroups.h HEADERS += mythcontext.h mythdbcon.h mythdeque.h mythdialogs.h -HEADERS += mythevent.h mythexp.h mythmedia.h mythmediamonitor.h +HEADERS += mythkeysequence.h mythevent.h mythexp.h mythmedia.h mythmediamonitor.h HEADERS += mythobservable.h mythplugin.h mythpluginapi.h mythsocket.h HEADERS += mythstorage.h mythwidgets.h mythwizard.h HEADERS += oldsettings.h output.h qmdcodec.h remotefile.h @@ -35,7 +35,7 @@ SOURCES += managedlist.cpp mythconfigdialogs.cpp mythconfiggroups.cpp SOURCES += mythcontext.cpp mythdbcon.cpp mythdialogs.cpp SOURCES += mythmedia.cpp mythmediamonitor.cpp -SOURCES += mythobservable.cpp mythplugin.cpp mythsocket.cpp +SOURCES += mythobservable.cpp mythplugin.cpp mythsocket.cpp mythkeysequence.cpp SOURCES += mythstorage.cpp mythwidgets.cpp mythwizard.cpp SOURCES += oldsettings.cpp output.cpp qmdcodec.cpp remotefile.cpp SOURCES += screensaver.cpp screensaver-null.cpp settings.cpp themeinfo.cpp