-add alternative remote controls option (thx, patch by bellum)

git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@2060 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
satbaby
2012-01-15 15:44:52 +00:00
parent 2ddfd01562
commit 101870c27a
13 changed files with 210 additions and 81 deletions

View File

@@ -582,14 +582,24 @@ keybindingmenu.channelup Kanal hoch
keybindingmenu.head Tasten-Belegungen bearbeiten
keybindingmenu.lastchannel Letzter Kanal
keybindingmenu.misc Sonstige
keybindingmenu.mode_left_right_key_tv Funktion li/re Tasten im TV-Modus
keybindingmenu.mode_left_right_key_tv_infobar Infobar einblenden
keybindingmenu.mode_left_right_key_tv_volume Lautstärkeregelung
keybindingmenu.mode_left_right_key_tv_vzap Virtual Zap
keybindingmenu.mode_left_right_key_tv_zap Umschalten
keybindingmenu.modechange Moduswechsel
keybindingmenu.pagedown Seite weiter
keybindingmenu.pageup Seite zurück
keybindingmenu.poweroff Umschalter
keybindingmenu.quickzap Schnellumschaltung
keybindingmenu.remotecontrol Typ
keybindingmenu.remotecontrol_neo1 Neo1
keybindingmenu.remotecontrol_standard Standard
keybindingmenu.remotecontrol_hardware Hardware
keybindingmenu.remotecontrol_hardware_coolstream Coolstream
keybindingmenu.remotecontrol_hardware_dbox dbox
keybindingmenu.remotecontrol_hardware_msg_part1 Die Fernbedienung wurde von '
keybindingmenu.remotecontrol_hardware_msg_part2 ' auf '
keybindingmenu.remotecontrol_hardware_msg_part3 ' geändert.\nIst dies korrekt?\nBitte die Auswahl innerhalb 15 Sekunden mit der neuen Fernbedienung\nbestätigen. Ansonsten wird die Auswahl zurückgesetzt.
keybindingmenu.remotecontrol_hardware_philips Philips
keybindingmenu.remotecontrol_hardware_tripledragon Triple Dragon
keybindingmenu.repeatblock Anfangsverzögerung
keybindingmenu.repeatblockgeneric Wiederholungsverzögerung
keybindingmenu.sort Sortierreihenfolge ändern
@@ -726,7 +736,6 @@ miscsettings.shutdown_count_hint2 den Deep-Standby geschalten wird (0 = aus)
miscsettings.shutdown_real Standbymodus
miscsettings.shutdown_real_rcdelay Verzögertes Ausschalten
miscsettings.sleeptimer Ausschalten nach Inaktivität
miscsettings.virtual_zap_mode Virtual Zap
miscsettings.zapto_pre_time Umschaltstart-Vorlaufzeit (Minuten)
motorcontrol.calc_positions Positionen (Neu)-Berechne(n))
motorcontrol.disable_limit Deaktiviere (soft) Limit

View File

@@ -582,14 +582,24 @@ keybindingmenu.channelup channel up
keybindingmenu.head Edit Keybindings
keybindingmenu.lastchannel Quick Zap
keybindingmenu.misc Misc
keybindingmenu.mode_left_right_key_tv Left/Right Key Behavior in TV-Mode
keybindingmenu.mode_left_right_key_tv_infobar Show Infobar
keybindingmenu.mode_left_right_key_tv_volume Volume Control
keybindingmenu.mode_left_right_key_tv_vzap Virtual Zap
keybindingmenu.mode_left_right_key_tv_zap Zap
keybindingmenu.modechange Modechange
keybindingmenu.pagedown page down
keybindingmenu.pageup page up
keybindingmenu.poweroff Power toggle
keybindingmenu.quickzap Quickzap
keybindingmenu.remotecontrol Type
keybindingmenu.remotecontrol_neo1 Neo1
keybindingmenu.remotecontrol_standard Standard
keybindingmenu.remotecontrol_hardware Hardware
keybindingmenu.remotecontrol_hardware_coolstream Coolstream
keybindingmenu.remotecontrol_hardware_dbox dbox
keybindingmenu.remotecontrol_hardware_msg_part1 The remote control has been changed from '
keybindingmenu.remotecontrol_hardware_msg_part2 ' to '
keybindingmenu.remotecontrol_hardware_msg_part3 ' \nIs this correct?\nPlease confirm the selection within 15 seconds by using the new remote control.\nOtherwise the selection will be reverted.
keybindingmenu.remotecontrol_hardware_philips Philips
keybindingmenu.remotecontrol_hardware_tripledragon Triple Dragon
keybindingmenu.repeatblock generic delay
keybindingmenu.repeatblockgeneric repeat delay
keybindingmenu.sort change sort order
@@ -726,7 +736,6 @@ miscsettings.shutdown_count_hint2 to deep standby (0 = off).
miscsettings.shutdown_real Enable standby
miscsettings.shutdown_real_rcdelay Delayed shutdown
miscsettings.sleeptimer Inactivity shutdown timer
miscsettings.virtual_zap_mode Virtual zap
miscsettings.zapto_pre_time Zapto Start Time Correction (minutes)
motorcontrol.calc_positions (Re)-Calculate Positions
motorcontrol.disable_limit Disable (soft) Limits

