modify compile error

Signed-off-by: hwzhangchuang <zhangchuang.zhang@huawei.com>
This commit is contained in:
hwzhangchuang
2023-11-13 11:58:31 +08:00
parent eebdd29d36
commit 206e99ada1
6 changed files with 50 additions and 40 deletions
+1 -1
View File
@@ -1471,7 +1471,7 @@ void InputHub::SavePressedKeyState(const InputHub::Device *dev, int32_t keyCode)
void InputHub::CheckTargetKeyState(const InputHub::Device *dev, const unsigned long *keyState)
{
//If device is a mouse, record the mouse pressed key.
// If device is a mouse, record the mouse pressed key.
if ((dev->classes & INPUT_DEVICE_CLASS_CURSOR) != 0) {
int mouseLeftBtnState = BitIsSet(keyState, BTN_LEFT);
if (mouseLeftBtnState != 0) {
+2 -2
View File
@@ -44,7 +44,7 @@ inline constexpr size_t NBYTES(size_t nbits)
}
class InputHub {
private:
public:
struct Device {
Device* next;
int fd; // may be -1 if device is closed
@@ -73,7 +73,7 @@ private:
int32_t absXIndex;
int32_t absYIndex;
};
public:
InputHub();
~InputHub();
size_t StartCollectInputEvents(RawEvent *buffer, size_t bufferSize);
@@ -63,6 +63,7 @@ ohos_unittest("distributed_input_inner_sinkcollector_test") {
deps = [
"${utils_path}:libdinput_utils",
"${services_state_path}:libdinput_state",
"//third_party/libevdev:libevdev",
"//third_party/openssl:libcrypto_shared",
]
+2 -1
View File
@@ -69,7 +69,8 @@ private:
~DInputState();
// Simulate device state to the pass through target device.
void SimulateEventInjectToSrc(const int32_t sessionId, const std::vector<std::string> &dhIds);
void SimulateBtnTouchEvent(const int32_t sessionId, const std::string &dhId, const struct RawEvent &event);
void SimulateNormalEvent(const int32_t sessionId, const std::string &dhId, const struct RawEvent &event);
private:
std::mutex operationMutex_;
std::map<std::string, DhIdState> dhIdStateMap_;
+43 -35
View File
@@ -116,44 +116,11 @@ void DInputState::SimulateEventInjectToSrc(const int32_t sessionId, const std::v
if (event.code == BTN_TOUCH) {
DHLOGI("Simulate Touch Down event for device path: %s, dhId: %s",
event.path.c_str(), event.descriptor.c_str());
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_ABS, ABS_MT_TRACKING_ID, SIM_TOUCH_TRACKING_ID);
std::pair<int32_t, int32_t> absPos = GetAndClearABSPosition(event.descriptor);
if (absPos.first != -1) {
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_ABS, ABS_MT_POSITION_X, absPos.first);
}
if (absPos.second != -1) {
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_ABS, ABS_MT_POSITION_Y, absPos.second);
}
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_KEY, event.code, KEY_DOWN_STATE);
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_KEY, BTN_TOOL_FINGER, KEY_DOWN_STATE);
if (absPos.first != -1) {
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_ABS, ABS_X, absPos.first);
}
if (absPos.second != -1) {
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_ABS, ABS_Y, absPos.second);
}
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_MSC, MSC_TIMESTAMP, 0x0);
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_SYN, SYN_REPORT, 0x0);
SimulateBtnTouchEvent(sessionId, dhId, event);
} else {
DHLOGI("Simulate Key event for device path: %s, dhId: %s",
event.path.c_str(), event.descriptor.c_str());
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_KEY, event.code, KEY_DOWN_STATE);
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_SYN, SYN_REPORT, 0x0);
SimulateNormalEvent(sessionId, dhId, event);
}
}
@@ -161,6 +128,47 @@ void DInputState::SimulateEventInjectToSrc(const int32_t sessionId, const std::v
}
}
void DInputState::SimulateBtnTouchEvent(const int32_t sessionId, const std::string &dhId, const struct RawEvent &event)
{
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_ABS, ABS_MT_TRACKING_ID, SIM_TOUCH_TRACKING_ID);
std::pair<int32_t, int32_t> absPos = GetAndClearABSPosition(event.descriptor);
if (absPos.first != -1) {
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_ABS, ABS_MT_POSITION_X, absPos.first);
}
if (absPos.second != -1) {
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_ABS, ABS_MT_POSITION_Y, absPos.second);
}
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_KEY, event.code, KEY_DOWN_STATE);
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_KEY, BTN_TOOL_FINGER, KEY_DOWN_STATE);
if (absPos.first != -1) {
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_ABS, ABS_X, absPos.first);
}
if (absPos.second != -1) {
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_ABS, ABS_Y, absPos.second);
}
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_MSC, MSC_TIMESTAMP, 0x0);
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_SYN, SYN_REPORT, 0x0);
}
void DInputState::SimulateNormalEvent(const int32_t sessionId, const std::string &dhId, const struct RawEvent &event)
{
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_KEY, event.code, KEY_DOWN_STATE);
DistributedInputSinkTransport::GetInstance().SendKeyStateNodeMsg(sessionId, dhId,
EV_SYN, SYN_REPORT, 0x0);
}
void DInputState::RefreshABSPosition(const std::string &dhId, int32_t absX, int32_t absY)
{
std::lock_guard<std::mutex> lock(absPosMtx_);
+1 -1
View File
@@ -17,9 +17,9 @@
#define OHOS_DISTRIBUTED_INPUT_UTILS_TOOL_H
#include <cstdint>
#include <linux/input.h>
#include <string>
#include <linux/input.h>
#include "nlohmann/json.hpp"
#include "dinput_log.h"