# 多模输入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.ts 以上模块中的异步接口变更为参数检查错误同步抛出,业务逻辑错误通过AsyncCallback或Promise的error对象抛出,同步接口不作变更。 **变更影响** 基于此前版本开发的应用,需适配接口的错误信息返回方式,否则会影响原有业务逻辑。 **关键接口/组件变更** - supportKeys(deviceId: **number**, keys: Array, callback: AsyncCallback>): **void**; - supportKeys(deviceId: **number**, keys: Array): Promise>; - getKeyboardType(deviceId: **number**, callback: AsyncCallback): **void**; > - getKeyboardType(deviceId: **number**): Promise; - setPointerSpeed(speed: **number**, callback: AsyncCallback<**void**>): **void**; - setPointerSpeed(speed: **number**): Promise<**void**>; - getPointerSpeed(callback: AsyncCallback<**number**>): **void**; - getPointerSpeed(): Promise<**number**>; - setPointerStyle(windowId: **number**, pointerStyle: PointerStyle, callback: AsyncCallback<**void**>): **void**; - setPointerStyle(windowId: **number**, pointerStyle: PointerStyle): Promise<**void**>; - getPointerStyle(windowId: **number**, callback: AsyncCallback): **void**; - getPointerStyle(windowId: **number**): Promise; - setPointerVisible(visible: boolean, callback: AsyncCallback<**void**>): **void**; - setPointerVisible(visible: boolean): Promise<**void**>; - isPointerVisible(callback: AsyncCallback): **void**; - isPointerVisible(): Promise; - on(**type**:"touch", receiver:TouchEventReceiver):**void**; - on(**type**:"mouse", receiver:Callback):**void**; - off(**type**:"touch", receiver?:TouchEventReceiver):**void**; - off(**type**:"mouse", receiver?:Callback):**void**; - injectEvent({KeyEvent: KeyEvent}): **void**; - enable(enable: boolean, callback: AsyncCallback<**void**>): **void**; - enable(enable: boolean): Promise<**void**>; - start(sinkDeviceDescriptor: **string**, srcInputDeviceId: **number**, callback: AsyncCallback<**void**>): **void**; - start(sinkDeviceDescriptor: **string**, srcInputDeviceId: **number**): Promise<**void**>; - stop(callback: AsyncCallback<**void**>): **void**; - stop(): Promise<**void**>; - getState(deviceDescriptor: **string**, callback: AsyncCallback<{ state: boolean }>): **void**; - getState(deviceDescriptor: **string**): Promise<{ state: boolean }>; - on(**type**: 'cooperation', callback: AsyncCallback<{ deviceDescriptor: **string**, eventMsg: EventMsg }>): **void**; - off(**type**: 'cooperation', callback?: AsyncCallback<**void**>): **void**; - on(**type**: "key", keyOptions: KeyOptions, callback: Callback): **void**; - off(**type**: "key", keyOptions: KeyOptions, callback?: Callback): **void**; 以下接口标记废除: - getDeviceIds(callback: AsyncCallback>): **void**; - getDeviceIds(): Promise>; - getDevice(deviceId: **number**, callback: AsyncCallback): **void**; - getDevice(deviceId: **number**): Promise; 替代接口如下: - getDeviceList(callback: AsyncCallback>): **void**; - getDeviceList(): Promise>; - getDeviceInfo(deviceId: **number**, callback: AsyncCallback): **void**; - getDeviceInfo(deviceId: **number**): Promise; 以下接口发生变更 变更前: - supportKeys(deviceId: **number**, keys: Array, callback: Callback>): **void**; - getKeyboardType(deviceId: **number**, callback: Callback): **void**; 变更后: - supportKeys(deviceId: **number**, keys: Array, callback: AsyncCallback>): **void**; - 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`])}`); } ```