View File

@@ -70,10 +70,10 @@ static struct termio orig_termio;
static bool saved_orig_termio = false;
#endif /* KEYBOARD_INSTEAD_OF_REMOTE_CONTROL */
/**************************************************************************
* Constructor - opens rc-input device and starts threads
/*********************************************************************************
* Constructor - opens rc-input device, selects rc-hardware and starts threads
*
**************************************************************************/
*********************************************************************************/
CRCInput::CRCInput()
{
timerid= 1;
@@ -139,6 +139,9 @@ CRCInput::CRCInput()
repeat_block = repeat_block_generic = 0;
open();
rc_last_key = KEY_MAX;
//select and setup remote control hardware
set_rc_hw();
}
void CRCInput::open()
@@ -153,7 +156,7 @@ void CRCInput::open()
{
fcntl(fd_rc[i], F_SETFL, O_NONBLOCK);
}
printf("CRCInput::open: %s fd %d\n", RC_EVENT_DEVICE[i], fd_rc[i]);
printf("CRCInput::open: %s fd %d\n", RC_EVENT_DEVICE[i], fd_rc[i]);
}
//+++++++++++++++++++++++++++++++++++++++
@@ -1524,3 +1527,66 @@ void CRCInput::set_dsp()
void CRCInput::play_click()
{
}
// hint: ir_protocol_t and other useful things are defined in nevis_ir.h
void CRCInput::set_rc_hw(ir_protocol_t ir_protocol, unsigned int ir_address)
{
int ioctl_ret = -1;
//fixme?: for now fd_rc[] is hardcoded to 0 since only fd_rc[0] is used at the moment
ioctl_ret = ::ioctl(fd_rc[0], IOC_IR_SET_PRI_PROTOCOL, ir_protocol);
if(ioctl_ret < 0)
perror("IOC_IR_SET_PRI_PROTOCOL");
else
printf("CRCInput::set_rc_hw: Set IOCTRL : IOC_IR_SET_PRI_PROTOCOL, %05X\n", ir_protocol);
//bypass setting of IR Address with ir_address=0
if(ir_address > 0)
{
//fixme?: for now fd_rc[] is hardcoded to 0 since only fd_rc[0] is used at the moment
ioctl_ret = ::ioctl(fd_rc[0], IOC_IR_SET_PRI_ADDRESS, ir_address);
if(ioctl_ret < 0)
perror("IOC_IR_SET_PRI_ADDRESS");
else
printf("CRCInput::set_rc_hw: Set IOCTRL : IOC_IR_SET_PRI_ADDRESS, %05X\n", ir_address);
}
}
// hint: ir_protocol_t and other useful things are defined in nevis_ir.h
void CRCInput::set_rc_hw(void)
{
ir_protocol_t ir_protocol = IR_PROTOCOL_UNKNOWN;
unsigned int ir_address = 0x00;
switch(g_settings.remote_control_hardware)
{
case RC_HW_COOLSTREAM:
ir_protocol = IR_PROTOCOL_NECE;
ir_address = 0xFF80;
break;
case RC_HW_DBOX:
ir_protocol = IR_PROTOCOL_NRC17;
ir_address = 0x00C5;
break;
case RC_HW_PHILIPS:
ir_protocol = IR_PROTOCOL_RC5;
ir_address = 0x000A;
break;
case RC_HW_TRIPLEDRAGON:
ir_protocol = IR_PROTOCOL_RMAP_E;
ir_address = 0x000A; // with device id 0
// ir_address = 0x100A; // with device id 1
// ir_address = 0x200A; // with device id 2
// ir_address = 0x300A; // with device id 3
// ir_address = 0x400A; // with device id 4
// ir_address = 0x500A; // with device id 5
// ir_address = 0x600A; // with device id 6
// ir_address = 0x700A; // with device id 7
break;
default:
ir_protocol = IR_PROTOCOL_NECE;
ir_address = 0xFF80;
}
set_rc_hw(ir_protocol, ir_address);
}

