diff --git a/zh-cn/application-dev/reference/apis/js-apis-inputdevice.md b/zh-cn/application-dev/reference/apis/js-apis-inputdevice.md index 6fef87683c76e94cedffda11ac46a4b3380be9b2..11b43fba34acd39ddb16acc3e098a054976e8e69 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-inputdevice.md +++ b/zh-cn/application-dev/reference/apis/js-apis-inputdevice.md @@ -33,14 +33,26 @@ on(type: “change”, listener: Callback<DeviceListener>): void **示例:** ```js -inputDevice.on("change", (callback)=>{ - console.log("type: " + callback.type + ", deviceId: " + callback.deviceId); +let isPhysicalKeyboardExist = true; +inputDevice.on("change", (data) => { + console.log("type: " + data.type + ", deviceId: " + data.deviceId); + inputDevice.getKeyboardType(data.deviceId, (ret) => { + console.log("The keyboard type of the device is: " + ret); + if (ret == inputDevice.KeyboardType.ALPHABETIC_KEYBOARD && data.type == 'add') { + // 监听物理键盘已连接。 + isPhysicalKeyboardExist = true; + } else if (ret == inputDevice.KeyboardType.ALPHABETIC_KEYBOARD && data.type == 'remove') { + // 监听物理键盘已断开。 + isPhysicalKeyboardExist = false; + } + }); }); +// 根据isPhysicalKeyboardExist的值决定软键盘是否弹出。 ``` ## inputDevice.off9+ -on(type: “change”, listener?: Callback<DeviceListener>): void +off(type: “change”, listener?: Callback<DeviceListener>): void 取消监听设备的热插拔事件。 @@ -56,7 +68,16 @@ on(type: “change”, listener?: Callback<DeviceListener>): void **示例:** ```js +listener: function(data) { + console.log("type: " + data.type + ", deviceId: " + data.deviceId); +} + +// 单独取消listener的监听。 +inputDevice.off("change", this.listener); + +// 取消所有监听 inputDevice.off("change"); +// 取消监听后,软键盘默认都弹出 ``` ## inputDevice.getDeviceIds @@ -361,4 +382,4 @@ inputDevice.getKeyboardType().then((ret)=>{ | ALPHABETIC_KEYBOARD | number | 2 | 表示全键盘设备。 | | DIGITAL_KEYBOARD | number | 3 | 表示小键盘设备。 | | HANDWRITING_PEN | number | 4 | 表示手写笔设备。 | -| REMOTE_CONTROL | number | 5 | 表示遥控器设备。 | \ No newline at end of file +| REMOTE_CONTROL | number | 5 | 表示遥控器设备。 |