# JS API Changes of the Multimodal Input Subsystem The table below lists the APIs changes of the multimodal input subsystem in OpenHarmony 3.2 Beta3 over OpenHarmony 3.2 Beta2. ## API Changes | Module| Class| Method/Attribute/Enumeration/Constant| Change Type| |---|---|---|---| | ohos.multimodalInput.inputDeviceCooperate | inputDeviceCooperate | off(type: 'cooperation', callback?: AsyncCallback\): void; | Added| | ohos.multimodalInput.inputDeviceCooperate | inputDeviceCooperate | on(type: 'cooperation', callback: AsyncCallback\<{ deviceDescriptor: string, eventMsg: EventMsg }>): void; | Added| | ohos.multimodalInput.inputDeviceCooperate | inputDeviceCooperate | getState(deviceDescriptor: string, callback: AsyncCallback\<{ state: boolean }>): void;
getState(deviceDescriptor: string): Promise\<{ state: boolean }>; | Added| | ohos.multimodalInput.inputDeviceCooperate | inputDeviceCooperate | stop(callback: AsyncCallback\): void;
stop(): Promise\; | Added| | ohos.multimodalInput.inputDeviceCooperate | inputDeviceCooperate | start(sinkDeviceDescriptor: string, srcInputDeviceId: number, callback: AsyncCallback\): void;
start(sinkDeviceDescriptor: string, srcInputDeviceId: number): Promise\; | Added| | ohos.multimodalInput.inputDeviceCooperate | inputDeviceCooperate | enable(enable: boolean, callback: AsyncCallback\): void;
enable(enable: boolean): Promise\; | Added| | ohos.multimodalInput.inputDeviceCooperate | EventMsg | MSG_COOPERATE_STATE_OFF = 501 | Added| | ohos.multimodalInput.inputDeviceCooperate | EventMsg | MSG_COOPERATE_STATE_ON = 500 | Added| | ohos.multimodalInput.inputDeviceCooperate | EventMsg | MSG_COOPERATE_INFO_FAIL = 202 | Added| | ohos.multimodalInput.inputDeviceCooperate | EventMsg | MSG_COOPERATE_INFO_SUCCESS = 201 | Added| | ohos.multimodalInput.inputDeviceCooperate | EventMsg | MSG_COOPERATE_INFO_START = 200 | Added| | ohos.multimodalInput.pointer | pointer | isPointerVisible(callback: AsyncCallback\): void;
isPointerVisible(): Promise\; | Added| | ohos.multimodalInput.pointer | pointer | setPointerVisible(visible: boolean, callback: AsyncCallback\): void;
setPointerVisible(visible: boolean): Promise\; | Added| | ohos.multimodalInput.pointer | pointer | getPointerStyle(windowId: number, callback: AsyncCallback\): void;
getPointerStyle(windowId: number): Promise\; | Added| | ohos.multimodalInput.pointer | pointer | setPointerStyle(windowId: number, pointerStyle: PointerStyle, callback: AsyncCallback\): void;
setPointerStyle(windowId: number, pointerStyle: PointerStyle): Promise\; | Added| | ohos.multimodalInput.pointer | pointer | getPointerSpeed(callback: AsyncCallback\): void;
getPointerSpeed(): Promise\; | Added| | ohos.multimodalInput.pointer | pointer | setPointerSpeed(speed: number, callback: AsyncCallback\): void;
setPointerSpeed(speed: number): Promise\; | Added| | ohos.multimodalInput.pointer | PointerStyle | MIDDLE_BTN_NORTH_SOUTH_WEST_EAST | Added| | ohos.multimodalInput.pointer | PointerStyle | MIDDLE_BTN_SOUTH_WEST | Added| | ohos.multimodalInput.pointer | PointerStyle | MIDDLE_BTN_SOUTH_EAST | Added| | ohos.multimodalInput.pointer | PointerStyle | MIDDLE_BTN_NORTH_WEST | Added| | ohos.multimodalInput.pointer | PointerStyle | MIDDLE_BTN_NORTH_EAST | Added| | ohos.multimodalInput.pointer | PointerStyle | MIDDLE_BTN_NORTH_SOUTH | Added| | ohos.multimodalInput.pointer | PointerStyle | MIDDLE_BTN_NORTH | Added| | ohos.multimodalInput.pointer | PointerStyle | MIDDLE_BTN_SOUTH | Added| | ohos.multimodalInput.pointer | PointerStyle | MIDDLE_BTN_WEST | Added| | ohos.multimodalInput.pointer | PointerStyle | MIDDLE_BTN_EAST | Added| | ohos.multimodalInput.pointer | PointerStyle | ZOOM_OUT | Added| | ohos.multimodalInput.pointer | PointerStyle | ZOOM_IN | Added| | ohos.multimodalInput.pointer | PointerStyle | TEXT_CURSOR | Added| | ohos.multimodalInput.pointer | PointerStyle | SCREENSHOT_CURSOR | Added| | ohos.multimodalInput.pointer | PointerStyle | SCREENSHOT_CHOOSE | Added| | ohos.multimodalInput.pointer | PointerStyle | RESIZE_UP_DOWN | Added| | ohos.multimodalInput.pointer | PointerStyle | RESIZE_LEFT_RIGHT | Added| | ohos.multimodalInput.pointer | PointerStyle | MOVE | Added| | ohos.multimodalInput.pointer | PointerStyle | HELP | Added| | ohos.multimodalInput.pointer | PointerStyle | HAND_POINTING | Added| | ohos.multimodalInput.pointer | PointerStyle | HAND_OPEN | Added| | ohos.multimodalInput.pointer | PointerStyle | HAND_GRABBING | Added| | ohos.multimodalInput.pointer | PointerStyle | COLOR_SUCKER | Added| | ohos.multimodalInput.pointer | PointerStyle | CURSOR_FORBID | Added| | ohos.multimodalInput.pointer | PointerStyle | CURSOR_COPY | Added| | ohos.multimodalInput.pointer | PointerStyle | CROSS | Added| | ohos.multimodalInput.pointer | PointerStyle | NORTH_WEST_SOUTH_EAST | Added| | ohos.multimodalInput.pointer | PointerStyle | NORTH_EAST_SOUTH_WEST | Added| | ohos.multimodalInput.pointer | PointerStyle | SOUTH_WEST | Added| | ohos.multimodalInput.pointer | PointerStyle | SOUTH_EAST | Added| | ohos.multimodalInput.pointer | PointerStyle | NORTH_WEST | Added| | ohos.multimodalInput.pointer | PointerStyle | NORTH_EAST | Added| | ohos.multimodalInput.pointer | PointerStyle | NORTH_SOUTH | Added| | ohos.multimodalInput.pointer | PointerStyle | WEST_EAST | Added| | ohos.multimodalInput.pointer | PointerStyle | NORTH | Added| | ohos.multimodalInput.pointer | PointerStyle | SOUTH | Added| | ohos.multimodalInput.pointer | PointerStyle | WEST | Added| | ohos.multimodalInput.pointer | PointerStyle | EAST | Added| | ohos.multimodalInput.pointer | PointerStyle | DEFAULT | Added|