1c29fa5a6Sopenharmony_ci/*
2c29fa5a6Sopenharmony_ci * Copyright (c) 2021-2024 Huawei Device Co., Ltd.
3c29fa5a6Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
4c29fa5a6Sopenharmony_ci * you may not use this file except in compliance with the License.
5c29fa5a6Sopenharmony_ci * You may obtain a copy of the License at
6c29fa5a6Sopenharmony_ci *
7c29fa5a6Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0
8c29fa5a6Sopenharmony_ci *
9c29fa5a6Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software
10c29fa5a6Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
11c29fa5a6Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12c29fa5a6Sopenharmony_ci * See the License for the specific language governing permissions and
13c29fa5a6Sopenharmony_ci * limitations under the License.
14c29fa5a6Sopenharmony_ci */
15c29fa5a6Sopenharmony_ci
16c29fa5a6Sopenharmony_ci#include "input_manager.h"
17c29fa5a6Sopenharmony_ci
18c29fa5a6Sopenharmony_ci#include "define_multimodal.h"
19c29fa5a6Sopenharmony_ci#include "error_multimodal.h"
20c29fa5a6Sopenharmony_ci#include "input_handler_type.h"
21c29fa5a6Sopenharmony_ci#include "input_manager_impl.h"
22c29fa5a6Sopenharmony_ci#include "multimodal_event_handler.h"
23c29fa5a6Sopenharmony_ci
24c29fa5a6Sopenharmony_ci#undef MMI_LOG_TAG
25c29fa5a6Sopenharmony_ci#define MMI_LOG_TAG "InputManager"
26c29fa5a6Sopenharmony_ci
27c29fa5a6Sopenharmony_cinamespace OHOS {
28c29fa5a6Sopenharmony_cinamespace MMI {
29c29fa5a6Sopenharmony_ciInputManager *InputManager::instance_ = new (std::nothrow) InputManager();
30c29fa5a6Sopenharmony_ci
31c29fa5a6Sopenharmony_ciInputManager *InputManager::GetInstance()
32c29fa5a6Sopenharmony_ci{
33c29fa5a6Sopenharmony_ci    return instance_;
34c29fa5a6Sopenharmony_ci}
35c29fa5a6Sopenharmony_ci
36c29fa5a6Sopenharmony_ciint32_t InputManager::GetDisplayBindInfo(DisplayBindInfos &infos)
37c29fa5a6Sopenharmony_ci{
38c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetDisplayBindInfo(infos);
39c29fa5a6Sopenharmony_ci}
40c29fa5a6Sopenharmony_ci
41c29fa5a6Sopenharmony_ciint32_t InputManager::GetAllMmiSubscribedEvents(std::map<std::tuple<int32_t, int32_t, std::string>, int32_t> &datas)
42c29fa5a6Sopenharmony_ci{
43c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetAllMmiSubscribedEvents(datas);
44c29fa5a6Sopenharmony_ci}
45c29fa5a6Sopenharmony_ci
46c29fa5a6Sopenharmony_ciint32_t InputManager::SetDisplayBind(int32_t deviceId, int32_t displayId, std::string &msg)
47c29fa5a6Sopenharmony_ci{
48c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetDisplayBind(deviceId, displayId, msg);
49c29fa5a6Sopenharmony_ci}
50c29fa5a6Sopenharmony_ci
51c29fa5a6Sopenharmony_ciint32_t InputManager::GetWindowPid(int32_t windowId)
52c29fa5a6Sopenharmony_ci{
53c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetWindowPid(windowId);
54c29fa5a6Sopenharmony_ci}
55c29fa5a6Sopenharmony_ci
56c29fa5a6Sopenharmony_ciint32_t InputManager::UpdateDisplayInfo(const DisplayGroupInfo &displayGroupInfo)
57c29fa5a6Sopenharmony_ci{
58c29fa5a6Sopenharmony_ci    return InputMgrImpl.UpdateDisplayInfo(displayGroupInfo);
59c29fa5a6Sopenharmony_ci}
60c29fa5a6Sopenharmony_ci
61c29fa5a6Sopenharmony_ciint32_t InputManager::UpdateWindowInfo(const WindowGroupInfo &windowGroupInfo)
62c29fa5a6Sopenharmony_ci{
63c29fa5a6Sopenharmony_ci    return InputMgrImpl.UpdateWindowInfo(windowGroupInfo);
64c29fa5a6Sopenharmony_ci}
65c29fa5a6Sopenharmony_ci
66c29fa5a6Sopenharmony_ciint32_t InputManager::AddInputEventFilter(std::shared_ptr<IInputEventFilter> filter, int32_t priority,
67c29fa5a6Sopenharmony_ci    uint32_t deviceTags)
68c29fa5a6Sopenharmony_ci{
69c29fa5a6Sopenharmony_ci    return InputMgrImpl.AddInputEventFilter(filter, priority, deviceTags);
70c29fa5a6Sopenharmony_ci}
71c29fa5a6Sopenharmony_ci
72c29fa5a6Sopenharmony_ciint32_t InputManager::RemoveInputEventFilter(int32_t filterId)
73c29fa5a6Sopenharmony_ci{
74c29fa5a6Sopenharmony_ci    return InputMgrImpl.RemoveInputEventFilter(filterId);
75c29fa5a6Sopenharmony_ci}
76c29fa5a6Sopenharmony_ci
77c29fa5a6Sopenharmony_ciint32_t InputManager::AddInputEventObserver(std::shared_ptr<MMIEventObserver> observer)
78c29fa5a6Sopenharmony_ci{
79c29fa5a6Sopenharmony_ci    return InputMgrImpl.AddInputEventObserver(observer);
80c29fa5a6Sopenharmony_ci}
81c29fa5a6Sopenharmony_ci
82c29fa5a6Sopenharmony_ciint32_t InputManager::RemoveInputEventObserver(std::shared_ptr<MMIEventObserver> observer)
83c29fa5a6Sopenharmony_ci{
84c29fa5a6Sopenharmony_ci    return InputMgrImpl.RemoveInputEventObserver(observer);
85c29fa5a6Sopenharmony_ci}
86c29fa5a6Sopenharmony_ci
87c29fa5a6Sopenharmony_civoid InputManager::SetWindowInputEventConsumer(std::shared_ptr<IInputEventConsumer> inputEventConsumer)
88c29fa5a6Sopenharmony_ci{
89c29fa5a6Sopenharmony_ci    InputMgrImpl.SetWindowInputEventConsumer(inputEventConsumer, nullptr);
90c29fa5a6Sopenharmony_ci}
91c29fa5a6Sopenharmony_ci
92c29fa5a6Sopenharmony_civoid InputManager::SetWindowInputEventConsumer(std::shared_ptr<IInputEventConsumer> inputEventConsumer,
93c29fa5a6Sopenharmony_ci    std::shared_ptr<AppExecFwk::EventHandler> eventHandler)
94c29fa5a6Sopenharmony_ci{
95c29fa5a6Sopenharmony_ci    CHKPV(eventHandler);
96c29fa5a6Sopenharmony_ci    InputMgrImpl.SetWindowInputEventConsumer(inputEventConsumer, eventHandler);
97c29fa5a6Sopenharmony_ci}
98c29fa5a6Sopenharmony_ci
99c29fa5a6Sopenharmony_ciint32_t InputManager::SubscribeKeyEvent(std::shared_ptr<KeyOption> keyOption,
100c29fa5a6Sopenharmony_ci    std::function<void(std::shared_ptr<KeyEvent>)> callback)
101c29fa5a6Sopenharmony_ci{
102c29fa5a6Sopenharmony_ci    return InputMgrImpl.SubscribeKeyEvent(keyOption, callback);
103c29fa5a6Sopenharmony_ci}
104c29fa5a6Sopenharmony_ci
105c29fa5a6Sopenharmony_civoid InputManager::UnsubscribeKeyEvent(int32_t subscriberId)
106c29fa5a6Sopenharmony_ci{
107c29fa5a6Sopenharmony_ci    InputMgrImpl.UnsubscribeKeyEvent(subscriberId);
108c29fa5a6Sopenharmony_ci}
109c29fa5a6Sopenharmony_ci
110c29fa5a6Sopenharmony_ciint32_t InputManager::SubscribeHotkey(std::shared_ptr<KeyOption> keyOption,
111c29fa5a6Sopenharmony_ci    std::function<void(std::shared_ptr<KeyEvent>)> callback)
112c29fa5a6Sopenharmony_ci{
113c29fa5a6Sopenharmony_ci    return InputMgrImpl.SubscribeHotkey(keyOption, callback);
114c29fa5a6Sopenharmony_ci}
115c29fa5a6Sopenharmony_ci
116c29fa5a6Sopenharmony_civoid InputManager::UnsubscribeHotkey(int32_t subscriberId)
117c29fa5a6Sopenharmony_ci{
118c29fa5a6Sopenharmony_ci    InputMgrImpl.UnsubscribeHotkey(subscriberId);
119c29fa5a6Sopenharmony_ci}
120c29fa5a6Sopenharmony_ci
121c29fa5a6Sopenharmony_ciint32_t InputManager::SubscribeSwitchEvent(std::function<void(std::shared_ptr<SwitchEvent>)> callback,
122c29fa5a6Sopenharmony_ci    SwitchEvent::SwitchType switchType)
123c29fa5a6Sopenharmony_ci{
124c29fa5a6Sopenharmony_ci    return InputMgrImpl.SubscribeSwitchEvent(static_cast<int32_t>(switchType), callback);
125c29fa5a6Sopenharmony_ci}
126c29fa5a6Sopenharmony_ci
127c29fa5a6Sopenharmony_civoid InputManager::UnsubscribeSwitchEvent(int32_t subscriberId)
128c29fa5a6Sopenharmony_ci{
129c29fa5a6Sopenharmony_ci    InputMgrImpl.UnsubscribeSwitchEvent(subscriberId);
130c29fa5a6Sopenharmony_ci}
131c29fa5a6Sopenharmony_ci
132c29fa5a6Sopenharmony_ciint32_t InputManager::AddMonitor(std::function<void(std::shared_ptr<KeyEvent>)> monitor)
133c29fa5a6Sopenharmony_ci{
134c29fa5a6Sopenharmony_ci    return InputMgrImpl.AddMonitor(monitor);
135c29fa5a6Sopenharmony_ci}
136c29fa5a6Sopenharmony_ci
137c29fa5a6Sopenharmony_ciint32_t InputManager::AddMonitor(std::function<void(std::shared_ptr<PointerEvent>)> monitor)
138c29fa5a6Sopenharmony_ci{
139c29fa5a6Sopenharmony_ci    return InputMgrImpl.AddMonitor(monitor);
140c29fa5a6Sopenharmony_ci}
141c29fa5a6Sopenharmony_ci
142c29fa5a6Sopenharmony_ciint32_t InputManager::AddMonitor(std::shared_ptr<IInputEventConsumer> monitor, HandleEventType eventType)
143c29fa5a6Sopenharmony_ci{
144c29fa5a6Sopenharmony_ci    return InputMgrImpl.AddMonitor(monitor, eventType);
145c29fa5a6Sopenharmony_ci}
146c29fa5a6Sopenharmony_ci
147c29fa5a6Sopenharmony_ciint32_t InputManager::AddMonitor(std::shared_ptr<IInputEventConsumer> monitor, std::vector<int32_t> actionsType)
148c29fa5a6Sopenharmony_ci{
149c29fa5a6Sopenharmony_ci    return InputMgrImpl.AddMonitor(monitor, actionsType);
150c29fa5a6Sopenharmony_ci}
151c29fa5a6Sopenharmony_ci
152c29fa5a6Sopenharmony_civoid InputManager::RemoveMonitor(int32_t monitorId)
153c29fa5a6Sopenharmony_ci{
154c29fa5a6Sopenharmony_ci    InputMgrImpl.RemoveMonitor(monitorId);
155c29fa5a6Sopenharmony_ci}
156c29fa5a6Sopenharmony_ci
157c29fa5a6Sopenharmony_ciint32_t InputManager::AddGestureMonitor(
158c29fa5a6Sopenharmony_ci    std::shared_ptr<IInputEventConsumer> consumer, TouchGestureType type, int32_t fingers)
159c29fa5a6Sopenharmony_ci{
160c29fa5a6Sopenharmony_ci    return InputMgrImpl.AddGestureMonitor(consumer, type, fingers);
161c29fa5a6Sopenharmony_ci}
162c29fa5a6Sopenharmony_ci
163c29fa5a6Sopenharmony_ciint32_t InputManager::RemoveGestureMonitor(int32_t monitorId)
164c29fa5a6Sopenharmony_ci{
165c29fa5a6Sopenharmony_ci    return InputMgrImpl.RemoveGestureMonitor(monitorId);
166c29fa5a6Sopenharmony_ci}
167c29fa5a6Sopenharmony_ci
168c29fa5a6Sopenharmony_civoid InputManager::MarkConsumed(int32_t monitorId, int32_t eventId)
169c29fa5a6Sopenharmony_ci{
170c29fa5a6Sopenharmony_ci    InputMgrImpl.MarkConsumed(monitorId, eventId);
171c29fa5a6Sopenharmony_ci}
172c29fa5a6Sopenharmony_ci
173c29fa5a6Sopenharmony_civoid InputManager::MoveMouse(int32_t offsetX, int32_t offsetY)
174c29fa5a6Sopenharmony_ci{
175c29fa5a6Sopenharmony_ci    InputMgrImpl.MoveMouse(offsetX, offsetY);
176c29fa5a6Sopenharmony_ci}
177c29fa5a6Sopenharmony_ci
178c29fa5a6Sopenharmony_ciint32_t InputManager::AddInterceptor(std::shared_ptr<IInputEventConsumer> interceptor)
179c29fa5a6Sopenharmony_ci{
180c29fa5a6Sopenharmony_ci    return InputMgrImpl.AddInterceptor(interceptor);
181c29fa5a6Sopenharmony_ci}
182c29fa5a6Sopenharmony_ci
183c29fa5a6Sopenharmony_ciint32_t InputManager::AddInterceptor(std::function<void(std::shared_ptr<KeyEvent>)> interceptor)
184c29fa5a6Sopenharmony_ci{
185c29fa5a6Sopenharmony_ci    return InputMgrImpl.AddInterceptor(interceptor);
186c29fa5a6Sopenharmony_ci}
187c29fa5a6Sopenharmony_ci
188c29fa5a6Sopenharmony_ciint32_t InputManager::AddInterceptor(std::shared_ptr<IInputEventConsumer> interceptor, int32_t priority,
189c29fa5a6Sopenharmony_ci    uint32_t deviceTags)
190c29fa5a6Sopenharmony_ci{
191c29fa5a6Sopenharmony_ci    return InputMgrImpl.AddInterceptor(interceptor, priority, deviceTags);
192c29fa5a6Sopenharmony_ci}
193c29fa5a6Sopenharmony_ci
194c29fa5a6Sopenharmony_civoid InputManager::RemoveInterceptor(int32_t interceptorId)
195c29fa5a6Sopenharmony_ci{
196c29fa5a6Sopenharmony_ci    InputMgrImpl.RemoveInterceptor(interceptorId);
197c29fa5a6Sopenharmony_ci}
198c29fa5a6Sopenharmony_ci
199c29fa5a6Sopenharmony_civoid InputManager::SimulateInputEvent(std::shared_ptr<KeyEvent> keyEvent)
200c29fa5a6Sopenharmony_ci{
201c29fa5a6Sopenharmony_ci    LogTracer lt(keyEvent->GetId(), keyEvent->GetEventType(), keyEvent->GetKeyAction());
202c29fa5a6Sopenharmony_ci    keyEvent->AddFlag(InputEvent::EVENT_FLAG_SIMULATE);
203c29fa5a6Sopenharmony_ci    InputMgrImpl.SimulateInputEvent(keyEvent);
204c29fa5a6Sopenharmony_ci}
205c29fa5a6Sopenharmony_ci
206c29fa5a6Sopenharmony_civoid InputManager::SimulateInputEvent(std::shared_ptr<PointerEvent> pointerEvent)
207c29fa5a6Sopenharmony_ci{
208c29fa5a6Sopenharmony_ci    LogTracer lt(pointerEvent->GetId(), pointerEvent->GetEventType(), pointerEvent->GetPointerAction());
209c29fa5a6Sopenharmony_ci    pointerEvent->AddFlag(InputEvent::EVENT_FLAG_SIMULATE);
210c29fa5a6Sopenharmony_ci    InputMgrImpl.SimulateInputEvent(pointerEvent);
211c29fa5a6Sopenharmony_ci}
212c29fa5a6Sopenharmony_ci
213c29fa5a6Sopenharmony_civoid InputManager::SimulateInputEvent(std::shared_ptr<PointerEvent> pointerEvent, float zOrder)
214c29fa5a6Sopenharmony_ci{
215c29fa5a6Sopenharmony_ci    CHKPV(pointerEvent);
216c29fa5a6Sopenharmony_ci    LogTracer lt(pointerEvent->GetId(), pointerEvent->GetEventType(), pointerEvent->GetPointerAction());
217c29fa5a6Sopenharmony_ci    pointerEvent->AddFlag(InputEvent::EVENT_FLAG_SIMULATE);
218c29fa5a6Sopenharmony_ci    pointerEvent->SetZOrder(zOrder);
219c29fa5a6Sopenharmony_ci    InputMgrImpl.SimulateInputEvent(pointerEvent);
220c29fa5a6Sopenharmony_ci}
221c29fa5a6Sopenharmony_ci
222c29fa5a6Sopenharmony_civoid InputManager::SimulateTouchPadEvent(std::shared_ptr<PointerEvent> pointerEvent)
223c29fa5a6Sopenharmony_ci{
224c29fa5a6Sopenharmony_ci    CHKPV(pointerEvent);
225c29fa5a6Sopenharmony_ci    LogTracer lt(pointerEvent->GetId(), pointerEvent->GetEventType(), pointerEvent->GetPointerAction());
226c29fa5a6Sopenharmony_ci    pointerEvent->AddFlag(InputEvent::EVENT_FLAG_SIMULATE);
227c29fa5a6Sopenharmony_ci    InputMgrImpl.SimulateTouchPadEvent(pointerEvent);
228c29fa5a6Sopenharmony_ci}
229c29fa5a6Sopenharmony_ci
230c29fa5a6Sopenharmony_ciint32_t InputManager::RegisterDevListener(std::string type, std::shared_ptr<IInputDeviceListener> listener)
231c29fa5a6Sopenharmony_ci{
232c29fa5a6Sopenharmony_ci    return InputMgrImpl.RegisterDevListener(type, listener);
233c29fa5a6Sopenharmony_ci}
234c29fa5a6Sopenharmony_ci
235c29fa5a6Sopenharmony_ciint32_t InputManager::UnregisterDevListener(std::string type, std::shared_ptr<IInputDeviceListener> listener)
236c29fa5a6Sopenharmony_ci{
237c29fa5a6Sopenharmony_ci    return InputMgrImpl.UnregisterDevListener(type, listener);
238c29fa5a6Sopenharmony_ci}
239c29fa5a6Sopenharmony_ci
240c29fa5a6Sopenharmony_ciint32_t InputManager::GetDeviceIds(std::function<void(std::vector<int32_t>&)> callback)
241c29fa5a6Sopenharmony_ci{
242c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetDeviceIds(callback);
243c29fa5a6Sopenharmony_ci}
244c29fa5a6Sopenharmony_ci
245c29fa5a6Sopenharmony_ciint32_t InputManager::GetDevice(int32_t deviceId,
246c29fa5a6Sopenharmony_ci    std::function<void(std::shared_ptr<InputDevice>)> callback)
247c29fa5a6Sopenharmony_ci{
248c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetDevice(deviceId, callback);
249c29fa5a6Sopenharmony_ci}
250c29fa5a6Sopenharmony_ci
251c29fa5a6Sopenharmony_ciint32_t InputManager::SupportKeys(int32_t deviceId, std::vector<int32_t> keyCodes,
252c29fa5a6Sopenharmony_ci    std::function<void(std::vector<bool>&)> callback)
253c29fa5a6Sopenharmony_ci{
254c29fa5a6Sopenharmony_ci    return InputMgrImpl.SupportKeys(deviceId, keyCodes, callback);
255c29fa5a6Sopenharmony_ci}
256c29fa5a6Sopenharmony_ci
257c29fa5a6Sopenharmony_ciint32_t InputManager::SetMouseScrollRows(int32_t Rows)
258c29fa5a6Sopenharmony_ci{
259c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetMouseScrollRows(Rows);
260c29fa5a6Sopenharmony_ci}
261c29fa5a6Sopenharmony_ci
262c29fa5a6Sopenharmony_ciint32_t InputManager::GetMouseScrollRows(int32_t &Rows)
263c29fa5a6Sopenharmony_ci{
264c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetMouseScrollRows(Rows);
265c29fa5a6Sopenharmony_ci}
266c29fa5a6Sopenharmony_ci
267c29fa5a6Sopenharmony_ciint32_t InputManager::SetCustomCursor(int32_t windowId, void* pixelMap, int32_t focusX, int32_t focusY)
268c29fa5a6Sopenharmony_ci{
269c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetCustomCursor(windowId, focusX, focusY, pixelMap);
270c29fa5a6Sopenharmony_ci}
271c29fa5a6Sopenharmony_ci
272c29fa5a6Sopenharmony_ciint32_t InputManager::SetMouseIcon(int32_t windowId, void* pixelMap)
273c29fa5a6Sopenharmony_ci{
274c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetMouseIcon(windowId, pixelMap);
275c29fa5a6Sopenharmony_ci}
276c29fa5a6Sopenharmony_ci
277c29fa5a6Sopenharmony_ciint32_t InputManager::SetPointerSize(int32_t size)
278c29fa5a6Sopenharmony_ci{
279c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetPointerSize(size);
280c29fa5a6Sopenharmony_ci}
281c29fa5a6Sopenharmony_ci
282c29fa5a6Sopenharmony_ciint32_t InputManager::GetPointerSize(int32_t &size)
283c29fa5a6Sopenharmony_ci{
284c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetPointerSize(size);
285c29fa5a6Sopenharmony_ci}
286c29fa5a6Sopenharmony_ci
287c29fa5a6Sopenharmony_ciint32_t InputManager::SetMouseHotSpot(int32_t windowId, int32_t hotSpotX, int32_t hotSpotY)
288c29fa5a6Sopenharmony_ci{
289c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetMouseHotSpot(windowId, hotSpotX, hotSpotY);
290c29fa5a6Sopenharmony_ci}
291c29fa5a6Sopenharmony_ci
292c29fa5a6Sopenharmony_ciint32_t InputManager::SetMousePrimaryButton(int32_t primaryButton)
293c29fa5a6Sopenharmony_ci{
294c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetMousePrimaryButton(primaryButton);
295c29fa5a6Sopenharmony_ci}
296c29fa5a6Sopenharmony_ci
297c29fa5a6Sopenharmony_ciint32_t InputManager::GetMousePrimaryButton(int32_t &primaryButton)
298c29fa5a6Sopenharmony_ci{
299c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetMousePrimaryButton(primaryButton);
300c29fa5a6Sopenharmony_ci}
301c29fa5a6Sopenharmony_ci
302c29fa5a6Sopenharmony_ciint32_t InputManager::SetHoverScrollState(bool state)
303c29fa5a6Sopenharmony_ci{
304c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetHoverScrollState(state);
305c29fa5a6Sopenharmony_ci}
306c29fa5a6Sopenharmony_ci
307c29fa5a6Sopenharmony_ciint32_t InputManager::GetHoverScrollState(bool &state)
308c29fa5a6Sopenharmony_ci{
309c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetHoverScrollState(state);
310c29fa5a6Sopenharmony_ci}
311c29fa5a6Sopenharmony_ci
312c29fa5a6Sopenharmony_ciint32_t InputManager::SetPointerVisible(bool visible, int32_t priority)
313c29fa5a6Sopenharmony_ci{
314c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetPointerVisible(visible, priority);
315c29fa5a6Sopenharmony_ci}
316c29fa5a6Sopenharmony_ci
317c29fa5a6Sopenharmony_cibool InputManager::IsPointerVisible()
318c29fa5a6Sopenharmony_ci{
319c29fa5a6Sopenharmony_ci    return InputMgrImpl.IsPointerVisible();
320c29fa5a6Sopenharmony_ci}
321c29fa5a6Sopenharmony_ci
322c29fa5a6Sopenharmony_ciint32_t InputManager::SetPointerColor(int32_t color)
323c29fa5a6Sopenharmony_ci{
324c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetPointerColor(color);
325c29fa5a6Sopenharmony_ci}
326c29fa5a6Sopenharmony_ci
327c29fa5a6Sopenharmony_ciint32_t InputManager::GetPointerColor(int32_t &color)
328c29fa5a6Sopenharmony_ci{
329c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetPointerColor(color);
330c29fa5a6Sopenharmony_ci}
331c29fa5a6Sopenharmony_ci
332c29fa5a6Sopenharmony_ciint32_t InputManager::EnableCombineKey(bool enable)
333c29fa5a6Sopenharmony_ci{
334c29fa5a6Sopenharmony_ci    return InputMgrImpl.EnableCombineKey(enable);
335c29fa5a6Sopenharmony_ci}
336c29fa5a6Sopenharmony_ci
337c29fa5a6Sopenharmony_ciint32_t InputManager::SetPointerSpeed(int32_t speed)
338c29fa5a6Sopenharmony_ci{
339c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetPointerSpeed(speed);
340c29fa5a6Sopenharmony_ci}
341c29fa5a6Sopenharmony_ci
342c29fa5a6Sopenharmony_ciint32_t InputManager::GetPointerSpeed(int32_t &speed)
343c29fa5a6Sopenharmony_ci{
344c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetPointerSpeed(speed);
345c29fa5a6Sopenharmony_ci}
346c29fa5a6Sopenharmony_ci
347c29fa5a6Sopenharmony_ciint32_t InputManager::GetKeyboardType(int32_t deviceId, std::function<void(int32_t)> callback)
348c29fa5a6Sopenharmony_ci{
349c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetKeyboardType(deviceId, callback);
350c29fa5a6Sopenharmony_ci}
351c29fa5a6Sopenharmony_ci
352c29fa5a6Sopenharmony_civoid InputManager::SetAnrObserver(std::shared_ptr<IAnrObserver> observer)
353c29fa5a6Sopenharmony_ci{
354c29fa5a6Sopenharmony_ci    InputMgrImpl.SetAnrObserver(observer);
355c29fa5a6Sopenharmony_ci}
356c29fa5a6Sopenharmony_ci
357c29fa5a6Sopenharmony_ciint32_t InputManager::SetPointerStyle(int32_t windowId, PointerStyle pointerStyle, bool isUiExtension)
358c29fa5a6Sopenharmony_ci{
359c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetPointerStyle(windowId, pointerStyle, isUiExtension);
360c29fa5a6Sopenharmony_ci}
361c29fa5a6Sopenharmony_ci
362c29fa5a6Sopenharmony_ciint32_t InputManager::GetPointerStyle(int32_t windowId, PointerStyle &pointerStyle, bool isUiExtension)
363c29fa5a6Sopenharmony_ci{
364c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetPointerStyle(windowId, pointerStyle, isUiExtension);
365c29fa5a6Sopenharmony_ci}
366c29fa5a6Sopenharmony_ci
367c29fa5a6Sopenharmony_cibool InputManager::GetFunctionKeyState(int32_t funcKey)
368c29fa5a6Sopenharmony_ci{
369c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetFunctionKeyState(funcKey);
370c29fa5a6Sopenharmony_ci}
371c29fa5a6Sopenharmony_ci
372c29fa5a6Sopenharmony_ciint32_t InputManager::SetFunctionKeyState(int32_t funcKey, bool enable)
373c29fa5a6Sopenharmony_ci{
374c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetFunctionKeyState(funcKey, enable);
375c29fa5a6Sopenharmony_ci}
376c29fa5a6Sopenharmony_ci
377c29fa5a6Sopenharmony_ciint32_t InputManager::SetPointerLocation(int32_t x, int32_t y)
378c29fa5a6Sopenharmony_ci{
379c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetPointerLocation(x, y);
380c29fa5a6Sopenharmony_ci}
381c29fa5a6Sopenharmony_ci
382c29fa5a6Sopenharmony_ciint32_t InputManager::EnterCaptureMode(int32_t windowId)
383c29fa5a6Sopenharmony_ci{
384c29fa5a6Sopenharmony_ci    return InputMgrImpl.EnterCaptureMode(windowId);
385c29fa5a6Sopenharmony_ci}
386c29fa5a6Sopenharmony_ci
387c29fa5a6Sopenharmony_ciint32_t InputManager::LeaveCaptureMode(int32_t windowId)
388c29fa5a6Sopenharmony_ci{
389c29fa5a6Sopenharmony_ci    return InputMgrImpl.LeaveCaptureMode(windowId);
390c29fa5a6Sopenharmony_ci}
391c29fa5a6Sopenharmony_ci
392c29fa5a6Sopenharmony_civoid InputManager::AppendExtraData(const ExtraData& extraData)
393c29fa5a6Sopenharmony_ci{
394c29fa5a6Sopenharmony_ci    InputMgrImpl.AppendExtraData(extraData);
395c29fa5a6Sopenharmony_ci}
396c29fa5a6Sopenharmony_ci
397c29fa5a6Sopenharmony_ciint32_t InputManager::EnableInputDevice(bool enable)
398c29fa5a6Sopenharmony_ci{
399c29fa5a6Sopenharmony_ci    return InputMgrImpl.EnableInputDevice(enable);
400c29fa5a6Sopenharmony_ci}
401c29fa5a6Sopenharmony_ci
402c29fa5a6Sopenharmony_ciint32_t InputManager::AddVirtualInputDevice(std::shared_ptr<InputDevice> device, int32_t &deviceId)
403c29fa5a6Sopenharmony_ci{
404c29fa5a6Sopenharmony_ci    return InputMgrImpl.AddVirtualInputDevice(device, deviceId);
405c29fa5a6Sopenharmony_ci}
406c29fa5a6Sopenharmony_ci
407c29fa5a6Sopenharmony_ciint32_t InputManager::RemoveVirtualInputDevice(int32_t deviceId)
408c29fa5a6Sopenharmony_ci{
409c29fa5a6Sopenharmony_ci    return InputMgrImpl.RemoveVirtualInputDevice(deviceId);
410c29fa5a6Sopenharmony_ci}
411c29fa5a6Sopenharmony_ci
412c29fa5a6Sopenharmony_ciint32_t InputManager::SetKeyDownDuration(const std::string& businessId, int32_t delay)
413c29fa5a6Sopenharmony_ci{
414c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetKeyDownDuration(businessId, delay);
415c29fa5a6Sopenharmony_ci}
416c29fa5a6Sopenharmony_ci
417c29fa5a6Sopenharmony_ciint32_t InputManager::SetKeyboardRepeatDelay(int32_t delay)
418c29fa5a6Sopenharmony_ci{
419c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetKeyboardRepeatDelay(delay);
420c29fa5a6Sopenharmony_ci}
421c29fa5a6Sopenharmony_ci
422c29fa5a6Sopenharmony_ciint32_t InputManager::SetKeyboardRepeatRate(int32_t rate)
423c29fa5a6Sopenharmony_ci{
424c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetKeyboardRepeatRate(rate);
425c29fa5a6Sopenharmony_ci}
426c29fa5a6Sopenharmony_ci
427c29fa5a6Sopenharmony_ciint32_t InputManager::GetKeyboardRepeatDelay(std::function<void(int32_t)> callback)
428c29fa5a6Sopenharmony_ci{
429c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetKeyboardRepeatDelay(callback);
430c29fa5a6Sopenharmony_ci}
431c29fa5a6Sopenharmony_ci
432c29fa5a6Sopenharmony_ciint32_t InputManager::GetKeyboardRepeatRate(std::function<void(int32_t)> callback)
433c29fa5a6Sopenharmony_ci{
434c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetKeyboardRepeatRate(callback);
435c29fa5a6Sopenharmony_ci}
436c29fa5a6Sopenharmony_ci
437c29fa5a6Sopenharmony_ci#ifdef OHOS_BUILD_ENABLE_SECURITY_COMPONENT
438c29fa5a6Sopenharmony_civoid InputManager::SetEnhanceConfig(uint8_t *cfg, uint32_t cfgLen)
439c29fa5a6Sopenharmony_ci{
440c29fa5a6Sopenharmony_ci    InputMgrImpl.SetEnhanceConfig(cfg, cfgLen);
441c29fa5a6Sopenharmony_ci}
442c29fa5a6Sopenharmony_ci#endif // OHOS_BUILD_ENABLE_SECURITY_COMPONENT
443c29fa5a6Sopenharmony_ci
444c29fa5a6Sopenharmony_ciint32_t InputManager::SetTouchpadScrollSwitch(bool switchFlag)
445c29fa5a6Sopenharmony_ci{
446c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetTouchpadScrollSwitch(switchFlag);
447c29fa5a6Sopenharmony_ci}
448c29fa5a6Sopenharmony_ci
449c29fa5a6Sopenharmony_ciint32_t InputManager::GetTouchpadScrollSwitch(bool &switchFlag)
450c29fa5a6Sopenharmony_ci{
451c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetTouchpadScrollSwitch(switchFlag);
452c29fa5a6Sopenharmony_ci}
453c29fa5a6Sopenharmony_ciint32_t InputManager::SetTouchpadScrollDirection(bool state)
454c29fa5a6Sopenharmony_ci{
455c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetTouchpadScrollDirection(state);
456c29fa5a6Sopenharmony_ci}
457c29fa5a6Sopenharmony_ci
458c29fa5a6Sopenharmony_ciint32_t InputManager::GetTouchpadScrollDirection(bool &state)
459c29fa5a6Sopenharmony_ci{
460c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetTouchpadScrollDirection(state);
461c29fa5a6Sopenharmony_ci}
462c29fa5a6Sopenharmony_ciint32_t InputManager::SetTouchpadTapSwitch(bool switchFlag)
463c29fa5a6Sopenharmony_ci{
464c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetTouchpadTapSwitch(switchFlag);
465c29fa5a6Sopenharmony_ci}
466c29fa5a6Sopenharmony_ci
467c29fa5a6Sopenharmony_ciint32_t InputManager::GetTouchpadTapSwitch(bool &switchFlag)
468c29fa5a6Sopenharmony_ci{
469c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetTouchpadTapSwitch(switchFlag);
470c29fa5a6Sopenharmony_ci}
471c29fa5a6Sopenharmony_ci
472c29fa5a6Sopenharmony_ciint32_t InputManager::SetTouchpadPointerSpeed(int32_t speed)
473c29fa5a6Sopenharmony_ci{
474c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetTouchpadPointerSpeed(speed);
475c29fa5a6Sopenharmony_ci}
476c29fa5a6Sopenharmony_ci
477c29fa5a6Sopenharmony_ciint32_t InputManager::GetTouchpadPointerSpeed(int32_t &speed)
478c29fa5a6Sopenharmony_ci{
479c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetTouchpadPointerSpeed(speed);
480c29fa5a6Sopenharmony_ci}
481c29fa5a6Sopenharmony_ci
482c29fa5a6Sopenharmony_ciint32_t InputManager::SetTouchpadPinchSwitch(bool switchFlag)
483c29fa5a6Sopenharmony_ci{
484c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetTouchpadPinchSwitch(switchFlag);
485c29fa5a6Sopenharmony_ci}
486c29fa5a6Sopenharmony_ci
487c29fa5a6Sopenharmony_ciint32_t InputManager::GetTouchpadPinchSwitch(bool &switchFlag)
488c29fa5a6Sopenharmony_ci{
489c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetTouchpadPinchSwitch(switchFlag);
490c29fa5a6Sopenharmony_ci}
491c29fa5a6Sopenharmony_ci
492c29fa5a6Sopenharmony_ciint32_t InputManager::SetTouchpadSwipeSwitch(bool switchFlag)
493c29fa5a6Sopenharmony_ci{
494c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetTouchpadSwipeSwitch(switchFlag);
495c29fa5a6Sopenharmony_ci}
496c29fa5a6Sopenharmony_ci
497c29fa5a6Sopenharmony_ciint32_t InputManager::GetTouchpadSwipeSwitch(bool &switchFlag)
498c29fa5a6Sopenharmony_ci{
499c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetTouchpadSwipeSwitch(switchFlag);
500c29fa5a6Sopenharmony_ci}
501c29fa5a6Sopenharmony_ci
502c29fa5a6Sopenharmony_ciint32_t InputManager::SetTouchpadRightClickType(int32_t type)
503c29fa5a6Sopenharmony_ci{
504c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetTouchpadRightClickType(type);
505c29fa5a6Sopenharmony_ci}
506c29fa5a6Sopenharmony_ci
507c29fa5a6Sopenharmony_ciint32_t InputManager::GetTouchpadRightClickType(int32_t &type)
508c29fa5a6Sopenharmony_ci{
509c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetTouchpadRightClickType(type);
510c29fa5a6Sopenharmony_ci}
511c29fa5a6Sopenharmony_ci
512c29fa5a6Sopenharmony_ciint32_t InputManager::SetTouchpadRotateSwitch(bool rotateSwitch)
513c29fa5a6Sopenharmony_ci{
514c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetTouchpadRotateSwitch(rotateSwitch);
515c29fa5a6Sopenharmony_ci}
516c29fa5a6Sopenharmony_ci
517c29fa5a6Sopenharmony_ciint32_t InputManager::GetTouchpadRotateSwitch(bool &rotateSwitch)
518c29fa5a6Sopenharmony_ci{
519c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetTouchpadRotateSwitch(rotateSwitch);
520c29fa5a6Sopenharmony_ci}
521c29fa5a6Sopenharmony_ci
522c29fa5a6Sopenharmony_ciint32_t InputManager::EnableHardwareCursorStats(bool enable)
523c29fa5a6Sopenharmony_ci{
524c29fa5a6Sopenharmony_ci    return InputMgrImpl.EnableHardwareCursorStats(enable);
525c29fa5a6Sopenharmony_ci}
526c29fa5a6Sopenharmony_ci
527c29fa5a6Sopenharmony_ciint32_t InputManager::GetHardwareCursorStats(uint32_t &frameCount, uint32_t &vsyncCount)
528c29fa5a6Sopenharmony_ci{
529c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetHardwareCursorStats(frameCount, vsyncCount);
530c29fa5a6Sopenharmony_ci}
531c29fa5a6Sopenharmony_ci
532c29fa5a6Sopenharmony_ciint32_t InputManager::GetPointerSnapshot(void *pixelMapPtr)
533c29fa5a6Sopenharmony_ci{
534c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetPointerSnapshot(pixelMapPtr);
535c29fa5a6Sopenharmony_ci}
536c29fa5a6Sopenharmony_ci
537c29fa5a6Sopenharmony_ciint32_t InputManager::SetTouchpadScrollRows(int32_t rows)
538c29fa5a6Sopenharmony_ci{
539c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetTouchpadScrollRows(rows);
540c29fa5a6Sopenharmony_ci}
541c29fa5a6Sopenharmony_ci
542c29fa5a6Sopenharmony_ciint32_t InputManager::GetTouchpadScrollRows(int32_t &rows)
543c29fa5a6Sopenharmony_ci{
544c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetTouchpadScrollRows(rows);
545c29fa5a6Sopenharmony_ci}
546c29fa5a6Sopenharmony_ci
547c29fa5a6Sopenharmony_civoid InputManager::SetWindowPointerStyle(WindowArea area, int32_t pid, int32_t windowId)
548c29fa5a6Sopenharmony_ci{
549c29fa5a6Sopenharmony_ci    InputMgrImpl.SetWindowPointerStyle(area, pid, windowId);
550c29fa5a6Sopenharmony_ci}
551c29fa5a6Sopenharmony_ci
552c29fa5a6Sopenharmony_civoid InputManager::ClearWindowPointerStyle(int32_t pid, int32_t windowId)
553c29fa5a6Sopenharmony_ci{
554c29fa5a6Sopenharmony_ci    InputMgrImpl.ClearWindowPointerStyle(pid, windowId);
555c29fa5a6Sopenharmony_ci}
556c29fa5a6Sopenharmony_ci
557c29fa5a6Sopenharmony_civoid InputManager::SetNapStatus(int32_t pid, int32_t uid, std::string bundleName, int32_t napStatus)
558c29fa5a6Sopenharmony_ci{
559c29fa5a6Sopenharmony_ci    InputMgrImpl.SetNapStatus(pid, uid, bundleName, napStatus);
560c29fa5a6Sopenharmony_ci}
561c29fa5a6Sopenharmony_ci
562c29fa5a6Sopenharmony_ciint32_t InputManager::SetShieldStatus(int32_t shieldMode, bool isShield)
563c29fa5a6Sopenharmony_ci{
564c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetShieldStatus(shieldMode, isShield);
565c29fa5a6Sopenharmony_ci}
566c29fa5a6Sopenharmony_ci
567c29fa5a6Sopenharmony_ciint32_t InputManager::GetShieldStatus(int32_t shieldMode, bool &isShield)
568c29fa5a6Sopenharmony_ci{
569c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetShieldStatus(shieldMode, isShield);
570c29fa5a6Sopenharmony_ci}
571c29fa5a6Sopenharmony_ci
572c29fa5a6Sopenharmony_civoid InputManager::AddServiceWatcher(std::shared_ptr<IInputServiceWatcher> watcher)
573c29fa5a6Sopenharmony_ci{
574c29fa5a6Sopenharmony_ci    InputMgrImpl.AddServiceWatcher(watcher);
575c29fa5a6Sopenharmony_ci}
576c29fa5a6Sopenharmony_ci
577c29fa5a6Sopenharmony_civoid InputManager::RemoveServiceWatcher(std::shared_ptr<IInputServiceWatcher> watcher)
578c29fa5a6Sopenharmony_ci{
579c29fa5a6Sopenharmony_ci    InputMgrImpl.RemoveServiceWatcher(watcher);
580c29fa5a6Sopenharmony_ci}
581c29fa5a6Sopenharmony_ci
582c29fa5a6Sopenharmony_ciint32_t InputManager::MarkProcessed(int32_t eventId, int64_t actionTime, bool enable)
583c29fa5a6Sopenharmony_ci{
584c29fa5a6Sopenharmony_ci    LogTracer lt(eventId, 0, 0);
585c29fa5a6Sopenharmony_ci    if (enable) {
586c29fa5a6Sopenharmony_ci        return InputMgrImpl.MarkProcessed(eventId, actionTime);
587c29fa5a6Sopenharmony_ci    }
588c29fa5a6Sopenharmony_ci    MMI_HILOGD("Skip MarkProcessed eventId:%{public}d", eventId);
589c29fa5a6Sopenharmony_ci    return RET_OK;
590c29fa5a6Sopenharmony_ci}
591c29fa5a6Sopenharmony_ci
592c29fa5a6Sopenharmony_ciint32_t InputManager::GetKeyState(std::vector<int32_t> &pressedKeys, std::map<int32_t, int32_t> &specialKeysState)
593c29fa5a6Sopenharmony_ci{
594c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetKeyState(pressedKeys, specialKeysState);
595c29fa5a6Sopenharmony_ci}
596c29fa5a6Sopenharmony_ci
597c29fa5a6Sopenharmony_civoid InputManager::Authorize(bool isAuthorize)
598c29fa5a6Sopenharmony_ci{
599c29fa5a6Sopenharmony_ci    InputMgrImpl.Authorize(isAuthorize);
600c29fa5a6Sopenharmony_ci}
601c29fa5a6Sopenharmony_ci
602c29fa5a6Sopenharmony_ciint32_t InputManager::HasIrEmitter(bool &hasIrEmitter)
603c29fa5a6Sopenharmony_ci{
604c29fa5a6Sopenharmony_ci    return InputMgrImpl.HasIrEmitter(hasIrEmitter);
605c29fa5a6Sopenharmony_ci}
606c29fa5a6Sopenharmony_ci
607c29fa5a6Sopenharmony_ciint32_t InputManager::GetInfraredFrequencies(std::vector<InfraredFrequency>& requencys)
608c29fa5a6Sopenharmony_ci{
609c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetInfraredFrequencies(requencys);
610c29fa5a6Sopenharmony_ci}
611c29fa5a6Sopenharmony_ci
612c29fa5a6Sopenharmony_ciint32_t InputManager::TransmitInfrared(int64_t number, std::vector<int64_t>& pattern)
613c29fa5a6Sopenharmony_ci{
614c29fa5a6Sopenharmony_ci    return InputMgrImpl.TransmitInfrared(number, pattern);
615c29fa5a6Sopenharmony_ci}
616c29fa5a6Sopenharmony_ci
617c29fa5a6Sopenharmony_ci#ifdef OHOS_BUILD_ENABLE_VKEYBOARD
618c29fa5a6Sopenharmony_ciint32_t InputManager::SetVKeyboardArea(double topLeftX, double topLeftY, double bottomRightX, double bottomRightY)
619c29fa5a6Sopenharmony_ci{
620c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetVKeyboardArea(topLeftX, topLeftY, bottomRightX, bottomRightY);
621c29fa5a6Sopenharmony_ci}
622c29fa5a6Sopenharmony_ci
623c29fa5a6Sopenharmony_ciint32_t InputManager::SetMotionSpace(std::string& keyName, bool useShift, std::vector<int32_t>& pattern)
624c29fa5a6Sopenharmony_ci{
625c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetMotionSpace(keyName, useShift, pattern);
626c29fa5a6Sopenharmony_ci}
627c29fa5a6Sopenharmony_ci#endif // OHOS_BUILD_ENABLE_VKEYBOARD
628c29fa5a6Sopenharmony_ci
629c29fa5a6Sopenharmony_ciint32_t InputManager::SetCurrentUser(int32_t userId)
630c29fa5a6Sopenharmony_ci{
631c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetCurrentUser(userId);
632c29fa5a6Sopenharmony_ci}
633c29fa5a6Sopenharmony_ci
634c29fa5a6Sopenharmony_ciint32_t InputManager::SetMoveEventFilters(bool flag)
635c29fa5a6Sopenharmony_ci{
636c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetMoveEventFilters(flag);
637c29fa5a6Sopenharmony_ci}
638c29fa5a6Sopenharmony_ci
639c29fa5a6Sopenharmony_ciint32_t InputManager::SetTouchpadThreeFingersTapSwitch(bool switchFlag)
640c29fa5a6Sopenharmony_ci{
641c29fa5a6Sopenharmony_ci    return InputMgrImpl.SetTouchpadThreeFingersTapSwitch(switchFlag);
642c29fa5a6Sopenharmony_ci}
643c29fa5a6Sopenharmony_ci
644c29fa5a6Sopenharmony_ciint32_t InputManager::GetTouchpadThreeFingersTapSwitch(bool &switchFlag)
645c29fa5a6Sopenharmony_ci{
646c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetTouchpadThreeFingersTapSwitch(switchFlag);
647c29fa5a6Sopenharmony_ci}
648c29fa5a6Sopenharmony_ci
649c29fa5a6Sopenharmony_ciint32_t InputManager::GetWinSyncBatchSize(int32_t maxAreasCount, int32_t displayCount)
650c29fa5a6Sopenharmony_ci{
651c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetWinSyncBatchSize(maxAreasCount, displayCount);
652c29fa5a6Sopenharmony_ci}
653c29fa5a6Sopenharmony_ci
654c29fa5a6Sopenharmony_ciint32_t InputManager::AncoAddConsumer(std::shared_ptr<IAncoConsumer> consumer)
655c29fa5a6Sopenharmony_ci{
656c29fa5a6Sopenharmony_ci    return InputMgrImpl.AncoAddChannel(consumer);
657c29fa5a6Sopenharmony_ci}
658c29fa5a6Sopenharmony_ci
659c29fa5a6Sopenharmony_ciint32_t InputManager::AncoRemoveConsumer(std::shared_ptr<IAncoConsumer> consumer)
660c29fa5a6Sopenharmony_ci{
661c29fa5a6Sopenharmony_ci    return InputMgrImpl.AncoRemoveChannel(consumer);
662c29fa5a6Sopenharmony_ci}
663c29fa5a6Sopenharmony_ci
664c29fa5a6Sopenharmony_ciint32_t InputManager::SkipPointerLayer(bool isSkip)
665c29fa5a6Sopenharmony_ci{
666c29fa5a6Sopenharmony_ci    return InputMgrImpl.SkipPointerLayer(isSkip);
667c29fa5a6Sopenharmony_ci}
668c29fa5a6Sopenharmony_ci
669c29fa5a6Sopenharmony_ciint32_t InputManager::RegisterWindowStateErrorCallback(std::function<void(int32_t, int32_t)> callback)
670c29fa5a6Sopenharmony_ci{
671c29fa5a6Sopenharmony_ci    return InputMgrImpl.RegisterWindowStateErrorCallback(callback);
672c29fa5a6Sopenharmony_ci}
673c29fa5a6Sopenharmony_ci
674c29fa5a6Sopenharmony_ciint32_t InputManager::GetIntervalSinceLastInput(int64_t &timeInterval)
675c29fa5a6Sopenharmony_ci{
676c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetIntervalSinceLastInput(timeInterval);
677c29fa5a6Sopenharmony_ci}
678c29fa5a6Sopenharmony_ci
679c29fa5a6Sopenharmony_ciint32_t InputManager::GetAllSystemHotkeys(std::vector<std::unique_ptr<KeyOption>> &keyOptions, int32_t &count)
680c29fa5a6Sopenharmony_ci{
681c29fa5a6Sopenharmony_ci    return InputMgrImpl.GetAllSystemHotkeys(keyOptions, count);
682c29fa5a6Sopenharmony_ci}
683c29fa5a6Sopenharmony_ci
684c29fa5a6Sopenharmony_ciint32_t InputManager::ConvertToCapiKeyAction(int32_t keyAction)
685c29fa5a6Sopenharmony_ci{
686c29fa5a6Sopenharmony_ci    return InputMgrImpl.ConvertToCapiKeyAction(keyAction);
687c29fa5a6Sopenharmony_ci}
688c29fa5a6Sopenharmony_ci} // namespace MMI
689c29fa5a6Sopenharmony_ci} // namespace OHOS
690