diff --git a/api/@ohos.inputmethodextensionability.d.ts b/api/@ohos.InputMethodExtensionAbility.d.ts similarity index 95% rename from api/@ohos.inputmethodextensionability.d.ts rename to api/@ohos.InputMethodExtensionAbility.d.ts index 4b5833f896909b8691fed9454aa3d11a1b9538e9..dcf926116a459f644c713e52a77c8e9e59339d1e 100644 --- a/api/@ohos.inputmethodextensionability.d.ts +++ b/api/@ohos.InputMethodExtensionAbility.d.ts @@ -15,7 +15,7 @@ import rpc from "./@ohos.rpc"; import Want from './@ohos.application.Want'; -import InputMethodExtensionContext from "./@ohos.inputmethodextensioncontext"; +import InputMethodExtensionContext from "./@ohos.InputMethodExtensionContext"; /** * The extension ability class of input method. @@ -49,4 +49,4 @@ export default class InputMethodExtensionAbility { * @throws {BusinessError} 401 - parameter error. */ onDestroy(): void; -} \ No newline at end of file +} diff --git a/api/@ohos.inputmethodextensioncontext.d.ts b/api/@ohos.InputMethodExtensionContext.d.ts similarity index 100% rename from api/@ohos.inputmethodextensioncontext.d.ts rename to api/@ohos.InputMethodExtensionContext.d.ts diff --git a/api/@ohos.inputMethodSubtype.d.ts b/api/@ohos.InputMethodSubtype.d.ts similarity index 100% rename from api/@ohos.inputMethodSubtype.d.ts rename to api/@ohos.InputMethodSubtype.d.ts diff --git a/api/@ohos.inputmethod.d.ts b/api/@ohos.inputMethod.d.ts similarity index 94% rename from api/@ohos.inputmethod.d.ts rename to api/@ohos.inputMethod.d.ts index 889302a66d9ad07e76f0c5a685acea5de9eb91d2..8b5e873b0706fadf200f0d4357d10f5858423dbf 100644 --- a/api/@ohos.inputmethod.d.ts +++ b/api/@ohos.inputMethod.d.ts @@ -1,462 +1,462 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import {AsyncCallback} from './basic'; -import InputMethodSubtype from './@ohos.inputMethodSubtype'; - -/** - * Input method - * - * @since 6 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ -declare namespace inputMethod { - /** - * Keyboard max number - * @since 8 - */ - const MAX_TYPE_NUM: number - - /** - * Input method setting - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethod.getController - */ - function getInputMethodSetting(): InputMethodSetting; - - /** - * Input method controller - * @since 6 - * @deprecated since 9 - * @useinstead ohos.inputmethod.getController - */ - function getInputMethodController(): InputMethodController; - - /** - * Input method setting - * @since 9 - * @returns { InputMethodSetting } the object of InputMethodSetting. - * @throws {BusinessError} 12800007 - settings extension error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - function getSetting(): InputMethodSetting; - - /** - * Input method controller - * @since 9 - * @returns { InputMethodController } the object of InputMethodController. - * @throws {BusinessError} 12800006 - input method controller error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - function getController(): InputMethodController; - - /** - * Switch input method - * @permission ohos.permission.CONNECT_IME_ABILITY - * @param { InputMethodProperty } [target] - indicates the input method which will replace the current one. - * @param { AsyncCallback } [callback] - the callback of switchInputMethod. - * @throws {BusinessError} 201 - permissions check fails. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800005 - configuration persisting error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - * @since 9 - */ - function switchInputMethod(target: InputMethodProperty, callback: AsyncCallback): void; - - /** - * Switch input method - * @since 9 - * @param target Indicates the input method which will replace the current one - * @returns { Promise } the promise returned by the function. - * @permission ohos.permission.CONNECT_IME_ABILITY - * @throws {BusinessError} 201 - permissions check fails. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800005 - configuration persisting error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - function switchInputMethod(target: InputMethodProperty): Promise; - - /** - * Get current input method - * @since 9 - * @returns { InputMethodProperty } the property of current inputmethod. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - function getCurrentInputMethod(): InputMethodProperty; - - /** - * Switch current input method subtype - * @since 9 - * @param target Indicates the input method subtype which will replace the current one - * @permission ohos.permission.CONNECT_IME_ABILITY - * @throws {BusinessError} 201 - permissions check fails. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800005 - configuration persisting error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - function switchCurrentInputMethodSubtype(target: InputMethodSubtype, callback: AsyncCallback): void; - - /** - * Switch current input method subtype - * @since 9 - * @param target Indicates the input method subtype which will replace the current one - * @returns { Promise } the promise returned by the function. - * @permission ohos.permission.CONNECT_IME_ABILITY - * @throws {BusinessError} 201 - permissions check fails. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800005 - configuration persisting error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - function switchCurrentInputMethodSubtype(target: InputMethodSubtype): Promise; - - /** - * Get the current input method subtype - * @since 9 - * @returns { InputMethodSubtype } the subtype of the current input method. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - function getCurrentInputMethodSubtype(): InputMethodSubtype; - - /** - * Switch input method and subtype - * @since 9 - * @param inputMethodProperty Indicates the target input method - * @param inputMethodSubtype Indicates the target input method subtype - * @permission ohos.permission.CONNECT_IME_ABILITY - * @throws {BusinessError} 201 - permissions check fails. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800005 - configuration persisting error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - function switchCurrentInputMethodAndSubtype(inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype, callback: AsyncCallback): void; - - /** - * Switch input method and subtype. - * @since 9 - * @param inputMethodProperty Indicates the target input method. - * @param inputMethodSubtype Indicates the target input method subtype. - * @returns { Promise } the promise returned by the function. - * @permission ohos.permission.CONNECT_IME_ABILITY - * @throws {BusinessError} 201 - permissions check fails. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800005 - configuration persisting error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - function switchCurrentInputMethodAndSubtype(inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype): Promise; - - /** - * @since 8 - */ - interface InputMethodSetting { - /** - * Subscribe input method or subtype change. - * @since 9 - * @param type Indicates the event type. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - on(type: 'imeChange', callback: (inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype) => void): void; - - /** - * Unsubscribe input method or subtype change. - * @since 9 - * @param type Indicates the event type. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - off(type: 'imeChange', callback?: (inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype) => void): void; - - /** - * List subtype of the specified input method. - * @since 9 - * @param inputMethodProperty Indicates the specified input method. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800001 - package manager error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - listInputMethodSubtype(inputMethodProperty: InputMethodProperty, callback: AsyncCallback>): void; - - /** - * List subtype of the specified input method. - * @since 9 - * @param inputMethodProperty Indicates the specified input method. - * @returns { Promise> } the promise returned by the function. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800001 - package manager error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - listInputMethodSubtype(inputMethodProperty: InputMethodProperty): Promise>; - - /** - * List subtype of current input method - * @since 9 - * @throws {BusinessError} 12800001 - package manager error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - listCurrentInputMethodSubtype(callback: AsyncCallback>): void; - - /** - * List subtype of current input method - * @since 9 - * @returns { Promise> } the promise returned by the function. - * @throws {BusinessError} 12800001 - package manager error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - listCurrentInputMethodSubtype(): Promise>; - - /** - * List input methods - * @since 9 - * @param enable : - * If true, collect enabled input methods. - * If false, collect disabled input methods. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800001 - package manager error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - getInputMethods(enable: boolean, callback: AsyncCallback>): void; - - /** - * List input methods - * @since 9 - * @param enable : - * If true, collect enabled input methods. - * If false, collect disabled input methods. - * @returns { Promise> } the promise returned by the function. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800001 - package manager error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - getInputMethods(enable: boolean): Promise>; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethod.InputMethodSetting.getInputMethods - */ - listInputMethod(callback: AsyncCallback>): void; - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethod.InputMethodSetting.getInputMethods - */ - listInputMethod(): Promise>; - - /** - * Show input method setting extension dialog - * @since 9 - * @permission ohos.permission.CONNECT_IME_ABILITY - * @throws {BusinessError} 201 - permissions check fails. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - showOptionalInputMethods(callback: AsyncCallback): void; - - /** - * Show input method setting extension dialog - * @since 9 - * @permission ohos.permission.CONNECT_IME_ABILITY - * @returns { Promise } the promise returned by the function. - * @throws {BusinessError} 201 - permissions check fails. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - showOptionalInputMethods(): Promise; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethod.InputMethodSetting.showOptionalInputMethods - */ - displayOptionalInputMethod(callback: AsyncCallback): void; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethod.InputMethodSetting.showOptionalInputMethods - */ - displayOptionalInputMethod(): Promise; - } - - /** - * @since 6 - */ - interface InputMethodController { - /** - * Stop input - * @since 9 - * @throws {BusinessError} 201 - permissions check fails. - * @throws {BusinessError} 12800003 - input method client error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - stopInputSession(callback: AsyncCallback): void; - - /** - * Stop input - * @since 9 - * @returns { Promise } the promise returned by the function. - * @throws {BusinessError} 201 - permissions check fails. - * @throws {BusinessError} 12800003 - input method client error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - stopInputSession(): Promise; - - /** - * Stop input - * @since 6 - * @deprecated since 9 - * @useinstead ohos.inputmethod.InputMethodController.stopInputSession - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - stopInput(callback: AsyncCallback): void; - - /** - * Stop input - * @since 6 - * @returns { Promise } the promise returned by the function. - * @deprecated since 9 - * @useinstead ohos.inputmethod.InputMethodController.stopInputSession - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - stopInput(): Promise; - - /** - * Show soft keyboard - * @since 9 - * @permission ohos.permission.CONNECT_IME_ABILITY - * @throws {BusinessError} 201 - permissions check fails. - * @throws {BusinessError} 12800003 - input method client error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - showSoftKeyboard(callback: AsyncCallback): void; - - /** - * Show soft keyboard - * @since 9 - * @permission ohos.permission.CONNECT_IME_ABILITY - * @returns { Promise } the promise returned by the function. - * @throws {BusinessError} 201 - permissions check fails. - * @throws {BusinessError} 12800003 - input method client error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - showSoftKeyboard():Promise; - - /** - * Hide soft keyboard - * @since 9 - * @permission ohos.permission.CONNECT_IME_ABILITY - * @throws {BusinessError} 201 - permissions check fails. - * @throws {BusinessError} 12800003 - input method client error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - hideSoftKeyboard(callback: AsyncCallback): void; - - /** - * Hide soft keyboard - * @since 9 - * @permission ohos.permission.CONNECT_IME_ABILITY - * @returns { Promise } the promise returned by the function. - * @throws {BusinessError} 201 - permissions check fails. - * @throws {BusinessError} 12800003 - input method client error. - * @throws {BusinessError} 12800008 - input method manager service error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - hideSoftKeyboard():Promise; - } - - /** - * input method property - * @since 8 - */ - interface InputMethodProperty { - /** - * The name of input method - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethod.InputMethodProperty.name - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - readonly packageName: string; - - /** - * The id of input method - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethod.InputMethodProperty.id - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - readonly methodId: string; - - /** - * The name of input method - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - readonly name: string; - - /** - * The id of input method - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - readonly id: string; - - /** - * The label of input method - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - readonly label?: string; - - /** - * The icon of input method - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - readonly icon?: string; - - /** - * The icon id of input method - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - readonly iconId?: number; - - /** - * The extra info of input method - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - extra: object; - } -} - +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {AsyncCallback} from './basic'; +import InputMethodSubtype from './@ohos.InputMethodSubtype'; + +/** + * Input method + * + * @since 6 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ +declare namespace inputMethod { + /** + * Keyboard max number + * @since 8 + */ + const MAX_TYPE_NUM: number + + /** + * Input method setting + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethod.getSetting + */ + function getInputMethodSetting(): InputMethodSetting; + + /** + * Input method controller + * @since 6 + * @deprecated since 9 + * @useinstead ohos.inputMethod.getController + */ + function getInputMethodController(): InputMethodController; + + /** + * Input method setting + * @since 9 + * @returns { InputMethodSetting } the object of InputMethodSetting. + * @throws {BusinessError} 12800007 - settings extension error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + function getSetting(): InputMethodSetting; + + /** + * Input method controller + * @since 9 + * @returns { InputMethodController } the object of InputMethodController. + * @throws {BusinessError} 12800006 - input method controller error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + function getController(): InputMethodController; + + /** + * Switch input method + * @permission ohos.permission.CONNECT_IME_ABILITY + * @param { InputMethodProperty } [target] - indicates the input method which will replace the current one. + * @param { AsyncCallback } [callback] - the callback of switchInputMethod. + * @throws {BusinessError} 201 - permissions check fails. + * @throws {BusinessError} 401 - parameter error. + * @throws {BusinessError} 12800005 - configuration persisting error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 9 + */ + function switchInputMethod(target: InputMethodProperty, callback: AsyncCallback): void; + + /** + * Switch input method + * @since 9 + * @param target Indicates the input method which will replace the current one + * @returns { Promise } the promise returned by the function. + * @permission ohos.permission.CONNECT_IME_ABILITY + * @throws {BusinessError} 201 - permissions check fails. + * @throws {BusinessError} 401 - parameter error. + * @throws {BusinessError} 12800005 - configuration persisting error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + function switchInputMethod(target: InputMethodProperty): Promise; + + /** + * Get current input method + * @since 9 + * @returns { InputMethodProperty } the property of current inputmethod. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + function getCurrentInputMethod(): InputMethodProperty; + + /** + * Switch current input method subtype + * @since 9 + * @param target Indicates the input method subtype which will replace the current one + * @permission ohos.permission.CONNECT_IME_ABILITY + * @throws {BusinessError} 201 - permissions check fails. + * @throws {BusinessError} 401 - parameter error. + * @throws {BusinessError} 12800005 - configuration persisting error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + function switchCurrentInputMethodSubtype(target: InputMethodSubtype, callback: AsyncCallback): void; + + /** + * Switch current input method subtype + * @since 9 + * @param target Indicates the input method subtype which will replace the current one + * @returns { Promise } the promise returned by the function. + * @permission ohos.permission.CONNECT_IME_ABILITY + * @throws {BusinessError} 201 - permissions check fails. + * @throws {BusinessError} 401 - parameter error. + * @throws {BusinessError} 12800005 - configuration persisting error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + function switchCurrentInputMethodSubtype(target: InputMethodSubtype): Promise; + + /** + * Get the current input method subtype + * @since 9 + * @returns { InputMethodSubtype } the subtype of the current input method. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + function getCurrentInputMethodSubtype(): InputMethodSubtype; + + /** + * Switch input method and subtype + * @since 9 + * @param inputMethodProperty Indicates the target input method + * @param inputMethodSubtype Indicates the target input method subtype + * @permission ohos.permission.CONNECT_IME_ABILITY + * @throws {BusinessError} 201 - permissions check fails. + * @throws {BusinessError} 401 - parameter error. + * @throws {BusinessError} 12800005 - configuration persisting error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + function switchCurrentInputMethodAndSubtype(inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype, callback: AsyncCallback): void; + + /** + * Switch input method and subtype. + * @since 9 + * @param inputMethodProperty Indicates the target input method. + * @param inputMethodSubtype Indicates the target input method subtype. + * @returns { Promise } the promise returned by the function. + * @permission ohos.permission.CONNECT_IME_ABILITY + * @throws {BusinessError} 201 - permissions check fails. + * @throws {BusinessError} 401 - parameter error. + * @throws {BusinessError} 12800005 - configuration persisting error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + function switchCurrentInputMethodAndSubtype(inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype): Promise; + + /** + * @since 8 + */ + interface InputMethodSetting { + /** + * Subscribe input method or subtype change. + * @since 9 + * @param type Indicates the event type. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + on(type: 'imeChange', callback: (inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype) => void): void; + + /** + * Unsubscribe input method or subtype change. + * @since 9 + * @param type Indicates the event type. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + off(type: 'imeChange', callback?: (inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype) => void): void; + + /** + * List subtype of the specified input method. + * @since 9 + * @param inputMethodProperty Indicates the specified input method. + * @throws {BusinessError} 401 - parameter error. + * @throws {BusinessError} 12800001 - package manager error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + listInputMethodSubtype(inputMethodProperty: InputMethodProperty, callback: AsyncCallback>): void; + + /** + * List subtype of the specified input method. + * @since 9 + * @param inputMethodProperty Indicates the specified input method. + * @returns { Promise> } the promise returned by the function. + * @throws {BusinessError} 401 - parameter error. + * @throws {BusinessError} 12800001 - package manager error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + listInputMethodSubtype(inputMethodProperty: InputMethodProperty): Promise>; + + /** + * List subtype of current input method + * @since 9 + * @throws {BusinessError} 12800001 - package manager error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + listCurrentInputMethodSubtype(callback: AsyncCallback>): void; + + /** + * List subtype of current input method + * @since 9 + * @returns { Promise> } the promise returned by the function. + * @throws {BusinessError} 12800001 - package manager error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + listCurrentInputMethodSubtype(): Promise>; + + /** + * List input methods + * @since 9 + * @param enable : + * If true, collect enabled input methods. + * If false, collect disabled input methods. + * @throws {BusinessError} 401 - parameter error. + * @throws {BusinessError} 12800001 - package manager error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + getInputMethods(enable: boolean, callback: AsyncCallback>): void; + + /** + * List input methods + * @since 9 + * @param enable : + * If true, collect enabled input methods. + * If false, collect disabled input methods. + * @returns { Promise> } the promise returned by the function. + * @throws {BusinessError} 401 - parameter error. + * @throws {BusinessError} 12800001 - package manager error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + getInputMethods(enable: boolean): Promise>; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethod.InputMethodSetting.getInputMethods + */ + listInputMethod(callback: AsyncCallback>): void; + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethod.InputMethodSetting.getInputMethods + */ + listInputMethod(): Promise>; + + /** + * Show input method setting extension dialog + * @since 9 + * @permission ohos.permission.CONNECT_IME_ABILITY + * @throws {BusinessError} 201 - permissions check fails. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + showOptionalInputMethods(callback: AsyncCallback): void; + + /** + * Show input method setting extension dialog + * @since 9 + * @permission ohos.permission.CONNECT_IME_ABILITY + * @returns { Promise } the promise returned by the function. + * @throws {BusinessError} 201 - permissions check fails. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + showOptionalInputMethods(): Promise; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethod.InputMethodSetting.showOptionalInputMethods + */ + displayOptionalInputMethod(callback: AsyncCallback): void; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethod.InputMethodSetting.showOptionalInputMethods + */ + displayOptionalInputMethod(): Promise; + } + + /** + * @since 6 + */ + interface InputMethodController { + /** + * Stop input + * @since 9 + * @throws {BusinessError} 201 - permissions check fails. + * @throws {BusinessError} 12800003 - input method client error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + stopInputSession(callback: AsyncCallback): void; + + /** + * Stop input + * @since 9 + * @returns { Promise } the promise returned by the function. + * @throws {BusinessError} 201 - permissions check fails. + * @throws {BusinessError} 12800003 - input method client error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + stopInputSession(): Promise; + + /** + * Stop input + * @since 6 + * @deprecated since 9 + * @useinstead ohos.inputMethod.InputMethodController.stopInputSession + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + stopInput(callback: AsyncCallback): void; + + /** + * Stop input + * @since 6 + * @returns { Promise } the promise returned by the function. + * @deprecated since 9 + * @useinstead ohos.inputMethod.InputMethodController.stopInputSession + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + stopInput(): Promise; + + /** + * Show soft keyboard + * @since 9 + * @permission ohos.permission.CONNECT_IME_ABILITY + * @throws {BusinessError} 201 - permissions check fails. + * @throws {BusinessError} 12800003 - input method client error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + showSoftKeyboard(callback: AsyncCallback): void; + + /** + * Show soft keyboard + * @since 9 + * @permission ohos.permission.CONNECT_IME_ABILITY + * @returns { Promise } the promise returned by the function. + * @throws {BusinessError} 201 - permissions check fails. + * @throws {BusinessError} 12800003 - input method client error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + showSoftKeyboard():Promise; + + /** + * Hide soft keyboard + * @since 9 + * @permission ohos.permission.CONNECT_IME_ABILITY + * @throws {BusinessError} 201 - permissions check fails. + * @throws {BusinessError} 12800003 - input method client error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + hideSoftKeyboard(callback: AsyncCallback): void; + + /** + * Hide soft keyboard + * @since 9 + * @permission ohos.permission.CONNECT_IME_ABILITY + * @returns { Promise } the promise returned by the function. + * @throws {BusinessError} 201 - permissions check fails. + * @throws {BusinessError} 12800003 - input method client error. + * @throws {BusinessError} 12800008 - input method manager service error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + hideSoftKeyboard():Promise; + } + + /** + * input method property + * @since 8 + */ + interface InputMethodProperty { + /** + * The name of input method + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethod.InputMethodProperty.name + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + readonly packageName: string; + + /** + * The id of input method + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethod.InputMethodProperty.id + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + readonly methodId: string; + + /** + * The name of input method + * @since 9 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + readonly name: string; + + /** + * The id of input method + * @since 9 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + readonly id: string; + + /** + * The label of input method + * @since 9 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + readonly label?: string; + + /** + * The icon of input method + * @since 9 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + readonly icon?: string; + + /** + * The icon id of input method + * @since 9 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + readonly iconId?: number; + + /** + * The extra info of input method + * @since 9 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + extra: object; + } +} + export default inputMethod; \ No newline at end of file diff --git a/api/@ohos.inputmethodengine.d.ts b/api/@ohos.inputMethodEngine.d.ts similarity index 65% rename from api/@ohos.inputmethodengine.d.ts rename to api/@ohos.inputMethodEngine.d.ts index 8862cb74015403f96820960c6736873380e63ec7..9e6b3ea681c9a764c5df45c812d7b8264afd5c6f 100644 --- a/api/@ohos.inputmethodengine.d.ts +++ b/api/@ohos.inputMethodEngine.d.ts @@ -1,758 +1,834 @@ -/* - * Copyright (c) 2021 Huawei Device Co., Ltd. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -import {AsyncCallback} from './basic'; -import InputMethodSubtype from './@ohos.inputMethodSubtype'; - -/** - * Input method engine - * - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ -declare namespace inputMethodEngine { - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const ENTER_KEY_TYPE_UNSPECIFIED: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const ENTER_KEY_TYPE_GO: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const ENTER_KEY_TYPE_SEARCH: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const ENTER_KEY_TYPE_SEND: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const ENTER_KEY_TYPE_NEXT: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const ENTER_KEY_TYPE_DONE: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const ENTER_KEY_TYPE_PREVIOUS: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const PATTERN_NULL: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const PATTERN_TEXT: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const PATTERN_NUMBER: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const PATTERN_PHONE: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const PATTERN_DATETIME: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const PATTERN_EMAIL: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const PATTERN_URI: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const PATTERN_PASSWORD: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const FLAG_SELECTING: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const FLAG_SINGLE_LINE: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const DISPLAY_MODE_PART: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const DISPLAY_MODE_FULL: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const OPTION_ASCII: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const OPTION_NONE: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const OPTION_AUTO_CAP_CHARACTERS: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const OPTION_AUTO_CAP_SENTENCES: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const OPTION_AUTO_WORDS: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const OPTION_MULTI_LINE: number; - - /** - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const OPTION_NO_FULLSCREEN: number; - - /** - * The move direction of cursor: UP - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const CURSOR_UP: number; - - /** - * The move direction of cursor: DOWN - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const CURSOR_DOWN: number; - - /** - * The move direction of cursor: LEFT - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const CURSOR_LEFT: number; - - /** - * The move direction of cursor: RIGHT - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const CURSOR_RIGHT: number; - - /** - * The window styles for input method ability. - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - const WINDOW_TYPE_INPUT_METHOD_FLOAT: number; - - /** - * @since 9 - * @returns { InputMethodAbility } the object of the InputMethodAbility. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - function getInputMethodAbility(): InputMethodAbility; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.getInputMethodAbility - */ - function getInputMethodEngine(): InputMethodEngine; - - /** - * @since 9 - * @returns { KeyboardDelegate } the object of KeyboardDelegate. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - function getKeyboardDelegate(): KeyboardDelegate; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.getKeyboardDelegate - */ - function createKeyboardDelegate(): KeyboardDelegate; - - /** - * @since 8 - */ - interface KeyboardController { - /** - * @since 9 - * @throws {BusinessError} 12800003 - input method client error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - hide(callback: AsyncCallback): void; - - /** - * @since 9 - * @throws {BusinessError} 12800003 - input method client error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - hide(): Promise; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.KeyboardController.hide - */ - hideKeyboard(callback: AsyncCallback): void; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.KeyboardController.hide - */ - hideKeyboard(): Promise; - } - - /** - * @since 8 - */ - interface InputMethodEngine { - /** - * Subscribe 'inputStart' - * @since 8 - * @param type inputStart - * @param callback give keyboard controller and text input client - */ - on(type: 'inputStart', callback: (kbController: KeyboardController, textInputClient: TextInputClient) => void): void; - - /** - * Unsubscribe 'inputStart' - * @since 8 - * @param type inputStart - * @param callback optional, give keyboard controller and text input client - */ - off(type: 'inputStart', callback?: (kbController: KeyboardController, textInputClient: TextInputClient) => void): void; - - /** - * Subscribe 'keyboardShow'|'keyboardHide' - * @since 8 - * @param type keyboardShow|keyboardHide - */ - on(type: 'keyboardShow'|'keyboardHide', callback: () => void): void; - - /** - * Unsubscribe 'keyboardShow'|'keyboardHide' - * @since 8 - * @param type keyboardShow|keyboardHide - */ - off(type: 'keyboardShow'|'keyboardHide', callback?: () => void): void; - } - - /** - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - interface InputMethodAbility { - /** - * Subscribe 'inputStart' - * @since 9 - * @param type inputStart - * @param callback give keyboard controller and text input client - */ - on(type: 'inputStart', callback: (kbController: KeyboardController, inputClient: InputClient) => void): void; - - /** - * Unsubscribe 'inputStart' - * @since 9 - * @param type inputStart - * @param callback optional, give keyboard controller and text input client - */ - off(type: 'inputStart', callback?: (kbController: KeyboardController, inputClient: InputClient) => void): void; - - /** - * Subscribe 'inputStop'. - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - * @param type inputStop - */ - on(type: 'inputStop', callback: () => void): void; - - /** - * Unsubscribe 'inputStop'. - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - * @param type inputStop - */ - off(type: 'inputStop', callback: () => void): void; - - /** - * Subscribe 'setCallingWindow'. - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - * @param type setCallingWindow - */ - on(type: 'setCallingWindow', callback: (wid:number) => void): void; - - /** - * Unsubscribe 'setCallingWindow'. - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - * @param type setCallingWindow - */ - off(type: 'setCallingWindow', callback: (wid:number) => void): void; - - /** - * Subscribe 'keyboardShow'|'keyboardHide' - * @since 9 - * @param type keyboardShow|keyboardHide - */ - on(type: 'keyboardShow'|'keyboardHide', callback: () => void): void; - - /** - * Unsubscribe 'keyboardShow'|'keyboardHide' - * @since 9 - * @param type keyboardShow|keyboardHide - */ - off(type: 'keyboardShow'|'keyboardHide', callback?: () => void): void; - - /** - * Subscribe 'setSubtype' - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - on(type: 'setSubtype', callback: (inputMethodSubtype: InputMethodSubtype) => void): void; - - /** - * Unsubscribe 'setSubtype' - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - off(type: 'setSubtype', callback?: (inputMethodSubtype: InputMethodSubtype) => void): void; - } - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.InputClient - */ - interface TextInputClient { - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.InputClient.sendKeyFunction - */ - sendKeyFunction(action: number, callback: AsyncCallback): void; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.InputClient.sendKeyFunction - */ - sendKeyFunction(action: number): Promise; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.InputClient.deleteForward - */ - deleteForward(length: number, callback: AsyncCallback): void; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.InputClient.deleteForward - */ - deleteForward(length: number): Promise; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.InputClient.deleteBackward - */ - deleteBackward(length: number, callback: AsyncCallback): void; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.InputClient.deleteBackward - */ - deleteBackward(length: number): Promise; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.InputClient.insertText - */ - insertText(text: string, callback: AsyncCallback): void; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.InputClient.insertText - */ - insertText(text: string): Promise; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.InputClient.getForward - */ - getForward(length: number, callback: AsyncCallback): void; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.InputClient.getForward - */ - getForward(length: number): Promise; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.InputClient.getBackward - */ - getBackward(length: number, callback: AsyncCallback): void; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.InputClient.getBackward - */ - getBackward(length: number): Promise; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.InputClient.getEditorAttribute - */ - getEditorAttribute(callback: AsyncCallback): void; - - /** - * @since 8 - * @deprecated since 9 - * @useinstead ohos.inputmethodengine.InputClient.getEditorAttribute - */ - getEditorAttribute(): Promise; - } - - /** - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - interface InputClient { - /** - * @since 9 - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800003 - input method client error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - sendKeyFunction(action: number, callback: AsyncCallback): void; - - /** - * @since 9 - * @returns { Promise } the promise returned by the function. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800003 - input method client error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - sendKeyFunction(action: number): Promise; - - /** - * @since 9 - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800002 - Input method engine error. - * @throws {BusinessError} 12800003 - input method client error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - deleteForward(length: number, callback: AsyncCallback): void; - - /** - * @since 9 - * @returns { Promise } the promise returned by the function. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800002 - Input method engine error. - * @throws {BusinessError} 12800003 - input method client error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - deleteForward(length: number): Promise; - - /** - * @since 9 - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800002 - Input method engine error. - * @throws {BusinessError} 12800003 - input method client error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - deleteBackward(length: number, callback: AsyncCallback): void; - - /** - * @since 9 - * @returns { Promise } the promise returned by the function. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800002 - Input method engine error. - * @throws {BusinessError} 12800003 - input method client error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - deleteBackward(length: number): Promise; - - /** - * @since 9 - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800002 - Input method engine error. - * @throws {BusinessError} 12800003 - input method client error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - insertText(text: string, callback: AsyncCallback): void; - - /** - * @since 9 - * @returns { Promise } the promise returned by the function. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800002 - Input method engine error. - * @throws {BusinessError} 12800003 - input method client error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - insertText(text: string): Promise; - - /** - * @since 9 - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800003 - input method client error. - * @throws {BusinessError} 12800006 - Input method controller error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - getForward(length: number, callback: AsyncCallback): void; - - /** - * @since 9 - * @returns { Promise } the promise returned by the function. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800003 - input method client error. - * @throws {BusinessError} 12800006 - Input method controller error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - getForward(length: number): Promise; - - /** - * @since 9 - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800003 - input method client error. - * @throws {BusinessError} 12800006 - Input method controller error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - getBackward(length: number, callback: AsyncCallback): void; - - /** - * @since 9 - * @returns { Promise } the promise returned by the function. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800003 - input method client error. - * @throws {BusinessError} 12800006 - Input method controller error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - getBackward(length: number): Promise; - - /** - * @since 9 - * @throws {BusinessError} 12800003 - input method client error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - getEditorAttribute(callback: AsyncCallback): void; - - /** - * @since 9 - * @returns { Promise } the promise returned by the function. - * @throws {BusinessError} 12800003 - input method client error. - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - getEditorAttribute(): Promise; - - /** - * Move cursor from input method. - * - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - * @param direction Indicates the distance of cursor to be moved. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800003 - input method client error. - */ - moveCursor(direction: number, callback: AsyncCallback): void; - - /** - * Move cursor from input method. - * - * @since 9 - * @syscap SystemCapability.MiscServices.InputMethodFramework - * @param direction Indicates the distance of cursor to be moved. - * @returns { Promise } the promise returned by the function. - * @throws {BusinessError} 401 - parameter error. - * @throws {BusinessError} 12800003 - input method client error. - */ - moveCursor(direction: number): Promise; - } - - /** - * @since 8 - */ - interface KeyboardDelegate { - /** - * Subscribe key up or down event - * - * @since 8 - */ - on(type: 'keyDown'|'keyUp', callback: (event: KeyEvent) => boolean): void; - - /** - * Unsubscribe key up or down event - * - * @since 8 - */ - off(type: 'keyDown'|'keyUp', callback?: (event: KeyEvent) => boolean): void; - - /** - * Subscribe cursor context change - * - * @since 8 - */ - on(type: 'cursorContextChange', callback: (x: number, y: number, height: number) => void): void; - - /** - * Unsubscribe cursor context change - * - * @since 8 - */ - off(type: 'cursorContextChange', callback?: (x: number, y: number, height: number) => void): void; - - /** - * Subscribe selection change - * - * @since 8 - */ - on(type: 'selectionChange', callback: (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void): void; - - /** - * Unsubscribe selection change - * - * @since 8 - */ - off(type: 'selectionChange', callback?: (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void): void; - - /** - * Subscribe text change - * - * @since 8 - */ - on(type: 'textChange', callback: (text: string) => void): void; - - /** - * Unsubscribe text change - * - * @since 8 - */ - off(type: 'textChange', callback?: (text: string) => void): void; - } - - /** - * @since 8 - */ - interface EditorAttribute { - /** - * Editor's pattern - * - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - readonly inputPattern: number; - - /** - * Editor's key type - * - * @since 8 - * @syscap SystemCapability.MiscServices.InputMethodFramework - */ - readonly enterKeyType: number; - } - - /** - * @since 8 - */ - interface KeyEvent { - /** - * Key code - * - * @since 8 - */ - readonly keyCode: number; - - /** - * Key action - * - * @since 8 - */ - readonly keyAction: number; - } -} - -export default inputMethodEngine; +/* + * Copyright (c) 2021 Huawei Device Co., Ltd. + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import {AsyncCallback} from './basic'; +import InputMethodSubtype from './@ohos.InputMethodSubtype'; + +/** + * Input method engine + * + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ +declare namespace inputMethodEngine { + /** + * When "enter" key is pressed, there is no action + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const ENTER_KEY_TYPE_UNSPECIFIED: number; + + /** + * When "enter" key is pressed, it means GO + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const ENTER_KEY_TYPE_GO: number; + + /** + * When "enter" key is pressed, it means SEARCH + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const ENTER_KEY_TYPE_SEARCH: number; + + /** + * When "enter" key is pressed, it means SEND + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const ENTER_KEY_TYPE_SEND: number; + + /** + * When "enter" key is pressed, it means NEXT + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const ENTER_KEY_TYPE_NEXT: number; + + /** + * When "enter" key is pressed, it means DONE + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const ENTER_KEY_TYPE_DONE: number; + + /** + * When "enter" key is pressed, it means PREVIOUS + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const ENTER_KEY_TYPE_PREVIOUS: number; + + /** + * Editor with no special function + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const PATTERN_NULL: number; + + /** + * Editor of type TEXT + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const PATTERN_TEXT: number; + + /** + * Editor of type NUMBER + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const PATTERN_NUMBER: number; + + /** + * Editor of type PHONE NUMBER + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const PATTERN_PHONE: number; + + /** + * Editor of type DATETIME + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const PATTERN_DATETIME: number; + + /** + * Editor of type EMAIL + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const PATTERN_EMAIL: number; + + /** + * Editor of type URI + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const PATTERN_URI: number; + + /** + * Editor of type PASSWORD + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const PATTERN_PASSWORD: number; + + /** + * Editor in SELECTING state + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const FLAG_SELECTING: number; + + /** + * Editor in SINGLE_LINE state + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const FLAG_SINGLE_LINE: number; + + /** + * The Editor displays in PART mode + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const DISPLAY_MODE_PART: number; + + /** + * The Editor displays in FULL mode + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const DISPLAY_MODE_FULL: number; + + /** + * Allows ASCII to be inputted + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const OPTION_ASCII: number; + + /** + * Do not specify Editor's input type + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const OPTION_NONE: number; + + /** + * Allows CHARACTERS to be inputted + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const OPTION_AUTO_CAP_CHARACTERS: number; + + /** + * Allows SENTENCES to be inputted + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const OPTION_AUTO_CAP_SENTENCES: number; + + /** + * Allows WORDS to be inputted + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const OPTION_AUTO_WORDS: number; + + /** + * Allows MULTI_LINE to be inputted + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const OPTION_MULTI_LINE: number; + + /** + * Half-screen mode + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const OPTION_NO_FULLSCREEN: number; + + /** + * The move direction of cursor: UP + * @since 9 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const CURSOR_UP: number; + + /** + * The move direction of cursor: DOWN + * @since 9 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const CURSOR_DOWN: number; + + /** + * The move direction of cursor: LEFT + * @since 9 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const CURSOR_LEFT: number; + + /** + * The move direction of cursor: RIGHT + * @since 9 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const CURSOR_RIGHT: number; + + /** + * The window styles for input method ability. + * @since 9 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + const WINDOW_TYPE_INPUT_METHOD_FLOAT: number; + + /** + * @since 9 + * @returns { InputMethodAbility } the object of the InputMethodAbility. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + function getInputMethodAbility(): InputMethodAbility; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.getInputMethodAbility + */ + function getInputMethodEngine(): InputMethodEngine; + + /** + * @since 9 + * @returns { KeyboardDelegate } the object of KeyboardDelegate. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + function getKeyboardDelegate(): KeyboardDelegate; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.getKeyboardDelegate + */ + function createKeyboardDelegate(): KeyboardDelegate; + + /** + * @since 8 + */ + interface KeyboardController { + /** + * @since 9 + * @throws {BusinessError} 12800003 - input method client error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + hide(callback: AsyncCallback): void; + + /** + * @since 9 + * @throws {BusinessError} 12800003 - input method client error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + hide(): Promise; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.KeyboardController.hide + */ + hideKeyboard(callback: AsyncCallback): void; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.KeyboardController.hide + */ + hideKeyboard(): Promise; + } + + /** + * @since 8 + */ + interface InputMethodEngine { + /** + * Subscribe 'inputStart' + * @since 8 + * @param type inputStart + * @param callback give keyboard controller and text input client + */ + on(type: 'inputStart', callback: (kbController: KeyboardController, textInputClient: TextInputClient) => void): void; + + /** + * Unsubscribe 'inputStart' + * @since 8 + * @param type inputStart + * @param callback optional, give keyboard controller and text input client + */ + off(type: 'inputStart', callback?: (kbController: KeyboardController, textInputClient: TextInputClient) => void): void; + + /** + * Subscribe 'keyboardShow'|'keyboardHide' + * @since 8 + * @param type keyboardShow|keyboardHide + */ + on(type: 'keyboardShow'|'keyboardHide', callback: () => void): void; + + /** + * Unsubscribe 'keyboardShow'|'keyboardHide' + * @since 8 + * @param type keyboardShow|keyboardHide + */ + off(type: 'keyboardShow'|'keyboardHide', callback?: () => void): void; + } + + /** + * @since 9 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + interface InputMethodAbility { + /** + * Subscribe 'inputStart' event. + * @since 9 + * @param { 'inputStart' } type - the type of subscribe event. + * @param { (kbController: KeyboardController, inputClient: InputClient) => void) } callback - the callback of on('inputStart'). + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + on(type: 'inputStart', callback: (kbController: KeyboardController, inputClient: InputClient) => void): void; + + /** + * Unsubscribe 'inputStart' event. + * @since 9 + * @param { 'inputStart' } type - the type of unsubscribe event. + * @param { (kbController: KeyboardController, inputClient: InputClient) => void) } [callback] - the callback of off('inputStart'). + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + off(type: 'inputStart', callback?: (kbController: KeyboardController, inputClient: InputClient) => void): void; + + /** + * Subscribe 'inputStop'. + * @since 9 + * @param { 'inputStop' } type - the type of subscribe event. + * @param { () => void } callback - the callback of on('inputStop'). + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + on(type: 'inputStop', callback: () => void): void; + + /** + * Unsubscribe 'inputStop'. + * @since 9 + * @param { 'inputStop' } type - the type of unsubscribe event. + * @param { () => void } callback - the callback of off('inputStop'). + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + off(type: 'inputStop', callback: () => void): void; + + /** + * Subscribe 'setCallingWindow'. + * @since 9 + * @param { 'setCallingWindow' } type - the type of subscribe event. + * @param { (wid:number) => void } callback - the callback of on('setCallingWindow'). + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + on(type: 'setCallingWindow', callback: (wid:number) => void): void; + + /** + * Unsubscribe 'setCallingWindow'. + * @since 9 + * @param { 'setCallingWindow' } type - the type of unsubscribe event. + * @param { (wid:number) => void } callback - the callback of off('setCallingWindow'). + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + off(type: 'setCallingWindow', callback: (wid:number) => void): void; + + /** + * Subscribe 'keyboardShow'|'keyboardHide'. + * @since 9 + * @param { 'keyboardShow'|'keyboardHide' } type - the type of subscribe event. + * @param { () => void } callback - the callback of on('keyboardShow'|'keyboardHide'). + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + on(type: 'keyboardShow'|'keyboardHide', callback: () => void): void; + + /** + * Unsubscribe 'keyboardShow'|'keyboardHide'. + * @since 9 + * @param { 'keyboardShow'|'keyboardHide' } type - the type of unsubscribe event. + * @param { () => void } [callback] - the callback of off('keyboardShow'|'keyboardHide'). + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + off(type: 'keyboardShow'|'keyboardHide', callback?: () => void): void; + + /** + * Subscribe 'setSubtype'. + * @since 9 + * @param { 'setSubtype' } type - the type of subscribe event. + * @param { (inputMethodSubtype: InputMethodSubtype) => void } callback - the callback of on('setSubtype'). + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + on(type: 'setSubtype', callback: (inputMethodSubtype: InputMethodSubtype) => void): void; + + /** + * Unsubscribe 'setSubtype'. + * @since 9 + * @param { 'setSubtype' } type - the type of subscribe event. + * @param { (inputMethodSubtype: InputMethodSubtype) => void } [callback] - the callback of off('setSubtype'). + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + off(type: 'setSubtype', callback?: (inputMethodSubtype: InputMethodSubtype) => void): void; + } + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.InputClient + */ + interface TextInputClient { + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.InputClient.sendKeyFunction + */ + sendKeyFunction(action: number, callback: AsyncCallback): void; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.InputClient.sendKeyFunction + */ + sendKeyFunction(action: number): Promise; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.InputClient.deleteForward + */ + deleteForward(length: number, callback: AsyncCallback): void; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.InputClient.deleteForward + */ + deleteForward(length: number): Promise; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.InputClient.deleteBackward + */ + deleteBackward(length: number, callback: AsyncCallback): void; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.InputClient.deleteBackward + */ + deleteBackward(length: number): Promise; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.InputClient.insertText + */ + insertText(text: string, callback: AsyncCallback): void; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.InputClient.insertText + */ + insertText(text: string): Promise; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.InputClient.getForward + */ + getForward(length: number, callback: AsyncCallback): void; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.InputClient.getForward + */ + getForward(length: number): Promise; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.InputClient.getBackward + */ + getBackward(length: number, callback: AsyncCallback): void; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.InputClient.getBackward + */ + getBackward(length: number): Promise; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.InputClient.getEditorAttribute + */ + getEditorAttribute(callback: AsyncCallback): void; + + /** + * @since 8 + * @deprecated since 9 + * @useinstead ohos.inputMethodEngine.InputClient.getEditorAttribute + */ + getEditorAttribute(): Promise; + } + + /** + *

Controls events about Editor.

+ * @interface InputClient + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 9 + */ + interface InputClient { + /** + * Send the function of the key. + * @since 9 + * @param { number } action - action indicates the function of "enter" key. + * @param { AsyncCallback } callback - the callback of sendKeyFunction. + * @throws { BusinessError } 401 - parameter error. + * @throws { BusinessError } 12800003 - input method client error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + sendKeyFunction(action: number, callback: AsyncCallback): void; + + /** + * Send the function of the key. + * @since 9 + * @param { number } action - action indicates the function of "enter" key. + * @returns { Promise } the promise returned by the function. + * @throws { BusinessError } 401 - parameter error. + * @throws { BusinessError } 12800003 - input method client error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + sendKeyFunction(action: number): Promise; + + /** + * Delete text forward. + * @since 9 + * @param { number } length - length of text which will be deleted forward. + * @param { AsyncCallback } callback - the callback of deleteForward. + * @throws { BusinessError } 401 - parameter error. + * @throws { BusinessError } 12800002 - Input method engine error. + * @throws { BusinessError } 12800003 - input method client error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + deleteForward(length: number, callback: AsyncCallback): void; + + /** + * Delete text forward. + * @param { number } length - length of text which will be deleted forward. + * @returns { Promise } the promise returned by the function. + * @throws { BusinessError } 401 - parameter error. + * @throws { BusinessError } 12800002 - Input method engine error. + * @throws { BusinessError } 12800003 - input method client error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 9 + */ + deleteForward(length: number): Promise; + + /** + * Delete text backward. + * @param { number } length - length of text which will be deleted backward. + * @param { AsyncCallback } callback - the callback of deleteBackward. + * @throws { BusinessError } 401 - parameter error. + * @throws { BusinessError } 12800002 - Input method engine error. + * @throws { BusinessError } 12800003 - input method client error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 9 + */ + deleteBackward(length: number, callback: AsyncCallback): void; + + /** + * Delete text backward. + * @param { number } length - length of text which will be deleted backward. + * @returns { Promise } the promise returned by the function. + * @throws { BusinessError } 401 - parameter error. + * @throws { BusinessError } 12800002 - Input method engine error. + * @throws { BusinessError } 12800003 - input method client error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 9 + */ + deleteBackward(length: number): Promise; + + /** + * Insert text into Editor. + * @param { string } text - text which will be inserted. + * @param { AsyncCallback } callback - the callback of insertText. + * @throws { BusinessError } 401 - parameter error. + * @throws { BusinessError } 12800002 - Input method engine error. + * @throws { BusinessError } 12800003 - input method client error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 9 + */ + insertText(text: string, callback: AsyncCallback): void; + + /** + * Insert text into Editor. + * @param { string } text - text which will be inserted. + * @returns { Promise } the promise returned by the function. + * @throws { BusinessError } 401 - parameter error. + * @throws { BusinessError } 12800002 - Input method engine error. + * @throws { BusinessError } 12800003 - input method client error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 9 + */ + insertText(text: string): Promise; + + /** + * Get the text before cursor. + * @param { number } length - the length of text which will be got. + * @param { AsyncCallback } callback - the callback of getForward. + * @throws { BusinessError } 401 - parameter error. + * @throws { BusinessError } 12800003 - input method client error. + * @throws { BusinessError } 12800006 - Input method controller error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 9 + */ + getForward(length: number, callback: AsyncCallback): void; + + /** + * Get the text before cursor. + * @param { number } length - the length of text which will be got. + * @returns { Promise } the promise returned by the function. + * @throws { BusinessError } 401 - parameter error. + * @throws { BusinessError } 12800003 - input method client error. + * @throws { BusinessError } 12800006 - Input method controller error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 9 + */ + getForward(length: number): Promise; + + /** + * Get the text after cursor. + * @param { number } length - the length of text which will be got. + * @param { AsyncCallback } callback - the callback of getBackward. + * @throws { BusinessError } 401 - parameter error. + * @throws { BusinessError } 12800003 - input method client error. + * @throws { BusinessError } 12800006 - Input method controller error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 9 + */ + getBackward(length: number, callback: AsyncCallback): void; + + /** + * Get the text after cursor. + * @param { number } length - the length of text which will be got. + * @returns { Promise } the promise returned by the function. + * @throws { BusinessError } 401 - parameter error. + * @throws { BusinessError } 12800003 - input method client error. + * @throws { BusinessError } 12800006 - Input method controller error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 9 + */ + getBackward(length: number): Promise; + + /** + * Get attribute about editor. + * @param { AsyncCallback } callback - the callback of getEditorAttribute. + * @throws { BusinessError } 12800003 - input method client error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @since 9 + */ + getEditorAttribute(callback: AsyncCallback): void; + + /** + * Get attribute about editor. + * @since 9 + * @returns { Promise } the promise returned by the function. + * @throws { BusinessError } 12800003 - input method client error. + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + getEditorAttribute(): Promise; + + /** + * Move cursor from input method. + * + * @since 9 + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @param { number } direction - Indicates the distance of cursor to be moved. + * @param { AsyncCallback } callback - the callback of moveCursor. + * @throws { BusinessError } 401 - parameter error. + * @throws { BusinessError } 12800003 - input method client error. + */ + moveCursor(direction: number, callback: AsyncCallback): void; + + /** + * Move cursor from input method. + * + * @since 9 + * @syscap SystemCapability.MiscServices.InputMethodFramework + * @param { number } direction - Indicates the distance of cursor to be moved. + * @returns { Promise } the promise returned by the function. + * @throws { BusinessError } 401 - parameter error. + * @throws { BusinessError } 12800003 - input method client error. + */ + moveCursor(direction: number): Promise; + } + + /** + * @since 8 + */ + interface KeyboardDelegate { + /** + * Subscribe key up or down event + * + * @since 8 + */ + on(type: 'keyDown'|'keyUp', callback: (event: KeyEvent) => boolean): void; + + /** + * Unsubscribe key up or down event + * + * @since 8 + */ + off(type: 'keyDown'|'keyUp', callback?: (event: KeyEvent) => boolean): void; + + /** + * Subscribe cursor context change + * + * @since 8 + */ + on(type: 'cursorContextChange', callback: (x: number, y: number, height: number) => void): void; + + /** + * Unsubscribe cursor context change + * + * @since 8 + */ + off(type: 'cursorContextChange', callback?: (x: number, y: number, height: number) => void): void; + + /** + * Subscribe selection change + * + * @since 8 + */ + on(type: 'selectionChange', callback: (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void): void; + + /** + * Unsubscribe selection change + * + * @since 8 + */ + off(type: 'selectionChange', callback?: (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void): void; + + /** + * Subscribe text change + * + * @since 8 + */ + on(type: 'textChange', callback: (text: string) => void): void; + + /** + * Unsubscribe text change + * + * @since 8 + */ + off(type: 'textChange', callback?: (text: string) => void): void; + } + + /** + * @since 8 + */ + interface EditorAttribute { + /** + * Editor's pattern + * + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + readonly inputPattern: number; + + /** + * Editor's key type + * + * @since 8 + * @syscap SystemCapability.MiscServices.InputMethodFramework + */ + readonly enterKeyType: number; + } + + /** + * @since 8 + */ + interface KeyEvent { + /** + * Key code + * + * @since 8 + */ + readonly keyCode: number; + + /** + * Key action + * + * @since 8 + */ + readonly keyAction: number; + } +} + +export default inputMethodEngine;