- if (key.keycode != CEC_USER_CONTROL_CODE_UNKNOWN)
- {
- CLibCEC::AddLog(CEC_LOG_DEBUG, "key pressed: %1x", key.keycode);
- m_busDevice->GetProcessor()->AddKey(key);
- }
+ cec_keypress key;
+ key.duration = CEC_BUTTON_TIMEOUT;
+ key.keycode = CEC_USER_CONTROL_CODE_UNKNOWN;
+
+ switch (command.parameters[0])
+ {
+ case CEC_USER_CONTROL_CODE_AN_RETURN:
+ key.keycode = client && client->GetClientVersion() >= CEC_CLIENT_VERSION_1_5_0 ?
+ CEC_USER_CONTROL_CODE_AN_RETURN :
+ CEC_USER_CONTROL_CODE_EXIT;
+ break;
+ case CEC_USER_CONTROL_CODE_AN_CHANNELS_LIST:
+ key.keycode = CEC_USER_CONTROL_CODE_AN_CHANNELS_LIST;
+ break;
+ default:
+ break;