1/* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16/** 17 * @file 18 * @kit InputKit 19 */ 20 21import type { InputEvent } from './@ohos.multimodalInput.inputEvent'; 22import type { KeyCode } from './@ohos.multimodalInput.keyCode'; 23/** 24 * Action 25 * 26 * @enum { number } 27 * @syscap SystemCapability.MultimodalInput.Input.Core 28 * @since 9 29 */ 30/** 31 * Action 32 * 33 * @enum { number } 34 * @syscap SystemCapability.MultimodalInput.Input.Core 35 * @atomicservice 36 * @since 12 37 */ 38export declare enum Action { 39 /** 40 * Cancel key 41 * 42 * @syscap SystemCapability.MultimodalInput.Input.Core 43 * @since 9 44 */ 45 /** 46 * Cancel key 47 * 48 * @syscap SystemCapability.MultimodalInput.Input.Core 49 * @atomicservice 50 * @since 12 51 */ 52 CANCEL = 0, 53 54 /** 55 * Down key 56 * 57 * @syscap SystemCapability.MultimodalInput.Input.Core 58 * @since 9 59 */ 60 /** 61 * Down key 62 * 63 * @syscap SystemCapability.MultimodalInput.Input.Core 64 * @atomicservice 65 * @since 12 66 */ 67 DOWN = 1, 68 69 /** 70 * Up key 71 * 72 * @syscap SystemCapability.MultimodalInput.Input.Core 73 * @since 9 74 */ 75 /** 76 * Up key 77 * 78 * @syscap SystemCapability.MultimodalInput.Input.Core 79 * @atomicservice 80 * @since 12 81 */ 82 UP = 2 83} 84 85/** 86 * Key 87 * 88 * @interface Key 89 * @syscap SystemCapability.MultimodalInput.Input.Core 90 * @since 9 91 */ 92/** 93 * Key 94 * 95 * @typedef Key 96 * @syscap SystemCapability.MultimodalInput.Input.Core 97 * @atomicservice 98 * @since 12 99 */ 100export declare interface Key { 101 /** 102 * Key code 103 * @type { KeyCode } 104 * @syscap SystemCapability.MultimodalInput.Input.Core 105 * @since 9 106 */ 107 /** 108 * Key code 109 * @type { KeyCode } 110 * @syscap SystemCapability.MultimodalInput.Input.Core 111 * @atomicservice 112 * @since 12 113 */ 114 code: KeyCode; 115 116 /** 117 * Time when the key is pressed 118 * @type { number } 119 * @syscap SystemCapability.MultimodalInput.Input.Core 120 * @since 9 121 */ 122 /** 123 * Time when the key is pressed 124 * @type { number } 125 * @syscap SystemCapability.MultimodalInput.Input.Core 126 * @atomicservice 127 * @since 12 128 */ 129 pressedTime: number; 130 131 /** 132 * Device to which the key belongs 133 * @type { number } 134 * @syscap SystemCapability.MultimodalInput.Input.Core 135 * @since 9 136 */ 137 /** 138 * Device to which the key belongs 139 * @type { number } 140 * @syscap SystemCapability.MultimodalInput.Input.Core 141 * @atomicservice 142 * @since 12 143 */ 144 deviceId: number; 145} 146 147/** 148 * KeyEvent 149 * 150 * @interface KeyEvent 151 * @syscap SystemCapability.MultimodalInput.Input.Core 152 * @since 9 153 */ 154/** 155 * KeyEvent 156 * 157 * @typedef KeyEvent 158 * @syscap SystemCapability.MultimodalInput.Input.Core 159 * @atomicservice 160 * @since 12 161 */ 162export declare interface KeyEvent extends InputEvent { 163 /** 164 * Key action 165 * @type { Action } 166 * @syscap SystemCapability.MultimodalInput.Input.Core 167 * @since 9 168 */ 169 /** 170 * Key action 171 * @type { Action } 172 * @syscap SystemCapability.MultimodalInput.Input.Core 173 * @atomicservice 174 * @since 12 175 */ 176 action: Action; 177 178 /** 179 * Key that has changed 180 * @type { Key } 181 * @syscap SystemCapability.MultimodalInput.Input.Core 182 * @since 9 183 */ 184 /** 185 * Key that has changed 186 * @type { Key } 187 * @syscap SystemCapability.MultimodalInput.Input.Core 188 * @atomicservice 189 * @since 12 190 */ 191 key: Key; 192 193 /** 194 * Unicode character corresponding to the key 195 * @type { number } 196 * @syscap SystemCapability.MultimodalInput.Input.Core 197 * @since 9 198 */ 199 /** 200 * Unicode character corresponding to the key 201 * @type { number } 202 * @syscap SystemCapability.MultimodalInput.Input.Core 203 * @atomicservice 204 * @since 12 205 */ 206 unicodeChar: number; 207 208 /** 209 * List of pressed keys 210 * @type { Key[] } 211 * @syscap SystemCapability.MultimodalInput.Input.Core 212 * @since 9 213 */ 214 /** 215 * List of pressed keys 216 * @type { Key[] } 217 * @syscap SystemCapability.MultimodalInput.Input.Core 218 * @atomicservice 219 * @since 12 220 */ 221 keys: Key[]; 222 223 /** 224 * Whether ctrlKey is being pressed 225 * @type { boolean } 226 * @syscap SystemCapability.MultimodalInput.Input.Core 227 * @since 9 228 */ 229 /** 230 * Whether ctrlKey is being pressed 231 * @type { boolean } 232 * @syscap SystemCapability.MultimodalInput.Input.Core 233 * @atomicservice 234 * @since 12 235 */ 236 ctrlKey: boolean; 237 238 /** 239 * Whether altKey is being pressed 240 * @type { boolean } 241 * @syscap SystemCapability.MultimodalInput.Input.Core 242 * @since 9 243 */ 244 /** 245 * Whether altKey is being pressed 246 * @type { boolean } 247 * @syscap SystemCapability.MultimodalInput.Input.Core 248 * @atomicservice 249 * @since 12 250 */ 251 altKey: boolean; 252 253 /** 254 * Whether shiftKey is being pressed 255 * @type { boolean } 256 * @syscap SystemCapability.MultimodalInput.Input.Core 257 * @since 9 258 */ 259 /** 260 * Whether shiftKey is being pressed 261 * @type { boolean } 262 * @syscap SystemCapability.MultimodalInput.Input.Core 263 * @atomicservice 264 * @since 12 265 */ 266 shiftKey: boolean; 267 268 /** 269 * Whether logoKey is being pressed 270 * @type { boolean } 271 * @syscap SystemCapability.MultimodalInput.Input.Core 272 * @since 9 273 */ 274 /** 275 * Whether logoKey is being pressed 276 * @type { boolean } 277 * @syscap SystemCapability.MultimodalInput.Input.Core 278 * @atomicservice 279 * @since 12 280 */ 281 logoKey: boolean; 282 283 /** 284 * Whether fnKey is being pressed 285 * @type { boolean } 286 * @syscap SystemCapability.MultimodalInput.Input.Core 287 * @since 9 288 */ 289 /** 290 * Whether fnKey is being pressed 291 * @type { boolean } 292 * @syscap SystemCapability.MultimodalInput.Input.Core 293 * @atomicservice 294 * @since 12 295 */ 296 fnKey: boolean; 297 298 /** 299 * Whether capsLock is active 300 * @type { boolean } 301 * @syscap SystemCapability.MultimodalInput.Input.Core 302 * @since 9 303 */ 304 /** 305 * Whether capsLock is active 306 * @type { boolean } 307 * @syscap SystemCapability.MultimodalInput.Input.Core 308 * @atomicservice 309 * @since 12 310 */ 311 capsLock: boolean; 312 313 /** 314 * Whether numLock is active 315 * @type { boolean } 316 * @syscap SystemCapability.MultimodalInput.Input.Core 317 * @since 9 318 */ 319 /** 320 * Whether numLock is active 321 * @type { boolean } 322 * @syscap SystemCapability.MultimodalInput.Input.Core 323 * @atomicservice 324 * @since 12 325 */ 326 numLock: boolean; 327 328 /** 329 * Whether scrollLock is active 330 * @type { boolean } 331 * @syscap SystemCapability.MultimodalInput.Input.Core 332 * @since 9 333 */ 334 /** 335 * Whether scrollLock is active 336 * @type { boolean } 337 * @syscap SystemCapability.MultimodalInput.Input.Core 338 * @atomicservice 339 * @since 12 340 */ 341 scrollLock: boolean; 342}