aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjenkins4kodi <jenkins4kodi@users.noreply.github.com>2014-11-06 11:31:40 +0100
committerjenkins4kodi <jenkins4kodi@users.noreply.github.com>2014-11-06 11:31:40 +0100
commit1eea2297d5e88f551b2ce3cd3c31add595b33ecd (patch)
treed35bc68e55f7eabbb3d89ad9a0772296c018309a
parentba375b93b323ea1ed3098216b4063c04c5de02ef (diff)
parent07fb4f0a82c1688e8229d78635213dd4f2efdb5a (diff)
Merge pull request #5628 from ksooo/cec-hdmi-1-4-buttons
-rw-r--r--system/keymaps/remote.xml40
-rw-r--r--xbmc/input/ButtonTranslator.cpp4
-rw-r--r--xbmc/input/XBIRRemote.h4
-rw-r--r--xbmc/peripherals/devices/PeripheralCecAdapter.cpp21
4 files changed, 68 insertions, 1 deletions
diff --git a/system/keymaps/remote.xml b/system/keymaps/remote.xml
index f1f851a813..10c56b9a58 100644
--- a/system/keymaps/remote.xml
+++ b/system/keymaps/remote.xml
@@ -53,6 +53,8 @@
<pageminus>PageDown</pageminus>
<back>Back</back>
<menu>PreviousMenu</menu>
+ <contentsmenu>PreviousMenu</contentsmenu>
+ <rootmenu>PreviousMenu</rootmenu>
<title>ContextMenu</title>
<info>Info</info>
<skipplus>SkipNext</skipplus>
@@ -183,6 +185,8 @@
<down>ChapterOrBigStepBack</down>
<back>Back</back>
<menu>OSD</menu>
+ <contentsmenu>OSD</contentsmenu>
+ <rootmenu>OSD</rootmenu>
<start>OSD</start>
<select>OSD</select>
<title>CodecInfo</title>
@@ -209,11 +213,15 @@
<title>CodecInfo</title>
<info>Back</info>
<menu>OSD</menu>
+ <contentsmenu>OSD</contentsmenu>
+ <rootmenu>OSD</rootmenu>
</remote>
</FullscreenInfo>
<PlayerControls>
<remote>
<menu>Back</menu>
+ <contentsmenu>Back</contentsmenu>
+ <rootmenu>Back</rootmenu>
</remote>
</PlayerControls>
<Visualisation>
@@ -226,6 +234,8 @@
<title>CodecInfo</title>
<select>ActivateWindow(VisualisationPresetList)</select>
<menu>OSD</menu>
+ <contentsmenu>OSD</contentsmenu>
+ <rootmenu>OSD</rootmenu>
<start>OSD</start>
<info>Info</info>
<guide>ActivateWindow(PVROSDGuide)</guide>
@@ -235,6 +245,8 @@
<MusicOSD>
<remote>
<menu>Back</menu>
+ <contentsmenu>Back</contentsmenu>
+ <rootmenu>Back</rootmenu>
<title>Info</title>
<info>CodecInfo</info>
</remote>
@@ -242,11 +254,15 @@
<VisualisationSettings>
<remote>
<menu>Back</menu>
+ <contentsmenu>Back</contentsmenu>
+ <rootmenu>Back</rootmenu>
</remote>
</VisualisationSettings>
<VisualisationPresetList>
<remote>
<menu>Back</menu>
+ <contentsmenu>Back</contentsmenu>
+ <rootmenu>Back</rootmenu>
</remote>
</VisualisationPresetList>
<SlideShow>
@@ -285,12 +301,16 @@
<VideoOSD>
<remote>
<menu>Back</menu>
+ <contentsmenu>Back</contentsmenu>
+ <rootmenu>Back</rootmenu>
<start>Back</start>
</remote>
</VideoOSD>
<VideoMenu>
<remote>
<menu>OSD</menu>
+ <contentsmenu>OSD</contentsmenu>
+ <rootmenu>OSD</rootmenu>
<info>Info</info>
<title>CodecInfo</title>
<zero>Number0</zero>
@@ -311,18 +331,24 @@
<OSDVideoSettings>
<remote>
<menu>Back</menu>
+ <contentsmenu>Back</contentsmenu>
+ <rootmenu>Back</rootmenu>
<start>Back</start>
</remote>
</OSDVideoSettings>
<OSDAudioSettings>
<remote>
<menu>Back</menu>
+ <contentsmenu>Back</contentsmenu>
+ <rootmenu>Back</rootmenu>
<start>Back</start>
</remote>
</OSDAudioSettings>
<VideoBookmarks>
<remote>
<menu>Back</menu>
+ <contentsmenu>Back</contentsmenu>
+ <rootmenu>Back</rootmenu>
<start>Back</start>
<zero>Delete</zero>
</remote>
@@ -493,11 +519,15 @@
<LockSettings>
<remote>
<menu>Back</menu>
+ <contentsmenu>Back</contentsmenu>
+ <rootmenu>Back</rootmenu>
</remote>
</LockSettings>
<ProfileSettings>
<remote>
<menu>Back</menu>
+ <contentsmenu>Back</contentsmenu>
+ <rootmenu>Back</rootmenu>
</remote>
</ProfileSettings>
<PictureInfo>
@@ -525,6 +555,8 @@
<blue>Blue</blue>
<info>Info</info>
<menu>Back</menu>
+ <contentsmenu>Back</contentsmenu>
+ <rootmenu>Back</rootmenu>
<start>Back</start>
<teletext>Back</teletext>
</remote>
@@ -554,6 +586,8 @@
<remote>
<back>Close</back>
<menu>Close</menu>
+ <contentsmenu>Close</contentsmenu>
+ <rootmenu>Close</rootmenu>
<start>Close</start>
<playlist>Close</playlist>
</remote>
@@ -562,6 +596,8 @@
<remote>
<back>Close</back>
<menu>Close</menu>
+ <contentsmenu>Close</contentsmenu>
+ <rootmenu>Close</rootmenu>
<start>Close</start>
<guide>Close</guide>
</remote>
@@ -570,12 +606,16 @@
<remote>
<back>Close</back>
<menu>Close</menu>
+ <contentsmenu>Close</contentsmenu>
+ <rootmenu>Close</rootmenu>
</remote>
</PVROSDDirector>
<PVROSDCutter>
<remote>
<back>Close</back>
<menu>Close</menu>
+ <contentsmenu>Close</contentsmenu>
+ <rootmenu>Close</rootmenu>
</remote>
</PVROSDCutter>
<MyTVSettings>
diff --git a/xbmc/input/ButtonTranslator.cpp b/xbmc/input/ButtonTranslator.cpp
index 467fadd60e..0e99bdc501 100644
--- a/xbmc/input/ButtonTranslator.cpp
+++ b/xbmc/input/ButtonTranslator.cpp
@@ -1408,6 +1408,10 @@ uint32_t CButtonTranslator::TranslateRemoteString(const char *szButton)
else if (strButton == "subtitle") buttonCode = XINPUT_IR_REMOTE_SUBTITLE;
else if (strButton == "language") buttonCode = XINPUT_IR_REMOTE_LANGUAGE;
else if (strButton == "eject") buttonCode = XINPUT_IR_REMOTE_EJECT;
+ else if (strButton == "contentsmenu") buttonCode = XINPUT_IR_REMOTE_CONTENTS_MENU;
+ else if (strButton == "rootmenu") buttonCode = XINPUT_IR_REMOTE_ROOT_MENU;
+ else if (strButton == "topmenu") buttonCode = XINPUT_IR_REMOTE_TOP_MENU;
+ else if (strButton == "dvdmenu") buttonCode = XINPUT_IR_REMOTE_DVD_MENU;
else if (strButton == "print") buttonCode = XINPUT_IR_REMOTE_PRINT;
else CLog::Log(LOGERROR, "Remote Translator: Can't find button %s", strButton.c_str());
return buttonCode;
diff --git a/xbmc/input/XBIRRemote.h b/xbmc/input/XBIRRemote.h
index 1f73b5d26a..fe9da2c7a1 100644
--- a/xbmc/input/XBIRRemote.h
+++ b/xbmc/input/XBIRRemote.h
@@ -94,6 +94,10 @@
#define XINPUT_IR_REMOTE_EPG_SEARCH 246
#define XINPUT_IR_REMOTE_EJECT 235
+#define XINPUT_IR_REMOTE_CONTENTS_MENU 236
+#define XINPUT_IR_REMOTE_ROOT_MENU 237
+#define XINPUT_IR_REMOTE_TOP_MENU 238
+#define XINPUT_IR_REMOTE_DVD_MENU 239
#define XINPUT_IR_REMOTE_PRINT 240
diff --git a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
index b4b5d2f044..1a8fd5949f 100644
--- a/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
+++ b/xbmc/peripherals/devices/PeripheralCecAdapter.cpp
@@ -855,8 +855,22 @@ void CPeripheralCecAdapter::PushCecKeypress(const cec_keypress &key)
PushCecKeypress(xbmcKey);
break;
case CEC_USER_CONTROL_CODE_CONTENTS_MENU:
- case CEC_USER_CONTROL_CODE_FAVORITE_MENU:
+ xbmcKey.iButton = XINPUT_IR_REMOTE_CONTENTS_MENU;
+ PushCecKeypress(xbmcKey);
+ break;
case CEC_USER_CONTROL_CODE_ROOT_MENU:
+ xbmcKey.iButton = XINPUT_IR_REMOTE_ROOT_MENU;
+ PushCecKeypress(xbmcKey);
+ break;
+ case CEC_USER_CONTROL_CODE_TOP_MENU:
+ xbmcKey.iButton = XINPUT_IR_REMOTE_TOP_MENU;
+ PushCecKeypress(xbmcKey);
+ break;
+ case CEC_USER_CONTROL_CODE_DVD_MENU:
+ xbmcKey.iButton = XINPUT_IR_REMOTE_DVD_MENU;
+ PushCecKeypress(xbmcKey);
+ break;
+ case CEC_USER_CONTROL_CODE_FAVORITE_MENU:
xbmcKey.iButton = XINPUT_IR_REMOTE_MENU;
PushCecKeypress(xbmcKey);
break;
@@ -1053,6 +1067,11 @@ void CPeripheralCecAdapter::PushCecKeypress(const cec_keypress &key)
case CEC_USER_CONTROL_CODE_SELECT_AV_INPUT_FUNCTION:
case CEC_USER_CONTROL_CODE_SELECT_AUDIO_INPUT_FUNCTION:
case CEC_USER_CONTROL_CODE_F5:
+ case CEC_USER_CONTROL_CODE_NUMBER_ENTRY_MODE:
+ case CEC_USER_CONTROL_CODE_NUMBER11:
+ case CEC_USER_CONTROL_CODE_NUMBER12:
+ case CEC_USER_CONTROL_CODE_SELECT_BROADCAST_TYPE:
+ case CEC_USER_CONTROL_CODE_SELECT_SOUND_PRESENTATION:
case CEC_USER_CONTROL_CODE_UNKNOWN:
default:
break;