diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/SetTopBox/IRSetTopBoxBase.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/SetTopBox/IRSetTopBoxBase.cs
index db72d8eb..c9bb4f43 100644
--- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/SetTopBox/IRSetTopBoxBase.cs
+++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/SetTopBox/IRSetTopBoxBase.cs
@@ -28,6 +28,7 @@ namespace PepperDash.Essentials.Devices.Common
public bool HasDvr { get; set; }
public bool HasDpad { get; set; }
public bool HasNumeric { get; set; }
+ private bool _OverrideKeypadEnter;
public DevicePresetsModel TvPresets { get; private set; }
@@ -56,7 +57,31 @@ namespace PepperDash.Essentials.Devices.Common
HasKeypadAccessoryButton2 = true;
KeypadAccessoryButton2Command = "KEYPAD_ENTER";
- KeypadAccessoryButton2Label = "Enter";
+ KeypadAccessoryButton2Label = "Enter";
+
+
+
+ if (props.AccessoryButton1Override != null)
+ {
+ KeypadAccessoryButton1Command = !String.IsNullOrEmpty(props.AccessoryButton1Override.Command)
+ ? props.AccessoryButton1Override.Command
+ : KeypadAccessoryButton1Command;
+ KeypadAccessoryButton1Label = !String.IsNullOrEmpty(props.AccessoryButton1Override.Label)
+ ? props.AccessoryButton1Override.Label
+ : KeypadAccessoryButton1Label;
+ }
+ if (props.AccessoryButton2Override != null)
+ {
+ KeypadAccessoryButton2Command = !String.IsNullOrEmpty(props.AccessoryButton2Override.Command)
+ ? props.AccessoryButton2Override.Command
+ : KeypadAccessoryButton2Command;
+ KeypadAccessoryButton2Label = !String.IsNullOrEmpty(props.AccessoryButton2Override.Label)
+ ? props.AccessoryButton2Override.Label
+ : KeypadAccessoryButton2Label;
+ }
+ _OverrideKeypadEnter = props.UseStandardEnterForKeypad;
+
+
AnyVideoOut = new RoutingOutputPort(RoutingPortNames.AnyVideoOut, eRoutingSignalType.Audio | eRoutingSignalType.Video,
eRoutingPortConnectionType.Hdmi, null, this);
@@ -187,7 +212,7 @@ namespace PepperDash.Essentials.Devices.Common
///
public string KeypadAccessoryButton1Label { get; set; }
-
+
///
/// Defaults to "Dash"
///
@@ -236,7 +261,12 @@ namespace PepperDash.Essentials.Devices.Common
///
public void KeypadEnter(bool pressRelease)
{
- IrPort.PressRelease("numericEnter", pressRelease);
+ if (!_OverrideKeypadEnter)
+ {
+ IrPort.PressRelease("numericEnter", pressRelease);
+ return;
+ }
+ IrPort.PressRelease(IROutputStandardCommands.IROut_ENTER, pressRelease);
}
#endregion
diff --git a/essentials-framework/Essentials Devices Common/Essentials Devices Common/SetTopBox/SetTopBoxPropertiesConfig.cs b/essentials-framework/Essentials Devices Common/Essentials Devices Common/SetTopBox/SetTopBoxPropertiesConfig.cs
index 8faac507..badbf912 100644
--- a/essentials-framework/Essentials Devices Common/Essentials Devices Common/SetTopBox/SetTopBoxPropertiesConfig.cs
+++ b/essentials-framework/Essentials Devices Common/Essentials Devices Common/SetTopBox/SetTopBoxPropertiesConfig.cs
@@ -5,10 +5,11 @@ using System.Text;
using Crestron.SimplSharp;
using PepperDash.Core;
+using PepperDash.Essentials.Core.Config;
namespace PepperDash.Essentials.Devices.Common
{
- public class SetTopBoxPropertiesConfig : PepperDash.Essentials.Core.Config.SourceDevicePropertiesConfigBase
+ public class SetTopBoxPropertiesConfig : SourceDevicePropertiesConfigBase
{
public bool HasPresets { get; set; }
public bool HasDvr { get; set; }
@@ -16,6 +17,31 @@ namespace PepperDash.Essentials.Devices.Common
public bool HasNumeric { get; set; }
public int IrPulseTime { get; set; }
+ public bool UseStandardEnterForKeypad { get; set; }
+
+ public CommandOverride AccessoryButton1Override { get; set; }
+ public CommandOverride AccessoryButton2Override { get; set; }
+ //public List CommandOverrides { get; set; }
+
+
+
+
public ControlPropertiesConfig Control { get; set; }
}
+
+ ///
+ /// Object for overriding standard IR commands
+ ///
+ public class CommandOverride
+ {
+ ///
+ /// The command in essentials to replace
+ ///
+ public string Command { get; set; }
+ ///
+ /// the value to replace the essentials command with
+ ///
+ public string Label { get; set; }
+ }
+
}
\ No newline at end of file