1c29fa5a6Sopenharmony_ci# Copyright (c) 2021-2024 Huawei Device Co., Ltd. 2c29fa5a6Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3c29fa5a6Sopenharmony_ci# you may not use this file except in compliance with the License. 4c29fa5a6Sopenharmony_ci# You may obtain a copy of the License at 5c29fa5a6Sopenharmony_ci# 6c29fa5a6Sopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7c29fa5a6Sopenharmony_ci# 8c29fa5a6Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9c29fa5a6Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10c29fa5a6Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11c29fa5a6Sopenharmony_ci# See the License for the specific language governing permissions and 12c29fa5a6Sopenharmony_ci# limitations under the License. 13c29fa5a6Sopenharmony_ci 14c29fa5a6Sopenharmony_ciimport("//build/ohos.gni") 15c29fa5a6Sopenharmony_ciimport("./multimodalinput_mini.gni") 16c29fa5a6Sopenharmony_ci 17c29fa5a6Sopenharmony_ciconfig("coverage_flags") { 18c29fa5a6Sopenharmony_ci if (input_feature_coverage) { 19c29fa5a6Sopenharmony_ci cflags = [ "--coverage" ] 20c29fa5a6Sopenharmony_ci ldflags = [ "--coverage" ] 21c29fa5a6Sopenharmony_ci cflags_cc = [ "--coverage" ] 22c29fa5a6Sopenharmony_ci } 23c29fa5a6Sopenharmony_ci} 24c29fa5a6Sopenharmony_ci 25c29fa5a6Sopenharmony_ciohos_prebuilt_etc("mmi_uinput.rc") { 26c29fa5a6Sopenharmony_ci source = "mmi_uinput.rc" 27c29fa5a6Sopenharmony_ci relative_install_dir = "init" 28c29fa5a6Sopenharmony_ci part_name = "input" 29c29fa5a6Sopenharmony_ci subsystem_name = "multimodalinput" 30c29fa5a6Sopenharmony_ci} 31c29fa5a6Sopenharmony_ci 32c29fa5a6Sopenharmony_ciohos_prebuilt_etc("multimodalinput.rc") { 33c29fa5a6Sopenharmony_ci source = "multimodalinput.cfg" 34c29fa5a6Sopenharmony_ci relative_install_dir = "init" 35c29fa5a6Sopenharmony_ci part_name = "input" 36c29fa5a6Sopenharmony_ci subsystem_name = "multimodalinput" 37c29fa5a6Sopenharmony_ci} 38c29fa5a6Sopenharmony_ci 39c29fa5a6Sopenharmony_ciohos_executable("uinput_inject") { 40c29fa5a6Sopenharmony_ci install_enable = true 41c29fa5a6Sopenharmony_ci 42c29fa5a6Sopenharmony_ci sources = uinput_inject_sources 43c29fa5a6Sopenharmony_ci branch_protector_ret = "pac_ret" 44c29fa5a6Sopenharmony_ci sanitize = { 45c29fa5a6Sopenharmony_ci cfi = true 46c29fa5a6Sopenharmony_ci cfi_cross_dso = true 47c29fa5a6Sopenharmony_ci debug = false 48c29fa5a6Sopenharmony_ci } 49c29fa5a6Sopenharmony_ci 50c29fa5a6Sopenharmony_ci include_dirs = [ 51c29fa5a6Sopenharmony_ci "${mmi_path}/service/nap_process/include", 52c29fa5a6Sopenharmony_ci "${mmi_path}/util/common/include", 53c29fa5a6Sopenharmony_ci "${mmi_path}/interfaces/native/innerkits/common/include", 54c29fa5a6Sopenharmony_ci ] 55c29fa5a6Sopenharmony_ci 56c29fa5a6Sopenharmony_ci external_deps = [ 57c29fa5a6Sopenharmony_ci "c_utils:utils", 58c29fa5a6Sopenharmony_ci "drivers_interface_input:libinput_proxy_1.0", 59c29fa5a6Sopenharmony_ci "hilog:libhilog", 60c29fa5a6Sopenharmony_ci ] 61c29fa5a6Sopenharmony_ci 62c29fa5a6Sopenharmony_ci defines = [ "MMI_DISABLE_LOG_TRACE" ] 63c29fa5a6Sopenharmony_ci 64c29fa5a6Sopenharmony_ci cflags = [ "-fstack-protector-strong" ] 65c29fa5a6Sopenharmony_ci 66c29fa5a6Sopenharmony_ci part_name = "input" 67c29fa5a6Sopenharmony_ci subsystem_name = "multimodalinput" 68c29fa5a6Sopenharmony_ci} 69c29fa5a6Sopenharmony_ci 70c29fa5a6Sopenharmony_cigroup("multimodalinput_mmi_base") { 71c29fa5a6Sopenharmony_ci deps = [] 72c29fa5a6Sopenharmony_ci} 73c29fa5a6Sopenharmony_ci 74c29fa5a6Sopenharmony_cigroup("multimodalinput_mmi_frameworks") { 75c29fa5a6Sopenharmony_ci deps = [ "frameworks/proxy:libmmi-client" ] 76c29fa5a6Sopenharmony_ci} 77c29fa5a6Sopenharmony_ci 78c29fa5a6Sopenharmony_cigroup("multimodalinput_mmi_service") { 79c29fa5a6Sopenharmony_ci deps = [ 80c29fa5a6Sopenharmony_ci "service:libmmi-server", 81c29fa5a6Sopenharmony_ci "tools/inject_event:uinput", 82c29fa5a6Sopenharmony_ci "util/screen_capture:libmmi-screen_capture", 83c29fa5a6Sopenharmony_ci ] 84c29fa5a6Sopenharmony_ci} 85c29fa5a6Sopenharmony_ci 86c29fa5a6Sopenharmony_cigroup("input-third-mmi") { 87c29fa5a6Sopenharmony_ci external_deps = [ 88c29fa5a6Sopenharmony_ci "libevdev:libevdev", 89c29fa5a6Sopenharmony_ci "libinput:libinput-third-mmi", 90c29fa5a6Sopenharmony_ci "mtdev:libmtdev-third-mmi", 91c29fa5a6Sopenharmony_ci ] 92c29fa5a6Sopenharmony_ci} 93c29fa5a6Sopenharmony_ci 94c29fa5a6Sopenharmony_cigroup("input_jsapi_group") { 95c29fa5a6Sopenharmony_ci deps = [] 96c29fa5a6Sopenharmony_ci if (support_jsapi) { 97c29fa5a6Sopenharmony_ci deps += [ 98c29fa5a6Sopenharmony_ci "frameworks/napi/gesture_event:gestureevent", 99c29fa5a6Sopenharmony_ci "frameworks/napi/intention_code:intentioncode", 100c29fa5a6Sopenharmony_ci "frameworks/napi/joystick_event:joystickevent", 101c29fa5a6Sopenharmony_ci "frameworks/napi/key_code:keycode", 102c29fa5a6Sopenharmony_ci "frameworks/napi/key_event:keyevent", 103c29fa5a6Sopenharmony_ci "frameworks/napi/mouse_event:mouseevent", 104c29fa5a6Sopenharmony_ci "frameworks/napi/touch_event:touchevent", 105c29fa5a6Sopenharmony_ci ] 106c29fa5a6Sopenharmony_ci if (input_feature_monitor) { 107c29fa5a6Sopenharmony_ci deps += [ "frameworks/napi/input_monitor:inputmonitor" ] 108c29fa5a6Sopenharmony_ci } 109c29fa5a6Sopenharmony_ci if (input_feature_mouse) { 110c29fa5a6Sopenharmony_ci deps += [ "frameworks/napi/pointer:pointer" ] 111c29fa5a6Sopenharmony_ci } 112c29fa5a6Sopenharmony_ci if (input_feature_keyboard) { 113c29fa5a6Sopenharmony_ci deps += [ 114c29fa5a6Sopenharmony_ci "frameworks/napi/input_consumer:inputconsumer", 115c29fa5a6Sopenharmony_ci "frameworks/napi/input_event_client:inputeventclient", 116c29fa5a6Sopenharmony_ci ] 117c29fa5a6Sopenharmony_ci } 118c29fa5a6Sopenharmony_ci if (input_feature_input_device) { 119c29fa5a6Sopenharmony_ci deps += [ "frameworks/napi/input_device:inputdevice" ] 120c29fa5a6Sopenharmony_ci } 121c29fa5a6Sopenharmony_ci if (input_feature_short_key) { 122c29fa5a6Sopenharmony_ci deps += [ "frameworks/napi/short_key:shortkey" ] 123c29fa5a6Sopenharmony_ci } 124c29fa5a6Sopenharmony_ci deps += [ "frameworks/napi/infrared_emitter:infraredemitter" ] 125c29fa5a6Sopenharmony_ci } 126c29fa5a6Sopenharmony_ci} 127c29fa5a6Sopenharmony_ci 128c29fa5a6Sopenharmony_cigroup("mmi_tests") { 129c29fa5a6Sopenharmony_ci testonly = true 130c29fa5a6Sopenharmony_ci deps = [ 131c29fa5a6Sopenharmony_ci "common/anco/comm:AncoChannelStubTest", 132c29fa5a6Sopenharmony_ci "frameworks/native/input:OHInputManagerTest", 133c29fa5a6Sopenharmony_ci "frameworks/proxy:InputHandlerManagerTest", 134c29fa5a6Sopenharmony_ci "frameworks/proxy:InputManagerFilterManualTest", 135c29fa5a6Sopenharmony_ci "frameworks/proxy:InputManagerImplTest", 136c29fa5a6Sopenharmony_ci "frameworks/proxy:InputManagerInjectTest", 137c29fa5a6Sopenharmony_ci "frameworks/proxy:InputManagerManualTest", 138c29fa5a6Sopenharmony_ci "frameworks/proxy:InputManagerTest", 139c29fa5a6Sopenharmony_ci "frameworks/proxy:KeyEventTest", 140c29fa5a6Sopenharmony_ci "frameworks/proxy:PointerEventTest", 141c29fa5a6Sopenharmony_ci "frameworks/proxy:ut-mmi-proxy-out", 142c29fa5a6Sopenharmony_ci "libudev:test", 143c29fa5a6Sopenharmony_ci "service:AccountManagerTest", 144c29fa5a6Sopenharmony_ci "service:ApplicationStateObserverTest", 145c29fa5a6Sopenharmony_ci "service:ConnectManagerEXTest", 146c29fa5a6Sopenharmony_ci "service:ConnectManagerProxyEXTest", 147c29fa5a6Sopenharmony_ci "service:ConnectManagerTest", 148c29fa5a6Sopenharmony_ci "service:DelegateTaskTest", 149c29fa5a6Sopenharmony_ci "service:DeviceConfigTest", 150c29fa5a6Sopenharmony_ci "service:DeviceManagerTest", 151c29fa5a6Sopenharmony_ci "service:DfxHisysEventTest", 152c29fa5a6Sopenharmony_ci "service:DisplayStateManagerTest", 153c29fa5a6Sopenharmony_ci "service:EventDispatchTest", 154c29fa5a6Sopenharmony_ci "service:EventDumpTest", 155c29fa5a6Sopenharmony_ci "service:EventFilterDeathRecipientTest", 156c29fa5a6Sopenharmony_ci "service:EventFilterHandlerTest", 157c29fa5a6Sopenharmony_ci "service:EventHandlerTest", 158c29fa5a6Sopenharmony_ci "service:EventNormalizeHandlerTest", 159c29fa5a6Sopenharmony_ci "service:InfraredEmitterTest", 160c29fa5a6Sopenharmony_ci "service:InputDisplayBindHelperTest", 161c29fa5a6Sopenharmony_ci "service:InputWindowsManagerEXTest", 162c29fa5a6Sopenharmony_ci "service:InputWindowsManagerTest", 163c29fa5a6Sopenharmony_ci "service:InterceptorExTest", 164c29fa5a6Sopenharmony_ci "service:InterceptorTest", 165c29fa5a6Sopenharmony_ci "service:KeyAutoRepeatExTest", 166c29fa5a6Sopenharmony_ci "service:KeyCommandTest", 167c29fa5a6Sopenharmony_ci "service:KeyEventNormalizeTest", 168c29fa5a6Sopenharmony_ci "service:KeyEventValueTransformationTest", 169c29fa5a6Sopenharmony_ci "service:KeyGestureManagerEXTest", 170c29fa5a6Sopenharmony_ci "service:KnuckleDivergentPointTest", 171c29fa5a6Sopenharmony_ci "service:KnuckleDrawingManagerTest", 172c29fa5a6Sopenharmony_ci "service:KnuckleDynamicDrawingManagerTest", 173c29fa5a6Sopenharmony_ci "service:KnuckleGlowPointTest", 174c29fa5a6Sopenharmony_ci "service:KnuckleGlowTraceSystemTest", 175c29fa5a6Sopenharmony_ci "service:LibinputAdapterTest", 176c29fa5a6Sopenharmony_ci "service:ModuleLoaderTest", 177c29fa5a6Sopenharmony_ci "service:MonitorTest", 178c29fa5a6Sopenharmony_ci "service:NapProcessTest", 179c29fa5a6Sopenharmony_ci "service:PointerDrawingManagerExTest", 180c29fa5a6Sopenharmony_ci "service:PointerDrawingManagerTest", 181c29fa5a6Sopenharmony_ci "service:ServerMsgHandlerTest", 182c29fa5a6Sopenharmony_ci "service:StylusKeyTest", 183c29fa5a6Sopenharmony_ci "service:StylusKeyTest", 184c29fa5a6Sopenharmony_ci "service:SubscriberTest", 185c29fa5a6Sopenharmony_ci "service:TimerManagerTest", 186c29fa5a6Sopenharmony_ci "service:TouchDrawingManagerAiTest", 187c29fa5a6Sopenharmony_ci "service:TouchDrawingManagerTest", 188c29fa5a6Sopenharmony_ci "service:TwoFingerLongTouchTest", 189c29fa5a6Sopenharmony_ci "service:event_resample_test", 190c29fa5a6Sopenharmony_ci "service:mmi-service-tests", 191c29fa5a6Sopenharmony_ci "service/crown_transform_processor/test:CrownTransformProcessorTest", 192c29fa5a6Sopenharmony_ci "service/fingerprint_event_processor/test:FingerprintEventProcessorTest", 193c29fa5a6Sopenharmony_ci "service/mouse_event_normalize/test:MouseEventNormalizeTest", 194c29fa5a6Sopenharmony_ci "service/subscriber/test:mmi_subscriber_tests", 195c29fa5a6Sopenharmony_ci "service/touch_event_normalize/test:TouchEventNormalizeTests", 196c29fa5a6Sopenharmony_ci "service/touch_event_normalize/test:TouchGestureAdapterTest", 197c29fa5a6Sopenharmony_ci "test/fuzztest:test", 198c29fa5a6Sopenharmony_ci "test/unittest/interfaces:InputNativeHotkeyTest", 199c29fa5a6Sopenharmony_ci "test/unittest/interfaces:InputNativeTest", 200c29fa5a6Sopenharmony_ci "tools/inject_event:InjectEventTest", 201c29fa5a6Sopenharmony_ci "util:UdsClientTest", 202c29fa5a6Sopenharmony_ci ] 203c29fa5a6Sopenharmony_ci 204c29fa5a6Sopenharmony_ci if (input_feature_switch) { 205c29fa5a6Sopenharmony_ci deps += [ "frameworks/proxy:SwitchEventInputSubscribeManagerTest" ] 206c29fa5a6Sopenharmony_ci } 207c29fa5a6Sopenharmony_ci 208c29fa5a6Sopenharmony_ci if (!use_clang_coverage) { 209c29fa5a6Sopenharmony_ci deps += [ 210c29fa5a6Sopenharmony_ci "service:rust_mmi_test", 211c29fa5a6Sopenharmony_ci "util:rust_mmi_key_config_test", 212c29fa5a6Sopenharmony_ci "util:ut-mmi-util-out", 213c29fa5a6Sopenharmony_ci ] 214c29fa5a6Sopenharmony_ci } 215c29fa5a6Sopenharmony_ci 216c29fa5a6Sopenharmony_ci if (input_ext_feature_anco) { 217c29fa5a6Sopenharmony_ci deps += [ "${mmi_path}/frameworks/proxy/events/test:InputManagerAncoTest" ] 218c29fa5a6Sopenharmony_ci } 219c29fa5a6Sopenharmony_ci} 220c29fa5a6Sopenharmony_ci 221c29fa5a6Sopenharmony_cigroup("examples_group") { 222c29fa5a6Sopenharmony_ci deps = [ "examples/input_device_display_bind:input_device_display_bind" ] 223c29fa5a6Sopenharmony_ci} 224