summaryrefslogtreecommitdiff
Diffstat
-rw-r--r--tvapi/libtv/tv/CTv.cpp2
-rw-r--r--tvapi/libtv/tvin/CTvin.cpp14
-rw-r--r--tvapi/libtv/tvin/CTvin.h3
-rw-r--r--tvapi/libtv/tvutils/CTvInput.cpp47
4 files changed, 34 insertions, 32 deletions
diff --git a/tvapi/libtv/tvutils/CTvInput.cpp b/tvapi/libtv/tvutils/CTvInput.cpp
index 87d7352..7e3af96 100644
--- a/tvapi/libtv/tvutils/CTvInput.cpp
+++ b/tvapi/libtv/tvutils/CTvInput.cpp
@@ -5,14 +5,19 @@
#include <fcntl.h>
#include <CTvLog.h>
#include <utils/Timers.h>
+
#define LOG_TAG "FBC"
+
+#define SEND_KEY_ACTION_UP 0x00
+#define SEND_KEY_ACTION_DOWN 0x01
+
CTvInput::CTvInput()
{
mKeyEventFd_IR = open(KEY_EVENT_0, O_RDWR);
mKeyEventFd = open(KEY_EVENT_1, O_RDWR);
if (mKeyEventFd < 0 || mKeyEventFd_IR < 0) {
LOGD( "could not open /dev/input/event1\n ");
- return ;
+ return;
}
mRepeatKeyCode = -1;
mRepeatKeydisTime = -1;
@@ -38,7 +43,7 @@ void CTvInput::sendkeyEvent(const int &type, const int &code, const int &value)
ret = write(mKeyEventFd, &event, sizeof(event));
if (ret < sizeof(event)) {
LOGD("sendkeyEvent :write event failed, %s\n", strerror(errno));
- return ;
+ return;
}
}
@@ -54,53 +59,55 @@ void CTvInput::sendIRkeyEvent(const int &type, const int &code, const int &value
ret = write(mKeyEventFd_IR, &event, sizeof(event));
if (ret < sizeof(event)) {
LOGD("sendIRkeyEvent :write event failed, %s\n", strerror(errno));
- return ;
+ return;
}
}
void CTvInput::sendkeyCode(const int &code)
{
- sendkeyEvent(1 , code, 1); //down
- sendkeyEvent(0, 0, 0); //clear
- sendkeyEvent(1 , code, 0); //up
- sendkeyEvent(0, 0, 0); //clear
+ sendkeyEvent(EV_KEY , code, SEND_KEY_ACTION_DOWN); //down
+ sendkeyEvent(EV_SYN, 0, 0); //clear
+ sendkeyEvent(EV_KEY , code, SEND_KEY_ACTION_UP); //up
+ sendkeyEvent(EV_SYN, 0, 0); //clear
}
void CTvInput::sendkeyCode_Up(const int &code)
{
- sendkeyEvent(1 , code, 0); //up
- sendkeyEvent(0, 0, 0); //clear
+ sendkeyEvent(EV_KEY , code, SEND_KEY_ACTION_UP); //up
+ sendkeyEvent(EV_SYN, 0, 0); //clear
}
void CTvInput::sendkeyCode_Down(const int &code)
{
- sendkeyEvent(1 , code, 1); //down
- sendkeyEvent(0, 0, 0); //clear
+ sendkeyEvent(EV_KEY , code, SEND_KEY_ACTION_DOWN); //down
+ sendkeyEvent(EV_SYN, 0, 0); //clear
}
+
void CTvInput::sendIRkeyCode(const int &code)
{
- sendIRkeyEvent(1 , code, 1); //down
- sendIRkeyEvent(0, 0, 0); //clear
- sendIRkeyEvent(1 , code, 0); //up
- sendIRkeyEvent(0, 0, 0); //clear
+ sendIRkeyEvent(EV_KEY , code, SEND_KEY_ACTION_DOWN); //down
+ sendIRkeyEvent(EV_SYN, 0, 0); //clear
+ sendIRkeyEvent(EV_KEY , code, SEND_KEY_ACTION_UP); //up
+ sendIRkeyEvent(EV_SYN, 0, 0); //clear
}
void CTvInput::sendIRkeyCode_Up(const int &code)
{
- sendIRkeyEvent(1 , code, 0); //up
- sendIRkeyEvent(0, 0, 0); //clear
+ sendIRkeyEvent(EV_KEY , code, SEND_KEY_ACTION_UP); //up
+ sendIRkeyEvent(EV_SYN, 0, 0); //clear
}
void CTvInput::sendIRkeyCode_Down(const int &code)
{
- sendIRkeyEvent(1 , code, 1); //down
- sendIRkeyEvent(0, 0, 0); //clear
+ sendIRkeyEvent(EV_KEY , code, SEND_KEY_ACTION_DOWN); //down
+ sendIRkeyEvent(EV_SYN, 0, 0); //clear
}
nsecs_t CTvInput::getNowMs()
{
return systemTime(SYSTEM_TIME_MONOTONIC) / 1000000;
}
+
void CTvInput::sendKeyRepeatStart(const int &code, int disTime, int repeatDisTime)
{
CMutex::Autolock _l(mLock);
@@ -120,7 +127,7 @@ void CTvInput::sendKeyRepeatStop()
mRepeatKeydisTime = -1;
}
-bool CTvInput::threadLoop()
+bool CTvInput::threadLoop()
{
int sleeptime = 100;//ms