diff --git a/zh-cn/release-notes/changelogs/OpenHarmony_3.2.8.1/changelogs-multimodalinput.md b/zh-cn/release-notes/changelogs/OpenHarmony_3.2.8.1/changelogs-multimodalinput.md new file mode 100755 index 0000000000000000000000000000000000000000..5cf5ee1992c12c930345035ec42bbf6c340b458a --- /dev/null +++ b/zh-cn/release-notes/changelogs/OpenHarmony_3.2.8.1/changelogs-multimodalinput.md @@ -0,0 +1,119 @@ +# 多模输入changeLog + +## cl.multimodalinput.1 API错误信息返回方式变更 + +如下接口使用业务逻辑返回值表示错误信息,不符合OpenHarmony接口错误码规范。从API9开始作以下变更, + 设备管理:三方接口,@ohos.multimodalInput.inputDevice.d.ts + +按键订阅:系统接口,@ohos.multimodalInput.inputConsumer.d.ts + +键鼠穿越:系统接口,@ohos.multimodalInput.inputDeviceCooperate.d.ts + +按键注入:系统接口,@ohos.multimodalInput.inputEventClient.d.ts + +事件监听:系统接口,@ohos.multimodalInput.inputMonitor.d.ts + +指针事件:系统接口和三方接口,@ohos.multimodalInput.pointer.d.t + +异步接口:通过AsyncCallback或Promise的error对象返回错误信息。 + +同步接口:不涉及。 + +**变更影响** + +基于此前版本开发的应用,需适配接口的错误信息返回方式,否则会影响原有业务逻辑。 + +**关键接口/组件变更** + +以下接口标记废除: + + - **function** getDeviceIds(callback: AsyncCallback>): **void**; + + - **function** getDeviceIds(): Promise>; + + - **function** getDevice(deviceId: **number**, callback: AsyncCallback): **void**; + + **function** getDevice(deviceId: **number**): Promise; + +替代接口如下: + + - **function** getDeviceList(callback: AsyncCallback>): **void**; + + - **function** getDeviceList(): Promise>; + + - **function** getDeviceInfo(deviceId: **number**, callback: AsyncCallback): **void**; + + - **function** getDeviceInfo(deviceId: **number**): Promise; + +以下接口增加错误码处理: + - **function** supportKeys(deviceId: **number**, keys: Array, callback: AsyncCallback>): **void**; + - **function** supportKeys(deviceId: **number**, keys: Array): Promise>; + - **function** getKeyboardType(deviceId: **number**, callback: AsyncCallback): **void**; > + - **function** getKeyboardType(deviceId: **number**): Promise; + - **function** setPointerSpeed(speed: **number**, callback: AsyncCallback<**void**>): **void**; + - **function** setPointerSpeed(speed: **number**): Promise<**void**>; + - **function** getPointerSpeed(callback: AsyncCallback<**number**>): **void**; + - **function** getPointerSpeed(): Promise<**number**>; + - **function** setPointerStyle(windowId: **number**, pointerStyle: PointerStyle, callback: AsyncCallback<**void**>): **void**; + - **function** setPointerStyle(windowId: **number**, pointerStyle: PointerStyle): Promise<**void**>; + - **function** getPointerStyle(windowId: **number**, callback: AsyncCallback): **void**; + - **function** getPointerStyle(windowId: **number**): Promise; + - **function** setPointerVisible(visible: boolean, callback: AsyncCallback<**void**>): **void**; + - **function** setPointerVisible(visible: boolean): Promise<**void**>; + - **function** isPointerVisible(callback: AsyncCallback): **void**; + - **function** isPointerVisible(): Promise; + - **function** on(**type**:"touch", receiver:TouchEventReceiver):**void**; + - **function** on(**type**:"mouse", receiver:Callback):**void**; + - **function** off(**type**:"touch", receiver?:TouchEventReceiver):**void**; + - **function** off(**type**:"mouse", receiver?:Callback):**void**; + - **function** injectEvent({KeyEvent: KeyEvent}): **void**; + - **function** enable(enable: boolean, callback: AsyncCallback<**void**>): **void**; + - **function** enable(enable: boolean): Promise<**void**>; + - **function** start(sinkDeviceDescriptor: **string**, srcInputDeviceId: **number**, callback: AsyncCallback<**void**>): **void**; + - **function** start(sinkDeviceDescriptor: **string**, srcInputDeviceId: **number**): Promise<**void**>; + - **function** stop(callback: AsyncCallback<**void**>): **void**; + - **function** stop(): Promise<**void**>; + - **function** getState(deviceDescriptor: **string**, callback: AsyncCallback<{ state: boolean }>): **void**; + - **function** getState(deviceDescriptor: **string**): Promise<{ state: boolean }>; + - **function** on(**type**: 'cooperation', callback: AsyncCallback<{ deviceDescriptor: **string**, eventMsg: EventMsg }>): **void**; + - **function** off(**type**: 'cooperation', callback?: AsyncCallback<**void**>): **void**; + - **function** on(**type**: "key", keyOptions: KeyOptions, callback: Callback): **void**; + - **function** off(**type**: "key", keyOptions: KeyOptions, callback?: Callback): **void**; + +**以下接口发生变更** + +变更前: + +- **function** supportKeys(deviceId: **number**, keys: Array, callback: Callback>): **void**; + +- **function** getKeyboardType(deviceId: **number**, callback: Callback): **void**; + +变更后: + +- **function** supportKeys(deviceId: **number**, keys: Array, callback: AsyncCallback>): **void**; + +- **function** getKeyboardType(deviceId: **number**, callback: AsyncCallback): **void**; + +**适配指导** + +以setPointerVisible为例,示例代码如下: + +```ts +import pointer from '@ohos.multimodalInput.pointer'; +pointer.setPointerVisible(true, (error) => { + console.log(`Set pointer visible success`); + }); + +try { + pointer.setPointerVisible(true, (error) => { + if (error) { + console.log(`Set pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`); + return; + } + console.log(`Set pointer visible success`); + }); +} catch (error) { + console.log(`Set pointer visible failed, error: ${JSON.stringify(error, [`code`, `message`])}`); +} +``` +