mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-27 23:42:58 +02:00
-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:
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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);
|
||||
}
|
||||
|
@@ -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];
|
||||
|
@@ -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;
|
||||
|
@@ -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)
|
||||
|
@@ -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();
|
||||
|
@@ -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));
|
||||
|
@@ -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();
|
||||
|
@@ -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))) {
|
||||
|
@@ -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,
|
||||
|
@@ -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",
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user