View File

@@ -37,6 +37,7 @@
#include <sys/types.h>
#include <string>
#include <vector>
#include <coolstream/nevis_ir.h>
#ifndef KEY_OK
#define KEY_OK 0x160
@@ -148,6 +149,7 @@ class CRCInput
int translate(int code, int num);
void calculateMaxFd(void);
int checkTimers();
void set_rc_hw(ir_protocol_t ir_protocol, unsigned int ir_address);
public:
//rc-code definitions
static const neutrino_msg_t RC_Repeat = 0x0400;
@@ -242,6 +244,16 @@ class CRCInput
RC_nokey = 0xFFFFFFFE
};
//rc-hardware definitions
enum
{
RC_HW_COOLSTREAM = 0,
RC_HW_DBOX = 1,
RC_HW_PHILIPS = 2,
RC_HW_TRIPLEDRAGON = 3,
};
void set_rc_hw(void);
inline int getFileHandle(void) /* used for plugins (i.e. games) only */
{
return fd_rc[0];

View File

@@ -48,7 +48,6 @@
#include <neutrino.h>
#include <gui/infoviewer.h>
#include <gui/keybind_setup.h>
#include <gui/bouquetlist.h>
#include <gui/widget/icons.h>
#include <gui/widget/hintbox.h>
@@ -864,8 +863,7 @@ void CInfoViewer::loop(bool show_dot)
showIcon_16_9();
showIcon_Resolution();
} else if ((g_settings.remote_control_hardware != CKeybindSetup::REMOTECONTROL_NEO1) &&
( g_settings.virtual_zap_mode && ((msg == CRCInput::RC_right) || msg == CRCInput::RC_left ))) {
} else if ((g_settings.mode_left_right_key_tv == SNeutrinoSettings::VZAP) && ((msg == CRCInput::RC_right) || (msg == CRCInput::RC_left ))) {
virtual_zap_mode = true;
res = messages_return::cancel_all;
hideIt = true;

View File

@@ -42,6 +42,7 @@
#include <neutrino_menue.h>
#include <gui/widget/icons.h>
#include <gui/widget/messagebox.h>
#include <gui/widget/stringinput.h>
#include "gui/filebrowser.h"
@@ -102,15 +103,26 @@ int CKeybindSetup::exec(CMenuTarget* parent, const std::string &actionKey)
}
res = showKeySetup();
return res;
}
#define KEYBINDINGMENU_REMOTECONTROL_OPTION_COUNT 2
const CMenuOptionChooser::keyval KEYBINDINGMENU_REMOTECONTROL_OPTIONS[KEYBINDINGMENU_REMOTECONTROL_OPTION_COUNT] =
#define KEYBINDINGMENU_REMOTECONTROL_HARDWARE_OPTION_COUNT 4
const CMenuOptionChooser::keyval KEYBINDINGMENU_REMOTECONTROL_HARDWARE_OPTIONS[KEYBINDINGMENU_REMOTECONTROL_HARDWARE_OPTION_COUNT] =
{
{ CKeybindSetup::REMOTECONTROL_STANDARD, LOCALE_KEYBINDINGMENU_REMOTECONTROL_STANDARD },
{ CKeybindSetup::REMOTECONTROL_NEO1, LOCALE_KEYBINDINGMENU_REMOTECONTROL_NEO1 }
{ CRCInput::RC_HW_COOLSTREAM, LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_COOLSTREAM },
{ CRCInput::RC_HW_DBOX, LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_DBOX },
{ CRCInput::RC_HW_PHILIPS, LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_PHILIPS },
{ CRCInput::RC_HW_TRIPLEDRAGON, LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_TRIPLEDRAGON }
};
#define KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV_COUNT 4
const CMenuOptionChooser::keyval KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV_OPTIONS[KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV_COUNT] =
{
{ SNeutrinoSettings::ZAP, LOCALE_KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV_ZAP },
{ SNeutrinoSettings::VZAP, LOCALE_KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV_VZAP },
{ SNeutrinoSettings::VOLUME, LOCALE_KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV_VOLUME },
{ SNeutrinoSettings::INFOBAR, LOCALE_KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV_INFOBAR }
};
#define KEYBINDINGMENU_BOUQUETHANDLING_OPTION_COUNT 3
@@ -174,12 +186,22 @@ const key_settings_struct_t key_settings[CKeybindSetup::KEYBINDS_COUNT] =
int CKeybindSetup::showKeySetup()
{
//save original rc hardware selection and initialize text strings
int org_remote_control_hardware = g_settings.remote_control_hardware;
char RC_HW_str[4][32];
snprintf(RC_HW_str[CRCInput::RC_HW_COOLSTREAM], sizeof(RC_HW_str[CRCInput::RC_HW_COOLSTREAM])-1, "%s", g_Locale->getText(LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_COOLSTREAM));
snprintf(RC_HW_str[CRCInput::RC_HW_DBOX], sizeof(RC_HW_str[CRCInput::RC_HW_DBOX])-1, "%s", g_Locale->getText(LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_DBOX));
snprintf(RC_HW_str[CRCInput::RC_HW_PHILIPS], sizeof(RC_HW_str[CRCInput::RC_HW_PHILIPS])-1, "%s", g_Locale->getText(LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_PHILIPS));
snprintf(RC_HW_str[CRCInput::RC_HW_TRIPLEDRAGON], sizeof(RC_HW_str[CRCInput::RC_HW_TRIPLEDRAGON])-1, "%s", g_Locale->getText(LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_TRIPLEDRAGON));
char RC_HW_msg[256];
snprintf(RC_HW_msg, sizeof(RC_HW_msg)-1, "%s", g_Locale->getText(LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_MSG_PART1));
//keysetup menu
CMenuWidget* keySettings = new CMenuWidget(LOCALE_MAINSETTINGS_HEAD, NEUTRINO_ICON_KEYBINDING, width, MN_WIDGET_ID_KEYSETUP);
keySettings->addIntroItems(LOCALE_MAINSETTINGS_KEYBINDING);
//keybindings menu
CMenuWidget* bindSettings = new CMenuWidget(LOCALE_MAINSETTINGS_HEAD, NEUTRINO_ICON_KEYBINDING, width, MN_WIDGET_ID_KEYSETUP_KEYBINDING);
keySettings->addIntroItems(LOCALE_MAINSETTINGS_KEYBINDING);
//keybindings
int shortcut = 1;
@@ -196,13 +218,26 @@ int CKeybindSetup::showKeySetup()
keySetupNotifier->changeNotify(NONEXISTANT_LOCALE, NULL);
keySettings->addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_KEYBINDINGMENU_RC));
keySettings->addItem(new CMenuOptionChooser(LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE, &g_settings.remote_control_hardware, KEYBINDINGMENU_REMOTECONTROL_HARDWARE_OPTIONS, KEYBINDINGMENU_REMOTECONTROL_HARDWARE_OPTION_COUNT, true));
keySettings->addItem(new CMenuForwarder(LOCALE_KEYBINDINGMENU_REPEATBLOCK, true, g_settings.repeat_blocker, keySettings_repeatBlocker));
keySettings->addItem(new CMenuForwarder(LOCALE_KEYBINDINGMENU_REPEATBLOCKGENERIC, true, g_settings.repeat_genericblocker, keySettings_repeat_genericblocker));
keySettings->addItem(new CMenuOptionChooser(LOCALE_KEYBINDINGMENU_REMOTECONTROL, &g_settings.remote_control_hardware, KEYBINDINGMENU_REMOTECONTROL_OPTIONS, KEYBINDINGMENU_REMOTECONTROL_OPTION_COUNT, true));
int res = keySettings->exec(NULL, "");
keySettings->hide();
//check if rc hardware selection has changed before leaving the menu
if (org_remote_control_hardware != g_settings.remote_control_hardware) {
g_RCInput->CRCInput::set_rc_hw();
strcat(RC_HW_msg, RC_HW_str[org_remote_control_hardware]);
strcat(RC_HW_msg, g_Locale->getText(LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_MSG_PART2));
strcat(RC_HW_msg, RC_HW_str[g_settings.remote_control_hardware]);
strcat(RC_HW_msg, g_Locale->getText(LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_MSG_PART3));
if(ShowMsgUTF(LOCALE_MESSAGEBOX_INFO, RC_HW_msg, CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo, NEUTRINO_ICON_INFO, 450, 15, true) == CMessageBox::mbrNo) {
g_settings.remote_control_hardware = org_remote_control_hardware;
g_RCInput->CRCInput::set_rc_hw();
}
}
delete keySettings;
return res;
}
@@ -244,8 +279,8 @@ void CKeybindSetup::showKeyBindSetup(CMenuWidget *bindSettings)
bindSettings->addItem(new CMenuOptionChooser(LOCALE_SCREENSHOT_FORMAT, &g_settings.screenshot_format, KEYBINDINGMENU_SCREENSHOT_FMT_OPTIONS, KEYBINDINGMENU_SCREENSHOT_FMT_OPTION_COUNT, true));
//bindSettings->addItem(new CMenuOptionChooser(LOCALE_EXTRA_ZAP_CYCLE, &g_settings.zap_cycle, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true));
bindSettings->addItem(new CMenuOptionChooser(LOCALE_EXTRA_MENU_LEFT_EXIT, &g_settings.menu_left_exit, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true));
bindSettings->addItem(new CMenuOptionChooser(LOCALE_EXTRA_AUDIO_RUN_PLAYER, &g_settings.audio_run_player, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true));
bindSettings->addItem(new CMenuOptionChooser(LOCALE_KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV, &g_settings.mode_left_right_key_tv, KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV_OPTIONS, KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV_COUNT, true));
}
void CKeybindSetup::showKeyBindModeSetup(CMenuWidget *bindSettings_modes)

