HID事件
说明
- HID事件模块运行的所有函数,是需要使用EasyClick HID主控程序激活HID后才可以调用的
- HID主控程序使用请看 高级功能 - HID主控用法 : HID主控 或者使用HID小主机
- 代理事件模块的对象前缀是 hidEvent,例如 hidEvent.click 这样调用
HID网络模式函数
setHidCenter 设置HID主控地址
- 网络模式下使用
- 设置HID主控地址
- 适配版本 EC 安卓 9.15.0+
- @param hidCenterUrl HID主控程序运行的网址
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { // 先设置一下局域网内的HID程序地址,也可以通过FRP软件映射到外网,然后填写外网地址 hidEvent.setHidCenter("http://192.168.2.14:8988") hidEvent.closeUsbDevice(); sleep(3000) let init = hidEvent.initUsbDevice() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false }
return true;}
main();initUsbDevice 初始化HID设备
- 网络模式下使用
- 初始化HID设备
- 适配版本 EC 安卓 9.15.0+
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { // 先设置一下局域网内的HID程序地址,也可以通过FRP软件映射到外网,然后填写外网地址 hidEvent.setHidCenter("http://192.168.2.14:8988") hidEvent.closeUsbDevice(); sleep(3000) let init = hidEvent.initUsbDevice() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false }
return true;}
main();checkFirstPoint 矫正HID坐标
- 网络模式下使用,已经过期了,v2.0.0+HID无需矫正坐标
- 调用 initUsbDevice 再调用这个函数
- 如果HID主控是2.0以上版本 这个函数不用调用了,无需矫正坐标直接点击等动作
- 适配版本 EC 安卓 9.15.0+
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { // 先设置一下局域网内的HID程序地址,也可以通过FRP软件映射到外网,然后填写外网地址 hidEvent.setHidCenter("http://192.168.2.14:8988") hidEvent.closeUsbDevice(); let init = hidEvent.initUsbDevice() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } // 开始矫正屏幕坐标 // 如果HID主控是2.0以上版本 这个函数不用调用了 let po = hidEvent.checkFirstPoint() if (po == null) { logd("矫正坐标成功") } else { loge("矫正坐标失败:" + init); return false } return true;}
main();closeUsbDevice 关闭HID设备
- 网络模式下使用
- 关闭HID设备
- 该操作会取消HID主控和设备的通信,在适当的时候进行操作
- 适配版本 EC 安卓 9.15.0+
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { // 先设置一下局域网内的HID程序地址,也可以通过FRP软件映射到外网,然后填写外网地址 hidEvent.setHidCenter("http://192.168.2.14:8988") hidEvent.closeUsbDevice(); sleep(3000) let init = hidEvent.initUsbDevice() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false }
return true;}
main();clickPoint 点击坐标
- 网络模式下使用
- 适配版本 EC 安卓 9.15.0+
- @param x x坐标
- @param y y坐标
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return } // 点击坐标 0,0的地方 let click = hidEvent.clickPoint(device.getScreenWidth(), device.getScreenHeight()) if (click == null) { logd("点击坐标成功") } else { console.log("点击坐标失败" + click) } sleep(1000) let doub = hidEvent.doubleClickPoint(300, 400) if (doub == null) { logd("双击坐标成功") } else { console.log("双击坐标失败" + doub) }
sleep(1000) let ps = hidEvent.press(600, 800, 2000) if (ps == null) { logd("长按 坐标成功") } else { console.log("长按 坐标失败" + ps) }
sleep(1000) let ps1 = hidEvent.press(device.getScreenWidth(), device.getScreenHeight(), 2000) if (ps1 == null) { logd("长按 坐标成功") } else { console.log("长按 坐标失败" + ps1) }
mtouch()
}
function initHid() { // 先设置一下局域网内的HID程序地址,也可以通过FRP软件映射到外网,然后填写外网地址 hidEvent.setHidCenter("http://192.168.2.14:8988") hidEvent.closeUsbDevice(); sleep(3000) let init = hidEvent.initUsbDevice() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false }
return true;}
function mtouch() { let data = [ {"action": 0, "x": 250, "y": 1800, "pointer": 1, "delay": 100}, {"action": 2, "x": 250, "y": 1700, "pointer": 1, "delay": 100}, {"action": 2, "x": 300, "y": 1700, "pointer": 1, "delay": 100}, {"action": 2, "x": 330, "y": 1650, "pointer": 1, "delay": 200}, {"action": 2, "x": 400, "y": 1650, "pointer": 1, "delay": 100}, {"action": 1, "x": 600, "y": 400, "pointer": 1, "delay": 100} ]
let tou = hidEvent.multiTouch(data, 1000) if (tou == null) { logd("多点触摸 成功") } else { loge("多点触摸 失败:" + tou); return false }}
main();doubleClickPoint 双击坐标
- 适配版本 EC 安卓 9.15.0+
- @param x x坐标
- @param y y坐标
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return } // 点击坐标 0,0的地方 let click = hidEvent.clickPoint(device.getScreenWidth(), device.getScreenHeight()) if (click == null) { logd("点击坐标成功") } else { console.log("点击坐标失败" + click) } sleep(1000) let doub = hidEvent.doubleClickPoint(300, 400) if (doub == null) { logd("双击坐标成功") } else { console.log("双击坐标失败" + doub) }
sleep(1000) let ps = hidEvent.press(600, 800, 2000) if (ps == null) { logd("长按 坐标成功") } else { console.log("长按 坐标失败" + ps) }
sleep(1000) let ps1 = hidEvent.press(device.getScreenWidth(), device.getScreenHeight(), 2000) if (ps1 == null) { logd("长按 坐标成功") } else { console.log("长按 坐标失败" + ps1) }
mtouch()
}
function initHid() { // 先设置一下局域网内的HID程序地址,也可以通过FRP软件映射到外网,然后填写外网地址 hidEvent.setHidCenter("http://192.168.2.14:8988") hidEvent.closeUsbDevice(); sleep(3000) let init = hidEvent.initUsbDevice() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false }
return true;}
function mtouch() { let data = [ {"action": 0, "x": 250, "y": 1800, "pointer": 1, "delay": 100}, {"action": 2, "x": 250, "y": 1700, "pointer": 1, "delay": 100}, {"action": 2, "x": 300, "y": 1700, "pointer": 1, "delay": 100}, {"action": 2, "x": 330, "y": 1650, "pointer": 1, "delay": 200}, {"action": 2, "x": 400, "y": 1650, "pointer": 1, "delay": 100}, {"action": 1, "x": 600, "y": 400, "pointer": 1, "delay": 100} ]
let tou = hidEvent.multiTouch(data, 1000) if (tou == null) { logd("多点触摸 成功") } else { loge("多点触摸 失败:" + tou); return false }}
main();press 长按坐标
- 网络模式下使用
- 长按坐标
- 适配版本 EC 安卓 9.15.0+
- @param x x坐标
- @param y y坐标
- @param delay 按住时间,单位是毫秒
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return } // 点击坐标 0,0的地方 let click = hidEvent.clickPoint(device.getScreenWidth(), device.getScreenHeight()) if (click == null) { logd("点击坐标成功") } else { console.log("点击坐标失败" + click) } sleep(1000) let doub = hidEvent.doubleClickPoint(300, 400) if (doub == null) { logd("双击坐标成功") } else { console.log("双击坐标失败" + doub) }
sleep(1000) let ps = hidEvent.press(600, 800, 2000) if (ps == null) { logd("长按 坐标成功") } else { console.log("长按 坐标失败" + ps) }
sleep(1000) let ps1 = hidEvent.press(device.getScreenWidth(), device.getScreenHeight(), 2000) if (ps1 == null) { logd("长按 坐标成功") } else { console.log("长按 坐标失败" + ps1) }
mtouch()
}
function initHid() { // 先设置一下局域网内的HID程序地址,也可以通过FRP软件映射到外网,然后填写外网地址 hidEvent.setHidCenter("http://192.168.2.14:8988") hidEvent.closeUsbDevice(); sleep(3000) let init = hidEvent.initUsbDevice() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false }
return true;}
function mtouch() { let data = [ {"action": 0, "x": 250, "y": 1800, "pointer": 1, "delay": 100}, {"action": 2, "x": 250, "y": 1700, "pointer": 1, "delay": 100}, {"action": 2, "x": 300, "y": 1700, "pointer": 1, "delay": 100}, {"action": 2, "x": 330, "y": 1650, "pointer": 1, "delay": 200}, {"action": 2, "x": 400, "y": 1650, "pointer": 1, "delay": 100}, {"action": 1, "x": 600, "y": 400, "pointer": 1, "delay": 100} ]
let tou = hidEvent.multiTouch(data, 1000) if (tou == null) { logd("多点触摸 成功") } else { loge("多点触摸 失败:" + tou); return false }}
main();multiTouch 多点触摸
- 网络模式下使用
- 多点触摸
- 适配版本 EC 安卓 9.15.0+
- 触摸参数: action :一般情况下 按下为0,弹起为1,移动为2
- x: X坐标
- y: Y坐标
- pointer:设置第几个手指触摸点,分别是 1,2,3等,代表第n个手指
- delay: 该动作延迟多少毫秒执行
- @param touch1
第1个手指的触摸点数组,例如:
[{"action":0,"x":1,"y":1,"pointer":1,"delay":20},{"action":2,"x":1,"y":1,"pointer":1,"delay":20}] - @param timeout 多点触摸执行的超时时间,单位是毫秒
- @return
{boolean|布尔型}
function main() { let i = initHid() if (!i) { return } // 点击坐标 0,0的地方 let click = hidEvent.clickPoint(device.getScreenWidth(), device.getScreenHeight()) if (click == null) { logd("点击坐标成功") } else { console.log("点击坐标失败" + click) } sleep(1000) let doub = hidEvent.doubleClickPoint(300, 400) if (doub == null) { logd("双击坐标成功") } else { console.log("双击坐标失败" + doub) }
sleep(1000) let ps = hidEvent.press(600, 800, 2000) if (ps == null) { logd("长按 坐标成功") } else { console.log("长按 坐标失败" + ps) }
sleep(1000) let ps1 = hidEvent.press(device.getScreenWidth(), device.getScreenHeight(), 2000) if (ps1 == null) { logd("长按 坐标成功") } else { console.log("长按 坐标失败" + ps1) }
mtouch()
}
function initHid() { // 先设置一下局域网内的HID程序地址,也可以通过FRP软件映射到外网,然后填写外网地址 hidEvent.setHidCenter("http://192.168.2.14:8988") sleep(3000) hidEvent.closeUsbDevice(); let init = hidEvent.initUsbDevice() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false }
return true;}
function mtouch() { let data = [ {"action": 0, "x": 250, "y": 1800, "pointer": 1, "delay": 100}, {"action": 2, "x": 250, "y": 1700, "pointer": 1, "delay": 100}, {"action": 2, "x": 300, "y": 1700, "pointer": 1, "delay": 100}, {"action": 2, "x": 330, "y": 1650, "pointer": 1, "delay": 200}, {"action": 2, "x": 400, "y": 1650, "pointer": 1, "delay": 100}, {"action": 1, "x": 600, "y": 400, "pointer": 1, "delay": 100} ]
let tou = hidEvent.multiTouch(data, 1000) if (tou == null) { logd("多点触摸 成功") } else { loge("多点触摸 失败:" + tou); return false }}
main();swipe 滑动
- 网络模式下使用
- 滑动,自带随机的那种滑动
- 适配版本 EC 安卓 9.36.0+
- @param x 起点x坐标
- @param y 起点y坐标
- @param ex 终点x坐标
- @param ey 终点y坐标
- @param delay 按住时间,单位是毫秒
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { // 先设置一下局域网内的HID程序地址,也可以通过FRP软件映射到外网,然后填写外网地址 hidEvent.setHidCenter("http://192.168.2.14:8988") hidEvent.closeUsbDevice(); sleep(3000) let init = hidEvent.initUsbDevice() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } hidEvent.swipe(100, 200, 600, 800, 2000) return true;}
main();home 主页
- 网络模式下使用
- 适配版本 EC 安卓 10.21.0+
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { // 先设置一下局域网内的HID程序地址,也可以通过FRP软件映射到外网,然后填写外网地址 hidEvent.setHidCenter("http://192.168.2.14:8988") hidEvent.closeUsbDevice(); sleep(3000) let init = hidEvent.initUsbDevice() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } let r = hidEvent.home() logd(r) return true;}
main();back 返回
- 网络模式下使用
- 适配版本 EC 安卓 10.21.0+
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { // 先设置一下局域网内的HID程序地址,也可以通过FRP软件映射到外网,然后填写外网地址 hidEvent.setHidCenter("http://192.168.2.14:8988") hidEvent.closeUsbDevice(); sleep(3000) let init = hidEvent.initUsbDevice() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } let r = hidEvent.back() logd(r) return true;}
main();openNotification 打开状态栏
- 网络模式下使用
- 适配版本 EC 安卓 10.21.0+
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { // 先设置一下局域网内的HID程序地址,也可以通过FRP软件映射到外网,然后填写外网地址 hidEvent.setHidCenter("http://192.168.2.14:8988") hidEvent.closeUsbDevice(); sleep(3000) let init = hidEvent.initUsbDevice() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } let r = hidEvent.openNotification() logd(r) return true;}
main();recentApps 最近任务
- 网络模式下使用
- 适配版本 EC 安卓 10.21.0+
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { // 先设置一下局域网内的HID程序地址,也可以通过FRP软件映射到外网,然后填写外网地址 hidEvent.setHidCenter("http://192.168.2.14:8988") hidEvent.closeUsbDevice(); sleep(3000) let init = hidEvent.initUsbDevice() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } let r = hidEvent.recentApps() logd(r) return true;}
main();HID-USB模式函数
initUsbDeviceByUsb 初始化HID设备
- [USB模式]初始化HID设备
- 适配版本 EC 安卓 10.6.0+
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { let init = hidEvent.initUsbDeviceByUsb() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } let swipe = hidEvent.swipeByUsb(100, 200, 600, 800, 2000) logd("swipe result " + swipe) return true;}
main();clickPointByUsb 点击坐标
- [USB模式]点击坐标
- 适配版本 EC 安卓 10.6.0+
- @param x x坐标
- @param y y坐标
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { let init = hidEvent.initUsbDeviceByUsb() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } let result = hidEvent.clickPointByUsb(600, 800) logd(" result " + result) return true;}
main();doubleClickPointByUsb 双击坐标
- [USB模式]双击坐标
- 适配版本 EC 安卓 10.6.0+
- @param x x坐标
- @param y y坐标
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { let init = hidEvent.initUsbDeviceByUsb() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } let result = hidEvent.doubleClickPointByUsb(600, 800) logd(" result " + result) return true;}
main();pressByUsb 长按坐标
- [USB模式]双击坐标
- 适配版本 EC 安卓 10.6.0+
- @param x x坐标
- @param y y坐标
- @param delay 按住时间,单位是毫秒
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { let init = hidEvent.initUsbDeviceByUsb() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } let result = hidEvent.pressByUsb(600, 800, 5000) logd(" result " + result) return true;}
main();multiTouchByUsb 多点触摸
- [USB模式]多点触摸
- 适配版本 EC 安卓 10.6.0+
- 触摸参数: action :一般情况下 按下为0,弹起为1,移动为2
- x: X坐标
- y: Y坐标
- pointer:设置第几个手指触摸点,分别是 1,2,3 等,代表第n个手指
- delay: 该动作延迟多少毫秒执行, 大于40ms,否则可能出现坐标漂移的现象
- @param touch1 第1个手指的触摸点数组,例如:
[{"action":0,"x":1,"y":1,"pointer":1,"delay":30},{"action":2,"x":1,"y":1,"pointer":1,"delay":30}] - @param timeout 多点触摸执行的超时时间,单位是毫秒
- @return
{boolean|布尔型}
function main() { let i = initHid() if (!i) { return }}
function mtouch() { let data = [ {"action": 0, "x": 250, "y": 1800, "pointer": 1, "delay": 100}, {"action": 2, "x": 250, "y": 1700, "pointer": 1, "delay": 100}, {"action": 2, "x": 300, "y": 1700, "pointer": 1, "delay": 100}, {"action": 2, "x": 330, "y": 1650, "pointer": 1, "delay": 200}, {"action": 2, "x": 400, "y": 1650, "pointer": 1, "delay": 100}, {"action": 1, "x": 600, "y": 400, "pointer": 1, "delay": 100} ]
let tou = hidEvent.multiTouchByUsb(data, 1000) if (tou == null) { logd("多点触摸 成功") } else { loge("多点触摸 失败:" + tou); return false }}
function initHid() { let init = hidEvent.initUsbDeviceByUsb() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } mtouch(); return true;}
main();swipeByUsb 滑动
- [USB模式]滑动
- 适配版本 EC 安卓 10.6.0+
- @param x 起点x坐标
- @param y 起点y坐标
- @param ex 终点x坐标
- @param ey 终点y坐标
- @param delay 按住时间,单位是毫秒
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { let init = hidEvent.initUsbDeviceByUsb() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } let swipe = hidEvent.swipeByUsb(100, 200, 600, 800, 2000) logd("swipe result " + swipe) return true;}
main();homeByUsb 主页
- USB模式下使用
- 适配版本 EC 安卓 10.21.0+
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { let init = hidEvent.initUsbDeviceByUsb() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } let r = hidEvent.homeByUsb() logd(r) return true;}
main();backByUsb 返回
- USB模式下使用
- 适配版本 EC 安卓 10.21.0+
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { let init = hidEvent.initUsbDeviceByUsb() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } let r = hidEvent.backByUsb() logd(r) return true;}
main();openNotificationByUsb 打开状态栏
- USB模式下使用
- 适配版本 EC 安卓 10.21.0+
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { let init = hidEvent.initUsbDeviceByUsb() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } let r = hidEvent.openNotificationByUsb() logd(r) return true;}
main();recentAppsByUsb 最近任务
- USB模式下使用
- 适配版本 EC 安卓 10.21.0+
- @return
{string}null 代表成功,其他代表错误消息
function main() { let i = initHid() if (!i) { return }}
function initHid() { let init = hidEvent.initUsbDeviceByUsb() if (init == null) { logd("初始化HID设备成功") } else { loge("初始化失败:" + init); return false } let r = hidEvent.recentAppsByUsb() logd(r) return true;}
main();