1# Copyright (c) 2021-2022 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 14import("//build/ohos.gni") 15import("//foundation/multimodalinput/input/multimodalinput_mini.gni") 16 17ohos_prebuilt_etc("mmi_uinput.rc") { 18 source = "mmi_uinput.rc" 19 relative_install_dir = "init" 20 part_name = "input" 21 subsystem_name = "multimodalinput" 22} 23 24ohos_prebuilt_etc("multimodalinput.rc") { 25 source = "multimodalinput.cfg" 26 relative_install_dir = "init" 27 part_name = "input" 28 subsystem_name = "multimodalinput" 29} 30 31ohos_executable("uinput_inject") { 32 install_enable = true 33 34 sources = [ 35 "uinput/hdf_device_event_dispatch.cpp", 36 "uinput/hdf_device_event_manager.cpp", 37 "uinput/inject_thread.cpp", 38 "uinput/keyboard_inject.cpp", 39 "uinput/virtual_device.cpp", 40 "uinput/virtual_keyboard.cpp", 41 "uinput/virtual_touch_screen.cpp", 42 ] 43 44 include_dirs = [ 45 "//foundation/multimodalinput/input/util/common/include", 46 "//foundation/multimodalinput/input/interfaces/native/innerkits/common/include", 47 "//foundation/multimodalinput/input/test/unittest/common/include", 48 ] 49 50 external_deps = [ 51 "c_utils:utils", 52 "drivers_interface_input:hdi_input", 53 "hiviewdfx_hilog_native:libhilog", 54 ] 55 56 part_name = "input" 57 subsystem_name = "multimodalinput" 58} 59 60config("multimodalinput_mmi_public_config") { 61 include_dirs = [ "util/common/include/" ] 62} 63 64group("multimodalinput_mmi_base") { 65 deps = [] 66} 67 68group("multimodalinput_mmi_frameworks") { 69 deps = [ "frameworks/proxy:libmmi-client" ] 70} 71 72group("multimodalinput_mmi_service") { 73 deps = [ 74 "service:libmmi-server", 75 "tools/inject_event:uinput", 76 ] 77} 78 79group("input_jsapi_group") { 80 deps = [] 81 if (support_jsapi) { 82 deps += [ 83 "frameworks/napi/key_code:keycode", 84 "frameworks/napi/key_event:keyevent", 85 "frameworks/napi/mouse_event:mouseevent", 86 "frameworks/napi/touch_event:touchevent", 87 ] 88 if (input_feature_monitor) { 89 deps += [ "frameworks/napi/input_monitor:inputmonitor" ] 90 } 91 if (input_feature_mouse) { 92 deps += [ "frameworks/napi/pointer:pointer" ] 93 } 94 if (input_feature_keyboard) { 95 deps += [ 96 "frameworks/napi/input_consumer:inputconsumer", 97 "frameworks/napi/input_event_client:inputeventclient", 98 ] 99 } 100 if (input_feature_input_device) { 101 deps += [ "frameworks/napi/input_device:inputdevice" ] 102 } 103 if (input_feature_input_cooperation) { 104 deps += [ "frameworks/napi/input_device_cooperate:inputdevicecooperate" ] 105 } 106 } 107} 108 109group("mmi_debug_tools") { 110 deps = [ 111 "patch/diff_libinput_mmi:libinput-analyze-mmi", 112 "patch/diff_libinput_mmi:libinput-debug-mmi", 113 "patch/diff_libinput_mmi:libinput-list-mmi", 114 "patch/diff_libinput_mmi:libinput-measure-mmi", 115 "patch/diff_libinput_mmi:libinput-quirks-mmi", 116 "patch/diff_libinput_mmi:libinput-record-mmi", 117 "patch/diff_libinput_mmi:libinput-tablet-mmi", 118 "tools/event_inject:mmi-event-injection", 119 "tools/vuinput:vuinput", 120 "//third_party/eudev:udevadm", 121 ] 122} 123 124group("ut_mmi_debug_tools") { 125 testonly = true 126 deps = [ 127 "tools/event_inject:ut-event-injection-out", 128 "tools/vuinput:ut-virtual-device-out", 129 ] 130} 131 132group("mmi_tests_manual") { 133 testonly = true 134 deps = [ "service:TransformPointTest" ] 135} 136 137group("mmi_tests") { 138 testonly = true 139 deps = [ 140 "frameworks/proxy:InputManagerManualTest", 141 "frameworks/proxy:InputManagerTest", 142 "frameworks/proxy:KeyEventTest", 143 "frameworks/proxy:PointerEventTest", 144 "frameworks/proxy:ut-mmi-proxy-out", 145 "service:ut-mmi-service-out", 146 "test/fuzztest:test", 147 "tools/inject_event:InjectEventTest", 148 "util:ut-mmi-util-out", 149 ] 150} 151