
回复
作为一个在多设备办公中反复横跳的打工人,终于发现HarmonyOS的分布式硬件管理有多香!上次开会用一套键鼠控制电脑和平板,同事以为我开了外挂,今天就把这些神仙功能分享给大家~
上周部门汇报时,我用电脑键鼠直接操作旁边的平板翻PPT,领导还以为我提前同步好了~ 其实HarmonyOS的键鼠穿越功能,能让一套键鼠控制多台设备:
import { distributedInputManager } from '@kit.DistributedServiceKit';
// 创建设备输入管理器
let inputMgr = distributedInputManager.createInputManager();
let 目标设备ID = '同事平板的deviceId';
// 鼠标移动到目标设备的(100, 100)坐标
inputMgr.sendMouseEvent(目标设备ID, { type:'move', x: 100, y: 100 });
// 模拟键盘输入"Hello"
inputMgr.sendKeyEvent(目标设备ID, { type:'down', keyCode: 'H'.charCodeAt(0) });
这段代码就像给键鼠装了传送门,注意要先完成设备认证哦~
之前公司每台电脑都接打印机,现在用HarmonyOS共享一台:
import { distributedPeripheralManager } from '@kit.DistributedServiceKit';
let 打印机ID = '客厅打印机的deviceId';
let 打印管理器 = distributedPeripheralManager.createPeripheralManager();
// 发送打印任务(假设文件路径已准备好)
打印管理器.sendPrintTask(打印机ID, { filePath: '/文档/会议纪要.docx' })
.then(() => console.log('打印任务已发送'))
.catch(err => console.error('打印失败:' + err.message));
记得先确认打印机支持分布式共享哦~
问题场景 | 解决办法 | 我的实战经验 |
---|---|---|
键鼠延迟高 | 连同一个Wi-Fi,关闭蓝牙再试 | 隔墙时用5G频段更稳定 |
外设连不上 | 检查设备ID是否正确,重启外设 | 打印机断电重启解决80%问题 |
权限报错 | 配置文件加这行:"ohos.permission.DISTRIBUTED_DEVICE_CONTROL" |
第一次忘加权限,找了半小时 |
第一次用键鼠穿越时,同事看我鼠标在两台设备间飞来飞去,问我是不是学了黑客技术~ 其实HarmonyOS把复杂的分布式协议封装得很简单,现在我家里的电视、平板、打印机全连在一起,用手机就能控制所有设备~