@ohos.multimodalInput.inputDeviceCooperate (Screen Hopping)
The inputDeviceCooperate module enables two or more networked devices to share the keyboard and mouse for collaborative operations.
NOTE
- The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
- The APIs provided by this module are system APIs.
Modules to Import
import inputDeviceCooperate from '@ohos.multimodalInput.inputDeviceCooperate'
inputDeviceCooperate.enable
enable(enable: boolean, callback: AsyncCallback<void>): void
Specifies whether to enable screen hopping. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.MultimodalInput.Input.Cooperator
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
enable | boolean | Yes | Whether to enable screen hopping. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. |
Example
try {
inputDeviceCooperate.enable(true, (error) => {
if (error) {
console.log(`Keyboard mouse crossing enable failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`Keyboard mouse crossing enable success.`);
});
} catch (error) {
console.log(`Keyboard mouse crossing enable failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputDeviceCooperate.enable
enable(enable: boolean): Promise<void>
Specifies whether to enable screen hopping. This API uses a promise to return the result.
System capability: SystemCapability.MultimodalInput.Input.Cooperator
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
enable | boolean | Yes | Whether to enable screen hopping. |
Return value
Name | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
try {
inputDeviceCooperate.enable(true).then(() => {
console.log(`Keyboard mouse crossing enable success.`);
}, (error) => {
console.log(`Keyboard mouse crossing enable failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
});
} catch (error) {
console.log(`Keyboard mouse crossing enable failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputDeviceCooperate.start
start(sinkDeviceDescriptor: string, srcInputDeviceId: number, callback: AsyncCallback<void>): void
Starts screen hopping. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.MultimodalInput.Input.Cooperator
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
sinkDeviceDescriptor | string | Yes | Descriptor of the target device for screen hopping. |
srcInputDeviceId | number | Yes | ID of the target device for screen hopping. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. |
Error codes
For details about the error codes, see Screen Hopping Error Codes.
ID | Error Message |
---|---|
4400001 | This error code is reported if an invalid device descriptor is passed to the screen hopping API. |
4400002 | This error code is reported if the screen hopping status is abnormal when the screen hopping API is called. |
Example
let sinkDeviceDescriptor = "descriptor";
let srcInputDeviceId = 0;
try {
inputDeviceCooperate.start(sinkDeviceDescriptor, srcInputDeviceId, (error) => {
if (error) {
console.log(`Start Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`Start Keyboard mouse crossing success.`);
});
} catch (error) {
console.log(`Start Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputDeviceCooperate.start
start(sinkDeviceDescriptor: string, srcInputDeviceId: number): Promise<void>
Starts screen hopping. This API uses a promise to return the result.
System capability: SystemCapability.MultimodalInput.Input.Cooperator
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
sinkDeviceDescriptor | string | Yes | Descriptor of the target device for screen hopping. |
srcInputDeviceId | number | Yes | ID of the target device for screen hopping. |
Return value
Name | Description |
---|---|
Promise<void> | Promise used to return the result. |
Error codes
For details about the error codes, see Screen Hopping Error Codes.
ID | Error Message |
---|---|
4400001 | This error code is reported if an invalid device descriptor is passed to the screen hopping API. |
4400002 | This error code is reported if the screen hopping status is abnormal when the screen hopping API is called. |
Example
let sinkDeviceDescriptor = "descriptor";
let srcInputDeviceId = 0;
try {
inputDeviceCooperate.start(sinkDeviceDescriptor, srcInputDeviceId).then(() => {
console.log(`Start Keyboard mouse crossing success.`);
}, (error) => {
console.log(`Start Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
});
} catch (error) {
console.log(`Start Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputDeviceCooperate.stop
stop(callback: AsyncCallback<void>): void
Stops screen hopping. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.MultimodalInput.Input.Cooperator
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<void> | Yes | Callback used to return the result. |
Example
try {
inputDeviceCooperate.stop((error) => {
if (error) {
console.log(`Stop Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`Stop Keyboard mouse crossing success.`);
});
} catch (error) {
console.log(`Stop Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputDeviceCooperate.stop
stop(): Promise<void>
Stops screen hopping. This API uses a promise to return the result.
System capability: SystemCapability.MultimodalInput.Input.Cooperator
Return value
Name | Description |
---|---|
Promise<void> | Promise used to return the result. |
Example
try {
inputDeviceCooperate.stop().then(() => {
console.log(`Stop Keyboard mouse crossing success.`);
}, (error) => {
console.log(`Stop Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
});
} catch (error) {
console.log(`Stop Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputDeviceCooperate.getState
getState(deviceDescriptor: string, callback: AsyncCallback<{ state: boolean }>): void
Checks whether screen hopping is enabled. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.MultimodalInput.Input.Cooperator
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
deviceDescriptor | string | Yes | Descriptor of the target device for screen hopping. |
callback | AsyncCallback<{ state: boolean }> | Yes | Callback used to return the result. |
Example
let deviceDescriptor = "descriptor";
try {
inputDeviceCooperate.getState(deviceDescriptor, (error, data) => {
if (error) {
console.log(`Get the status failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`Get the status success, data: ${JSON.stringify(data)}`);
});
} catch (error) {
console.log(`Get the status failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
inputDeviceCooperate.getState
getState(deviceDescriptor: string): Promise<{ state: boolean }>
Checks whether screen hopping is enabled. This API uses a promise to return the result.
System capability: SystemCapability.MultimodalInput.Input.Cooperator
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
deviceDescriptor | string | Yes | Descriptor of the target device for screen hopping. |
Return value
Name | Description |
---|---|
Promise<{ state: boolean }> | Promise used to return the result. |
Example
try {
inputDeviceCooperate.getState(deviceDescriptor).then((data) => {
console.log(`Get the status success, data: ${JSON.stringify(data)}`);
}, (error) => {
console.log(`Get the status failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
});
} catch (error) {
console.log(`Get the status failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
on('cooperation')
on(type: 'cooperation', callback: AsyncCallback<{ deviceDescriptor: string, eventMsg: EventMsg }>): void
Enables listening for screen hopping events.
System capability: SystemCapability.MultimodalInput.Input.Cooperator
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. The value is cooperation. |
callback | AsyncCallback<{ deviceDescriptor: string, eventMsg: EventMsg }> | Yes | Callback used to return the result. |
Example
try {
inputDeviceCooperate.on('cooperation', (data) => {
console.log(`Keyboard mouse crossing event: ${JSON.stringify(data)}`);
});
} catch (error) {
console.log(`Register failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
off('cooperation')
off(type: 'cooperation', callback?: AsyncCallback<void>): void
Disables listening for screen hopping events.
System capability: SystemCapability.MultimodalInput.Input.Cooperator
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
type | string | Yes | Event type. The value is cooperation. |
callback | AsyncCallback<void> | No | Callback to be unregistered. If this parameter is not specified, all callbacks registered by the current application will be unregistered. |
Example
// Unregister a single callback.
function callback(event) {
console.log(`Keyboard mouse crossing event: ${JSON.stringify(event)}`);
return false;
}
try {
inputDeviceCooperate.on('cooperation', callback);
inputDeviceCooperate.off("cooperation", callback);
} catch (error) {
console.log(`Execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
// Unregister all callbacks.
function callback(event) {
console.log(`Keyboard mouse crossing event: ${JSON.stringify(event)}`);
return false;
}
try {
inputDeviceCooperate.on('cooperation', callback);
inputDeviceCooperate.off("cooperation");
} catch (error) {
console.log(`Execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
EventMsg
Enumerates screen hopping event.
System capability: SystemCapability.MultimodalInput.Input.Cooperator
Name | Value | Description |
---|---|---|
MSG_COOPERATE_INFO_START | 200 | Screen hopping starts. |
MSG_COOPERATE_INFO_SUCCESS | 201 | Screen hopping succeeds. |
MSG_COOPERATE_INFO_FAIL | 202 | Screen hopping fails. |
MSG_COOPERATE_STATE_ON | 500 | Screen hopping is enabled. |
MSG_COOPERATE_STATE_OFF | 501 | Screen hopping is disabled. |