CEC_USER_CONTROL_CODE_F4_YELLOW = 0x74,
CEC_USER_CONTROL_CODE_F5 = 0x75,
CEC_USER_CONTROL_CODE_DATA = 0x76,
- CEC_USER_CONTROL_CODE_MAX = 0x76,
+ CEC_USER_CONTROL_CODE_AN_RETURN = 0x91,
+ CEC_USER_CONTROL_CODE_MAX = 0x91,
CEC_USER_CONTROL_CODE_UNKNOWN
} cec_user_control_code;
-typedef enum cec_an_user_control_code
-{
- CEC_AN_USER_CONTROL_CODE_RETURN = 0x91
-} cec_an_user_control_code;
-
typedef enum cec_logical_address
{
CECDEVICE_UNKNOWN = -1, //not a valid logical address
virtual bool IsActiveSource(cec_logical_address iAddress);
virtual bool IsInitialised(void);
virtual bool SetStreamPath(uint16_t iPhysicalAddress);
+ virtual cec_client_version GetClientVersion(void) const { return m_configuration.clientVersion; };
virtual bool SetActiveView(void);
virtual bool SetActiveSource(cec_device_type type = CEC_DEVICE_TYPE_RESERVED);
switch (command.parameters[0])
{
- case CEC_AN_USER_CONTROL_CODE_RETURN:
- key.keycode = CEC_USER_CONTROL_CODE_EXIT;
+ case CEC_USER_CONTROL_CODE_AN_RETURN:
+ key.keycode = m_processor->GetClientVersion() >= CEC_CLIENT_VERSION_1_5_0 ?
+ CEC_USER_CONTROL_CODE_AN_RETURN :
+ CEC_USER_CONTROL_CODE_EXIT;
break;
default:
break;