View File

@@ -79,19 +79,10 @@ class CKeybindSetup : public CMenuTarget
KEYBINDS_COUNT
};
enum remote_control_t
{
REMOTECONTROL_STANDARD = 0,
REMOTECONTROL_NEO1 = 1,
REMOTECONTROL_COUNT
};
private:
CFrameBuffer *frameBuffer;
CKeySetupNotifier *keySetupNotifier;
CKeyChooser * keychooser[KEYBINDS_COUNT];
CKeyChooser *keychooser[KEYBINDS_COUNT];
int width;
int showKeySetup();

View File

@@ -50,7 +50,6 @@
#include <gui/widget/icons.h>
#include <gui/widget/colorchooser.h>
#include <gui/widget/stringinput.h>
#include <gui/keybind_setup.h>
#include <driver/screen_max.h>
@@ -69,8 +68,6 @@ COsdSetup::COsdSetup(bool wizard_mode)
fontsizenotifier = new CFontSizeNotifier;
radiotextNotifier = NULL;
osd_menu = NULL;
tmp_virtual_zap_mode = 0;
is_wizard = wizard_mode;
@@ -274,16 +271,8 @@ int COsdSetup::exec(CMenuTarget* parent, const std::string &actionKey)
return menu_return::RETURN_REPAINT;
}
// Display virtual zap = off when RC neo1
tmp_virtual_zap_mode = (g_settings.remote_control_hardware == CKeybindSetup::REMOTECONTROL_STANDARD) ? g_settings.virtual_zap_mode : false;
int res = showOsdSetup();
// Restore g_settings.virtual_zap_mode
if (g_settings.remote_control_hardware == CKeybindSetup::REMOTECONTROL_STANDARD)
g_settings.virtual_zap_mode = tmp_virtual_zap_mode;
//return menu_return::RETURN_REPAINT;
return res;
}
@@ -617,10 +606,6 @@ void COsdSetup::showOsdInfobarSetup(CMenuWidget *menu_infobar)
menu_infobar->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_INFOBAR_CASYSTEM_DISPLAY, &g_settings.casystem_display, INFOBAR_CASYSTEM_MODE_OPTIONS, INFOBAR_CASYSTEM_MODE_OPTION_COUNT, true));
menu_infobar->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_INFOBAR_DISP_LOG, &g_settings.infobar_show_channellogo, LOCALE_MISCSETTINGS_INFOBAR_DISP_OPTIONS, LOCALE_MISCSETTINGS_INFOBAR_DISP_OPTIONS_COUNT, true));
menu_infobar->addItem(new CMenuForwarder(LOCALE_MISCSETTINGS_INFOBAR_LOGO_HDD_DIR, true, g_settings.logo_hdd_dir, this, "logo_dir"));
// Disable virtual zap when Neo1 remote control
menu_infobar->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_VIRTUAL_ZAP_MODE, &tmp_virtual_zap_mode, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, (g_settings.remote_control_hardware == CKeybindSetup::REMOTECONTROL_STANDARD)));
menu_infobar->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_INFOBAR_SAT_DISPLAY, &g_settings.infobar_sat_display, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true));
menu_infobar->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_INFOBAR_SHOW_VAR_HDD, &g_settings.infobar_show_var_hdd, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true));
menu_infobar->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_INFOBAR_SHOW_RES, &g_settings.infobar_show_res, INFOBAR_SHOW_RES_MODE_OPTIONS, INFOBAR_SHOW_RES_MODE_OPTION_COUNT, true));

