161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit InputKit 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ciimport type { InputEvent } from './@ohos.multimodalInput.inputEvent'; 2261847f8eSopenharmony_ci 2361847f8eSopenharmony_ci/** 2461847f8eSopenharmony_ci * Action 2561847f8eSopenharmony_ci * 2661847f8eSopenharmony_ci * @enum { number } 2761847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 2861847f8eSopenharmony_ci * @since 9 2961847f8eSopenharmony_ci */ 3061847f8eSopenharmony_ciexport declare enum Action { 3161847f8eSopenharmony_ci /** 3261847f8eSopenharmony_ci * Touch cancelled 3361847f8eSopenharmony_ci * 3461847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 3561847f8eSopenharmony_ci * @since 9 3661847f8eSopenharmony_ci */ 3761847f8eSopenharmony_ci CANCEL = 0, 3861847f8eSopenharmony_ci 3961847f8eSopenharmony_ci /** 4061847f8eSopenharmony_ci * Touch pressed 4161847f8eSopenharmony_ci * 4261847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 4361847f8eSopenharmony_ci * @since 9 4461847f8eSopenharmony_ci */ 4561847f8eSopenharmony_ci DOWN = 1, 4661847f8eSopenharmony_ci 4761847f8eSopenharmony_ci /** 4861847f8eSopenharmony_ci * Touch moved 4961847f8eSopenharmony_ci * 5061847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 5161847f8eSopenharmony_ci * @since 9 5261847f8eSopenharmony_ci */ 5361847f8eSopenharmony_ci MOVE = 2, 5461847f8eSopenharmony_ci 5561847f8eSopenharmony_ci /** 5661847f8eSopenharmony_ci * Touch lifted 5761847f8eSopenharmony_ci * 5861847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 5961847f8eSopenharmony_ci * @since 9 6061847f8eSopenharmony_ci */ 6161847f8eSopenharmony_ci UP = 3 6261847f8eSopenharmony_ci} 6361847f8eSopenharmony_ci 6461847f8eSopenharmony_ci/** 6561847f8eSopenharmony_ci * ToolType 6661847f8eSopenharmony_ci * 6761847f8eSopenharmony_ci * @enum { number } 6861847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 6961847f8eSopenharmony_ci * @since 9 7061847f8eSopenharmony_ci */ 7161847f8eSopenharmony_ciexport declare enum ToolType { 7261847f8eSopenharmony_ci /** 7361847f8eSopenharmony_ci * Finger 7461847f8eSopenharmony_ci * 7561847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 7661847f8eSopenharmony_ci * @since 9 7761847f8eSopenharmony_ci */ 7861847f8eSopenharmony_ci FINGER = 0, 7961847f8eSopenharmony_ci 8061847f8eSopenharmony_ci /** 8161847f8eSopenharmony_ci * Stylus 8261847f8eSopenharmony_ci * 8361847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 8461847f8eSopenharmony_ci * @since 9 8561847f8eSopenharmony_ci */ 8661847f8eSopenharmony_ci PEN = 1, 8761847f8eSopenharmony_ci 8861847f8eSopenharmony_ci /** 8961847f8eSopenharmony_ci * Rubber 9061847f8eSopenharmony_ci * 9161847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 9261847f8eSopenharmony_ci * @since 9 9361847f8eSopenharmony_ci */ 9461847f8eSopenharmony_ci RUBBER = 2, 9561847f8eSopenharmony_ci 9661847f8eSopenharmony_ci /** 9761847f8eSopenharmony_ci * Brush 9861847f8eSopenharmony_ci * 9961847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 10061847f8eSopenharmony_ci * @since 9 10161847f8eSopenharmony_ci */ 10261847f8eSopenharmony_ci BRUSH = 3, 10361847f8eSopenharmony_ci 10461847f8eSopenharmony_ci /** 10561847f8eSopenharmony_ci * Pencil 10661847f8eSopenharmony_ci * 10761847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 10861847f8eSopenharmony_ci * @since 9 10961847f8eSopenharmony_ci */ 11061847f8eSopenharmony_ci PENCIL = 4, 11161847f8eSopenharmony_ci 11261847f8eSopenharmony_ci /** 11361847f8eSopenharmony_ci * Air brush 11461847f8eSopenharmony_ci * 11561847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 11661847f8eSopenharmony_ci * @since 9 11761847f8eSopenharmony_ci */ 11861847f8eSopenharmony_ci AIRBRUSH = 5, 11961847f8eSopenharmony_ci 12061847f8eSopenharmony_ci /** 12161847f8eSopenharmony_ci * Mouse 12261847f8eSopenharmony_ci * 12361847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 12461847f8eSopenharmony_ci * @since 9 12561847f8eSopenharmony_ci */ 12661847f8eSopenharmony_ci MOUSE = 6, 12761847f8eSopenharmony_ci 12861847f8eSopenharmony_ci /** 12961847f8eSopenharmony_ci * lens 13061847f8eSopenharmony_ci * 13161847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 13261847f8eSopenharmony_ci * @since 9 13361847f8eSopenharmony_ci */ 13461847f8eSopenharmony_ci LENS = 7 13561847f8eSopenharmony_ci} 13661847f8eSopenharmony_ci 13761847f8eSopenharmony_ci/** 13861847f8eSopenharmony_ci * SourceType 13961847f8eSopenharmony_ci * 14061847f8eSopenharmony_ci * @enum { number } 14161847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 14261847f8eSopenharmony_ci * @since 9 14361847f8eSopenharmony_ci */ 14461847f8eSopenharmony_ciexport declare enum SourceType { 14561847f8eSopenharmony_ci /** 14661847f8eSopenharmony_ci * Touchscreen 14761847f8eSopenharmony_ci * 14861847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 14961847f8eSopenharmony_ci * @since 9 15061847f8eSopenharmony_ci */ 15161847f8eSopenharmony_ci TOUCH_SCREEN = 0, 15261847f8eSopenharmony_ci 15361847f8eSopenharmony_ci /** 15461847f8eSopenharmony_ci * Stylus 15561847f8eSopenharmony_ci * 15661847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 15761847f8eSopenharmony_ci * @since 9 15861847f8eSopenharmony_ci */ 15961847f8eSopenharmony_ci PEN = 1, 16061847f8eSopenharmony_ci 16161847f8eSopenharmony_ci /** 16261847f8eSopenharmony_ci * Touchpad 16361847f8eSopenharmony_ci * 16461847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 16561847f8eSopenharmony_ci * @since 9 16661847f8eSopenharmony_ci */ 16761847f8eSopenharmony_ci TOUCH_PAD = 2 16861847f8eSopenharmony_ci} 16961847f8eSopenharmony_ci 17061847f8eSopenharmony_ci/** 17161847f8eSopenharmony_ci * Touch 17261847f8eSopenharmony_ci * 17361847f8eSopenharmony_ci * @interface Touch 17461847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 17561847f8eSopenharmony_ci * @since 9 17661847f8eSopenharmony_ci */ 17761847f8eSopenharmony_ciexport declare interface Touch { 17861847f8eSopenharmony_ci /** 17961847f8eSopenharmony_ci * Pointer identifier 18061847f8eSopenharmony_ci * @type { number } 18161847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 18261847f8eSopenharmony_ci * @since 9 18361847f8eSopenharmony_ci */ 18461847f8eSopenharmony_ci id: number; 18561847f8eSopenharmony_ci 18661847f8eSopenharmony_ci /** 18761847f8eSopenharmony_ci * Time stamp when touch is pressed 18861847f8eSopenharmony_ci * @type { number } 18961847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 19061847f8eSopenharmony_ci * @since 9 19161847f8eSopenharmony_ci */ 19261847f8eSopenharmony_ci pressedTime: number; 19361847f8eSopenharmony_ci 19461847f8eSopenharmony_ci /** 19561847f8eSopenharmony_ci * X coordinate of the touch position on the screen 19661847f8eSopenharmony_ci * @type { number } 19761847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 19861847f8eSopenharmony_ci * @since 9 19961847f8eSopenharmony_ci */ 20061847f8eSopenharmony_ci screenX: number; 20161847f8eSopenharmony_ci 20261847f8eSopenharmony_ci /** 20361847f8eSopenharmony_ci * Y coordinate of the touch position on the screen 20461847f8eSopenharmony_ci * @type { number } 20561847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 20661847f8eSopenharmony_ci * @since 9 20761847f8eSopenharmony_ci */ 20861847f8eSopenharmony_ci screenY: number; 20961847f8eSopenharmony_ci 21061847f8eSopenharmony_ci /** 21161847f8eSopenharmony_ci * X coordinate of the touch position in the window 21261847f8eSopenharmony_ci * @type { number } 21361847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 21461847f8eSopenharmony_ci * @since 9 21561847f8eSopenharmony_ci */ 21661847f8eSopenharmony_ci windowX: number; 21761847f8eSopenharmony_ci 21861847f8eSopenharmony_ci /** 21961847f8eSopenharmony_ci * Y coordinate of the touch position in the window 22061847f8eSopenharmony_ci * @type { number } 22161847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 22261847f8eSopenharmony_ci * @since 9 22361847f8eSopenharmony_ci */ 22461847f8eSopenharmony_ci windowY: number; 22561847f8eSopenharmony_ci 22661847f8eSopenharmony_ci /** 22761847f8eSopenharmony_ci * Pressure value. The value range is [0.0, 1.0]. The value 0.0 indicates that the pressure is not supported. 22861847f8eSopenharmony_ci * @type { number } 22961847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 23061847f8eSopenharmony_ci * @since 9 23161847f8eSopenharmony_ci */ 23261847f8eSopenharmony_ci pressure: number; 23361847f8eSopenharmony_ci 23461847f8eSopenharmony_ci /** 23561847f8eSopenharmony_ci * Width of the contact area when touch is pressed 23661847f8eSopenharmony_ci * @type { number } 23761847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 23861847f8eSopenharmony_ci * @since 9 23961847f8eSopenharmony_ci */ 24061847f8eSopenharmony_ci width: number; 24161847f8eSopenharmony_ci 24261847f8eSopenharmony_ci /** 24361847f8eSopenharmony_ci * Height of the contact area when touch is pressed 24461847f8eSopenharmony_ci * @type { number } 24561847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 24661847f8eSopenharmony_ci * @since 9 24761847f8eSopenharmony_ci */ 24861847f8eSopenharmony_ci height: number; 24961847f8eSopenharmony_ci 25061847f8eSopenharmony_ci /** 25161847f8eSopenharmony_ci * Angle relative to the YZ plane. The value range is [-90, 90]. A positive value indicates a rightward tilt. 25261847f8eSopenharmony_ci * @type { number } 25361847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 25461847f8eSopenharmony_ci * @since 9 25561847f8eSopenharmony_ci */ 25661847f8eSopenharmony_ci tiltX: number; 25761847f8eSopenharmony_ci 25861847f8eSopenharmony_ci /** 25961847f8eSopenharmony_ci * Angle relative to the XZ plane. The value range is [-90, 90]. A positive value indicates a downward tilt. 26061847f8eSopenharmony_ci * @type { number } 26161847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 26261847f8eSopenharmony_ci * @since 9 26361847f8eSopenharmony_ci */ 26461847f8eSopenharmony_ci tiltY: number; 26561847f8eSopenharmony_ci 26661847f8eSopenharmony_ci /** 26761847f8eSopenharmony_ci * Center point X of the tool area 26861847f8eSopenharmony_ci * @type { number } 26961847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 27061847f8eSopenharmony_ci * @since 9 27161847f8eSopenharmony_ci */ 27261847f8eSopenharmony_ci toolX: number; 27361847f8eSopenharmony_ci 27461847f8eSopenharmony_ci /** 27561847f8eSopenharmony_ci * Center point Y of the tool area 27661847f8eSopenharmony_ci * @type { number } 27761847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 27861847f8eSopenharmony_ci * @since 9 27961847f8eSopenharmony_ci */ 28061847f8eSopenharmony_ci toolY: number; 28161847f8eSopenharmony_ci 28261847f8eSopenharmony_ci /** 28361847f8eSopenharmony_ci * Width of the tool area 28461847f8eSopenharmony_ci * @type { number } 28561847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 28661847f8eSopenharmony_ci * @since 9 28761847f8eSopenharmony_ci */ 28861847f8eSopenharmony_ci toolWidth: number; 28961847f8eSopenharmony_ci 29061847f8eSopenharmony_ci /** 29161847f8eSopenharmony_ci * Height of the tool area 29261847f8eSopenharmony_ci * @type { number } 29361847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 29461847f8eSopenharmony_ci * @since 9 29561847f8eSopenharmony_ci */ 29661847f8eSopenharmony_ci toolHeight: number; 29761847f8eSopenharmony_ci 29861847f8eSopenharmony_ci /** 29961847f8eSopenharmony_ci * X coordinate of the input device 30061847f8eSopenharmony_ci * @type { number } 30161847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 30261847f8eSopenharmony_ci * @since 9 30361847f8eSopenharmony_ci */ 30461847f8eSopenharmony_ci rawX: number; 30561847f8eSopenharmony_ci 30661847f8eSopenharmony_ci /** 30761847f8eSopenharmony_ci * Y coordinate of the input device 30861847f8eSopenharmony_ci * @type { number } 30961847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 31061847f8eSopenharmony_ci * @since 9 31161847f8eSopenharmony_ci */ 31261847f8eSopenharmony_ci rawY: number; 31361847f8eSopenharmony_ci 31461847f8eSopenharmony_ci /** 31561847f8eSopenharmony_ci * Tool type 31661847f8eSopenharmony_ci * @type { ToolType } 31761847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 31861847f8eSopenharmony_ci * @since 9 31961847f8eSopenharmony_ci */ 32061847f8eSopenharmony_ci toolType: ToolType; 32161847f8eSopenharmony_ci} 32261847f8eSopenharmony_ci 32361847f8eSopenharmony_ci/** 32461847f8eSopenharmony_ci * TouchEvent 32561847f8eSopenharmony_ci * 32661847f8eSopenharmony_ci * @interface TouchEvent 32761847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 32861847f8eSopenharmony_ci * @since 9 32961847f8eSopenharmony_ci */ 33061847f8eSopenharmony_ciexport declare interface TouchEvent extends InputEvent { 33161847f8eSopenharmony_ci /** 33261847f8eSopenharmony_ci * Touch action 33361847f8eSopenharmony_ci * @type { Action } 33461847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 33561847f8eSopenharmony_ci * @since 9 33661847f8eSopenharmony_ci */ 33761847f8eSopenharmony_ci action: Action; 33861847f8eSopenharmony_ci 33961847f8eSopenharmony_ci /** 34061847f8eSopenharmony_ci * Current touch point 34161847f8eSopenharmony_ci * @type { Touch } 34261847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 34361847f8eSopenharmony_ci * @since 9 34461847f8eSopenharmony_ci */ 34561847f8eSopenharmony_ci touch: Touch; 34661847f8eSopenharmony_ci 34761847f8eSopenharmony_ci /** 34861847f8eSopenharmony_ci * All touch points 34961847f8eSopenharmony_ci * @type { Touch[] } 35061847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 35161847f8eSopenharmony_ci * @since 9 35261847f8eSopenharmony_ci */ 35361847f8eSopenharmony_ci touches: Touch[]; 35461847f8eSopenharmony_ci 35561847f8eSopenharmony_ci /** 35661847f8eSopenharmony_ci * Device type of the touch source 35761847f8eSopenharmony_ci * @type { SourceType } 35861847f8eSopenharmony_ci * @syscap SystemCapability.MultimodalInput.Input.Core 35961847f8eSopenharmony_ci * @since 9 36061847f8eSopenharmony_ci */ 36161847f8eSopenharmony_ci sourceType: SourceType; 36261847f8eSopenharmony_ci}