repositories
/
deb_libcec.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'ghuron/patch-1'. corrected CEC_OPCODE_DEVICE_VENDOR_ID. closes #5
[deb_libcec.git]
/
src
/
lib
/
implementations
/
ANCommandHandler.cpp
diff --git
a/src/lib/implementations/ANCommandHandler.cpp
b/src/lib/implementations/ANCommandHandler.cpp
index 575c4c3ac20fb478ab3cbbadd9ee1a36e61443d9..3da959eb5939f61c2e1189cddac4abbe1d297bfc 100644
(file)
--- a/
src/lib/implementations/ANCommandHandler.cpp
+++ b/
src/lib/implementations/ANCommandHandler.cpp
@@
-1,4
+1,3
@@
-#pragma once
/*
* This file is part of the libCEC(R) library.
*
/*
* This file is part of the libCEC(R) library.
*
@@
-32,9
+31,9
@@
*/
#include "ANCommandHandler.h"
*/
#include "ANCommandHandler.h"
-#include "CECBusDevice.h"
-#include "CECProcessor.h"
-#include "util/StdString.h"
+#include "
../devices/
CECBusDevice.h"
+#include "
../
CECProcessor.h"
+#include "
../
util/StdString.h"
using namespace CEC;
using namespace CEC;
@@
-47,25
+46,26
@@
bool CANCommandHandler::HandleVendorRemoteButtonDown(const cec_command &command)
{
if (command.parameters.size > 0)
{
{
if (command.parameters.size > 0)
{
- m_busDevice->GetProcessor()->AddKey();
+ cec_keypress key;
+ key.duration = CEC_BUTTON_TIMEOUT;
+ key.keycode = CEC_USER_CONTROL_CODE_UNKNOWN;
- uint8_t iButton = 0;
switch (command.parameters[0])
{
case CEC_AN_USER_CONTROL_CODE_RETURN:
switch (command.parameters[0])
{
case CEC_AN_USER_CONTROL_CODE_RETURN:
-
iButton = CEC_USER_CONTROL_CODE_PREVIOUS_CHANNEL
;
+
key.keycode = CEC_USER_CONTROL_CODE_EXIT
;
break;
default:
break;
}
break;
default:
break;
}
- if (
iButton > 0 && iButton <= CEC_USER_CONTROL_CODE_MAX
)
+ if (
key.keycode != CEC_USER_CONTROL_CODE_UNKNOWN
)
{
CStdString strLog;
{
CStdString strLog;
- strLog.Format("key pressed: %1x",
iButton
);
+ strLog.Format("key pressed: %1x",
key.keycode
);
m_busDevice->AddLog(CEC_LOG_DEBUG, strLog);
m_busDevice->AddLog(CEC_LOG_DEBUG, strLog);
- m_busDevice->GetProcessor()->
SetCurrentButton((cec_user_control_code) command.parameters[0]
);
+ m_busDevice->GetProcessor()->
AddKey(key
);
}
}
}
}
@@
-74,29
+74,20
@@
bool CANCommandHandler::HandleVendorRemoteButtonDown(const cec_command &command)
bool CANCommandHandler::HandleCommand(const cec_command &command)
{
bool CANCommandHandler::HandleCommand(const cec_command &command)
{
- bool bHandled(
tru
e);
- if (
command.destination == m_busDevice->GetMyLogicalAddress(
))
+ bool bHandled(
fals
e);
+ if (
m_busDevice->MyLogicalAddressContains(command.destination
))
{
switch(command.opcode)
{
case CEC_OPCODE_VENDOR_REMOTE_BUTTON_DOWN:
{
switch(command.opcode)
{
case CEC_OPCODE_VENDOR_REMOTE_BUTTON_DOWN:
+ bHandled = true;
HandleVendorRemoteButtonDown(command);
break;
case CEC_OPCODE_VENDOR_REMOTE_BUTTON_UP:
HandleVendorRemoteButtonDown(command);
break;
case CEC_OPCODE_VENDOR_REMOTE_BUTTON_UP:
+ bHandled = true;
HandleUserControlRelease(command);
break;
default:
HandleUserControlRelease(command);
break;
default:
- bHandled = false;
- break;
- }
- }
- else if (command.destination == CECDEVICE_BROADCAST)
- {
- switch(command.opcode)
- {
- // TODO
- default:
- bHandled = false;
break;
}
}
break;
}
}