View File

@@ -47,10 +47,8 @@ class COsdSetup : public CMenuTarget, public CChangeObserver
CFontSizeNotifier *fontsizenotifier;
CRadiotextNotifier *radiotextNotifier;
CMenuWidget *osd_menu;
int tmp_virtual_zap_mode;
int width;
bool is_wizard;
int showOsdSetup();

View File

@@ -66,7 +66,6 @@
#include "gui/filebrowser.h"
#include "gui/hdd_menu.h"
#include "gui/infoviewer.h"
#include "gui/keybind_setup.h"
#include "gui/mediaplayer.h"
#include "gui/movieplayer.h"
#include "gui/osd_setup.h"
@@ -591,8 +590,8 @@ int CNeutrinoApp::loadSetup(const char * fname)
g_settings.cacheTXT = configfile.getInt32( "cacheTXT", 0);
g_settings.minimode = configfile.getInt32( "minimode", 0);
g_settings.mode_clock = configfile.getInt32( "mode_clock", 0);
g_settings.mode_left_right_key_tv = configfile.getInt32( "mode_left_right_key_tv", SNeutrinoSettings::ZAP);
g_settings.zapto_pre_time = configfile.getInt32( "zapto_pre_time", 0);
g_settings.virtual_zap_mode = configfile.getBool("virtual_zap_mode" , false);
g_settings.spectrum = configfile.getBool("spectrum" , false);
g_settings.channellist_epgtext_align_right = configfile.getBool("channellist_epgtext_align_right" , false);
g_settings.channellist_extended = configfile.getBool("channellist_extended" , true);
@@ -623,7 +622,7 @@ int CNeutrinoApp::loadSetup(const char * fname)
g_settings.bigFonts = configfile.getInt32("bigFonts", 0);
g_settings.big_windows = configfile.getInt32("big_windows", 0);
g_settings.remote_control_hardware = configfile.getInt32( "remote_control_hardware", CKeybindSetup::REMOTECONTROL_STANDARD);
g_settings.remote_control_hardware = configfile.getInt32( "remote_control_hardware", CRCInput::RC_HW_COOLSTREAM);
g_settings.audiochannel_up_down_enable = configfile.getBool("audiochannel_up_down_enable", false);
//Software-update
@@ -1001,7 +1000,7 @@ void CNeutrinoApp::saveSetup(const char * fname)
configfile.setInt32( "cacheTXT", g_settings.cacheTXT );
configfile.setInt32( "minimode", g_settings.minimode );
configfile.setInt32( "mode_clock", g_settings.mode_clock );
configfile.setBool("virtual_zap_mode", g_settings.virtual_zap_mode);
configfile.setInt32( "mode_left_right_key_tv", g_settings.mode_left_right_key_tv );
configfile.setInt32( "zapto_pre_time", g_settings.zapto_pre_time );
configfile.setBool("spectrum", g_settings.spectrum);
configfile.setBool("channellist_epgtext_align_right", g_settings.channellist_epgtext_align_right);
@@ -1947,7 +1946,7 @@ void CNeutrinoApp::RealRun(CMenuWidget &mainMenu)
//cCA::GetInstance()->Ready(true);
while( true ) {
g_RCInput->getMsg(&msg, &data, 100, ((g_settings.remote_control_hardware == CKeybindSetup::REMOTECONTROL_NEO1) && (g_RemoteControl->subChannels.size() < 1)) ? true : false); // 10 secs..
g_RCInput->getMsg(&msg, &data, 100, ((g_settings.mode_left_right_key_tv == SNeutrinoSettings::VOLUME) && (g_RemoteControl->subChannels.size() < 1)) ? true : false); // 10 secs..
if( ( mode == mode_tv ) || ( ( mode == mode_radio ) ) ) {
if( (msg == NeutrinoMessages::SHOW_EPG) /* || (msg == CRCInput::RC_info) */ ) {
@@ -2012,32 +2011,32 @@ void CNeutrinoApp::RealRun(CMenuWidget &mainMenu)
StopSubtitles();
g_RemoteControl->subChannelUp();
g_InfoViewer->showSubchan();
} else if(g_settings.remote_control_hardware == CKeybindSetup::REMOTECONTROL_NEO1) {
setVolume(msg, true);
} else if(g_settings.virtual_zap_mode) {
if(channelList->getSize()) {
showInfo();
}
} else if(g_settings.mode_left_right_key_tv == SNeutrinoSettings::VOLUME) {
setVolume(msg, true);
} else if((g_settings.mode_left_right_key_tv == SNeutrinoSettings::VZAP) || (g_settings.mode_left_right_key_tv == SNeutrinoSettings::INFOBAR)) {
if(channelList->getSize()) {
showInfo();
}
} else
quickZap( msg );
quickZap( msg );
}
else if( msg == (neutrino_msg_t) g_settings.key_subchannel_down ) {
if(g_RemoteControl->subChannels.size()> 0) {
StopSubtitles();
g_RemoteControl->subChannelDown();
g_InfoViewer->showSubchan();
} else if(g_settings.remote_control_hardware == CKeybindSetup::REMOTECONTROL_NEO1) {
setVolume(msg, true);
} else if(g_settings.virtual_zap_mode) {
if(channelList->getSize()) {
showInfo();
}
} else if(g_settings.mode_left_right_key_tv == SNeutrinoSettings::VOLUME) {
setVolume(msg, true);
} else if((g_settings.mode_left_right_key_tv == SNeutrinoSettings::VZAP) || (g_settings.mode_left_right_key_tv == SNeutrinoSettings::INFOBAR)) {
if(channelList->getSize()) {
showInfo();
}
} else
quickZap( msg );
quickZap( msg );
}
/* in case key_subchannel_up/down redefined */
else if( msg == CRCInput::RC_left || msg == CRCInput::RC_right) {
if(g_settings.remote_control_hardware == CKeybindSetup::REMOTECONTROL_NEO1) {
if(g_settings.mode_left_right_key_tv == SNeutrinoSettings::VOLUME) {
setVolume(msg, true);
} else if(channelList->getSize()) {
showInfo();
@@ -3171,7 +3170,7 @@ printf("CNeutrinoApp::setVolume dx %d dy %d\n", dx, dy);
if (msg <= CRCInput::RC_MaxRC)
{
int sub_chan_keybind = 0;
if (g_settings.remote_control_hardware == CKeybindSetup::REMOTECONTROL_NEO1 && g_RemoteControl->subChannels.size() < 1)
if (g_settings.mode_left_right_key_tv == SNeutrinoSettings::VOLUME && g_RemoteControl->subChannels.size() < 1)
sub_chan_keybind = 1;
if ((msg == CRCInput::RC_plus) || (sub_chan_keybind == 1 && (msg == CRCInput::RC_right))) {

View File

@@ -609,14 +609,24 @@ typedef enum
LOCALE_KEYBINDINGMENU_HEAD,
LOCALE_KEYBINDINGMENU_LASTCHANNEL,
LOCALE_KEYBINDINGMENU_MISC,
LOCALE_KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV,
LOCALE_KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV_INFOBAR,
LOCALE_KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV_VOLUME,
LOCALE_KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV_VZAP,
LOCALE_KEYBINDINGMENU_MODE_LEFT_RIGHT_KEY_TV_ZAP,
LOCALE_KEYBINDINGMENU_MODECHANGE,
LOCALE_KEYBINDINGMENU_PAGEDOWN,
LOCALE_KEYBINDINGMENU_PAGEUP,
LOCALE_KEYBINDINGMENU_POWEROFF,
LOCALE_KEYBINDINGMENU_QUICKZAP,
LOCALE_KEYBINDINGMENU_REMOTECONTROL,
LOCALE_KEYBINDINGMENU_REMOTECONTROL_NEO1,
LOCALE_KEYBINDINGMENU_REMOTECONTROL_STANDARD,
LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE,
LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_COOLSTREAM,
LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_DBOX,
LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_MSG_PART1,
LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_MSG_PART2,
LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_MSG_PART3,
LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_PHILIPS,
LOCALE_KEYBINDINGMENU_REMOTECONTROL_HARDWARE_TRIPLEDRAGON,
LOCALE_KEYBINDINGMENU_REPEATBLOCK,
LOCALE_KEYBINDINGMENU_REPEATBLOCKGENERIC,
LOCALE_KEYBINDINGMENU_SORT,
@@ -753,7 +763,6 @@ typedef enum
LOCALE_MISCSETTINGS_SHUTDOWN_REAL,
LOCALE_MISCSETTINGS_SHUTDOWN_REAL_RCDELAY,
LOCALE_MISCSETTINGS_SLEEPTIMER,
LOCALE_MISCSETTINGS_VIRTUAL_ZAP_MODE,
LOCALE_MISCSETTINGS_ZAPTO_PRE_TIME,
LOCALE_MOTORCONTROL_CALC_POSITIONS,
LOCALE_MOTORCONTROL_DISABLE_LIMIT,

View File

@@ -609,14 +609,24 @@ const char * locale_real_names[] =
"keybindingmenu.head",
"keybindingmenu.lastchannel",
"keybindingmenu.misc",
"keybindingmenu.mode_left_right_key_tv",
"keybindingmenu.mode_left_right_key_tv_infobar",
"keybindingmenu.mode_left_right_key_tv_volume",
"keybindingmenu.mode_left_right_key_tv_vzap",
"keybindingmenu.mode_left_right_key_tv_zap",
"keybindingmenu.modechange",
"keybindingmenu.pagedown",
"keybindingmenu.pageup",
"keybindingmenu.poweroff",
"keybindingmenu.quickzap",
"keybindingmenu.remotecontrol",
"keybindingmenu.remotecontrol_neo1",
"keybindingmenu.remotecontrol_standard",
"keybindingmenu.remotecontrol_hardware",
"keybindingmenu.remotecontrol_hardware_coolstream",
"keybindingmenu.remotecontrol_hardware_dbox",
"keybindingmenu.remotecontrol_hardware_msg_part1",
"keybindingmenu.remotecontrol_hardware_msg_part2",
"keybindingmenu.remotecontrol_hardware_msg_part3",
"keybindingmenu.remotecontrol_hardware_philips",
"keybindingmenu.remotecontrol_hardware_tripledragon",
"keybindingmenu.repeatblock",
"keybindingmenu.repeatblockgeneric",
"keybindingmenu.sort",
@@ -753,7 +763,6 @@ const char * locale_real_names[] =
"miscsettings.shutdown_real",
"miscsettings.shutdown_real_rcdelay",
"miscsettings.sleeptimer",
"miscsettings.virtual_zap_mode",
"miscsettings.zapto_pre_time",
"motorcontrol.calc_positions",
"motorcontrol.disable_limit",

View File

@@ -378,7 +378,16 @@ struct SNeutrinoSettings
int cacheTXT;
int minimode;
int mode_clock;
int virtual_zap_mode;
enum MODE_LEFT_RIGHT_KEY_TV_SETTINGS
{
ZAP = 0,
VZAP = 1,
VOLUME = 2,
INFOBAR = 3
};
int mode_left_right_key_tv;
int spectrum;
int pip_width;
int pip_height;