1c29fa5a6Sopenharmony_ci/*
2c29fa5a6Sopenharmony_ci * Copyright (c) 2021-2022 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 "virtual_remote_control.h"
17c29fa5a6Sopenharmony_ci
18c29fa5a6Sopenharmony_cinamespace OHOS {
19c29fa5a6Sopenharmony_cinamespace MMI {
20c29fa5a6Sopenharmony_cinamespace {
21c29fa5a6Sopenharmony_ciconstexpr int32_t ABS_MAX_REMOTE = 65535;
22c29fa5a6Sopenharmony_ciconstexpr int32_t ABS_FUZZ_REMOTE = 255;
23c29fa5a6Sopenharmony_ciconstexpr int32_t ABS_FLAT_REMOTE = 4095;
24c29fa5a6Sopenharmony_ci
25c29fa5a6Sopenharmony_ciAbsInfo absInfos[] = {
26c29fa5a6Sopenharmony_ci    { ABS_X, 0, ABS_MAX_REMOTE, ABS_FUZZ_REMOTE, ABS_FLAT_REMOTE },
27c29fa5a6Sopenharmony_ci    { ABS_Y, 0, ABS_MAX_REMOTE, ABS_FUZZ_REMOTE, ABS_FLAT_REMOTE }
28c29fa5a6Sopenharmony_ci};
29c29fa5a6Sopenharmony_ci} // namespace
30c29fa5a6Sopenharmony_ci
31c29fa5a6Sopenharmony_ciVirtualRemoteControl::VirtualRemoteControl() : VirtualDevice("Virtual RemoteControl", BUS_BLUETOOTH, 0x7d02, 0x0002)
32c29fa5a6Sopenharmony_ci{
33c29fa5a6Sopenharmony_ci    eventTypes_ = { EV_KEY, EV_ABS, EV_MSC };
34c29fa5a6Sopenharmony_ci    abs_ = { ABS_X, ABS_Y };
35c29fa5a6Sopenharmony_ci    miscellaneous_ = { MSC_SCAN };
36c29fa5a6Sopenharmony_ci    keys_ = {
37c29fa5a6Sopenharmony_ci        1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
38c29fa5a6Sopenharmony_ci        31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
39c29fa5a6Sopenharmony_ci        59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88,
40c29fa5a6Sopenharmony_ci        89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114,
41c29fa5a6Sopenharmony_ci        115, 116, 117, 118, 119, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,
42c29fa5a6Sopenharmony_ci        138, 139, 140, 142, 144, 150, 152, 155, 156, 158, 159, 161, 163, 164, 165, 166, 171, 172, 173, 176, 177, 178,
43c29fa5a6Sopenharmony_ci        179, 180, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 198, 199, 200, 201, 202, 203, 204, 205,
44c29fa5a6Sopenharmony_ci        209, 217, 240, 418, 419
45c29fa5a6Sopenharmony_ci    };
46c29fa5a6Sopenharmony_ci
47c29fa5a6Sopenharmony_ci    for (const auto &item : absInfos) {
48c29fa5a6Sopenharmony_ci        SetAbsValue(item);
49c29fa5a6Sopenharmony_ci    }
50c29fa5a6Sopenharmony_ci}
51c29fa5a6Sopenharmony_ci} // namespace MMI
52c29fa5a6Sopenharmony_ci} // namespace OHOS