 | |  |  | 汇集HID安卓输入文字的方法和复制粘贴示例
- /*
- 🍎===============================================================
- 🍎 汇集HID安卓输入文字的方法和复制粘贴示例
- 🍎===============================================================
- 🍎功能:汇集所有安卓输入文字的方法和复制粘贴功能
- 🍎支持:英文输入、数字输入、符号输入、剪贴板操作
- 🍎使用:根据需要选择合适的输入方法运行示例
- 🍎交流QQ群711841924群一,苹果内测群:528816639
- 🍎===============================================================
- */
- print.log("=== 安卓输入文字与复制粘贴功能完整汇集 ===");
- // 检查HID功能
- if (!hid.isOn()) {
- print.log("错误:HID功能未开启,请先开启HID功能!");
- exit();
- }
- print.log("✓ HID功能已开启");
- print.log("设备名称:" + hid.getName());
- print.log("设备型号:" + hid.getDeviceID());
- // ============================================================
- // 第一部分:基础按键输入方法
- // ============================================================
- print.log("\n=== 第一部分:基础按键输入方法 ===");
- // 方法1:使用 hid.keyPress 输入单个字符
- function demo1_KeyPress() {
- print.log("\n【方法1】使用 hid.keyPress 输入单个字符");
- print.log("功能:发送单个按键事件");
- print.log("语法:hid.keyPress(deviceIndex, keyCode)");
- print.log("示例:");
-
- // 激活输入框
- hid.clickPercent(50, 50);
- sleep.millisecond(1000);
-
- // 清空输入框
- hid.selectAll();
- sleep.millisecond(300);
- hid.delete(1);
- sleep.millisecond(300);
-
- // 输入示例
- hid.keyPress(0, keycode.H());
- sleep.millisecond(100);
- hid.keyPress(0, keycode.E());
- sleep.millisecond(100);
- hid.keyPress(0, keycode.L());
- sleep.millisecond(100);
- hid.keyPress(0, keycode.L());
- sleep.millisecond(100);
- hid.keyPress(0, keycode.O());
-
- print.log("✓ 已输入:HELLO");
- }
- // 方法2:使用 hid.keyDown 和 hid.keyUp 组合
- function demo2_KeyDownUp() {
- print.log("\n【方法2】使用 hid.keyDown 和 hid.keyUp 组合");
- print.log("功能:按下和抬起按键,用于组合键操作");
- print.log("语法:");
- print.log(" hid.keyDown(deviceIndex, keyCode, modifier)");
- print.log(" hid.keyUp(deviceIndex, keyCode, modifier)");
- print.log("示例:");
-
- // 示例:输入大写字母(Shift + 字母)
- hid.keyDown(0, keycode.LShift(), 0);
- sleep.millisecond(50);
- hid.keyPress(0, keycode.A());
- sleep.millisecond(50);
- hid.keyUp(0, keycode.LShift(), 0);
-
- print.log("✓ 已输入大写字母 A");
- }
- // 方法3:使用 hid.inputSimple 输入字母和数字
- function demo3_InputSimple() {
- print.log("\n【方法3】使用 hid.inputSimple 输入字母和数字");
- print.log("功能:连续输入字母+数字");
- print.log("语法:hid.inputSimple(text)");
- print.log("示例:");
-
- hid.selectAll();
- sleep.millisecond(300);
- hid.delete(1);
- sleep.millisecond(300);
-
- hid.inputSimple("Hello123");
-
- print.log("✓ 已输入:Hello123");
- }
- // ============================================================
- // 第二部分:按键码映射表
- // ============================================================
- print.log("\n=== 第二部分:按键码映射表 ===");
- var KEY_CODE_MAP = {
- // 小写字母
- 'a': keycode.A(), 'b': keycode.B(), 'c': keycode.C(), 'd': keycode.D(), 'e': keycode.E(),
- 'f': keycode.F(), 'g': keycode.G(), 'h': keycode.H(), 'i': keycode.I(), 'j': keycode.J(),
- 'k': keycode.K(), 'l': keycode.L(), 'm': keycode.M(), 'n': keycode.N(), 'o': keycode.O(),
- 'p': keycode.P(), 'q': keycode.Q(), 'r': keycode.R(), 's': keycode.S(), 't': keycode.T(),
- 'u': keycode.U(), 'v': keycode.V(), 'w': keycode.W(), 'x': keycode.X(), 'y': keycode.Y(),
- 'z': keycode.Z(),
-
- // 数字
- '0': keycode.Num0(), '1': keycode.Num1(), '2': keycode.Num2(), '3': keycode.Num3(),
- '4': keycode.Num4(), '5': keycode.Num5(), '6': keycode.Num6(), '7': keycode.Num7(),
- '8': keycode.Num8(), '9': keycode.Num9(),
-
- // 符号
- ' ': keycode.Space(), '.': keycode.Period(), ',': keycode.Comma(), '-': keycode.Minus(),
- '=': keycode.Equal(), '[': keycode.LeftBracket(), ']': keycode.RightBracket(),
- ';': keycode.Semicolon(), "'": keycode.Quote(), '`': keycode.Tilde(),
- '/': keycode.Slash(), '\\': keycode.Backslash(),
-
- // 功能键
- 'Enter': keycode.Enter(), 'Backspace': keycode.Backspace(), 'Delete': keycode.Delete(),
- 'Tab': keycode.Tab(), 'Escape': keycode.Escape(),
-
- // 方向键
- 'Up': keycode.UpArrow(), 'Down': keycode.DownArrow(),
- 'Left': keycode.LeftArrow(), 'Right': keycode.RightArrow()
- };
- print.log("✓ 按键码映射表已加载,支持字母、数字、符号和功能键");
- // 方法4:使用按键码映射表输入文本
- function demo4_KeyMap() {
- print.log("\n【方法4】使用按键码映射表输入文本");
- print.log("功能:通过映射表自动选择对应的按键码");
- print.log("示例:");
-
- hid.selectAll();
- sleep.millisecond(300);
- hid.delete(1);
- sleep.millisecond(300);
-
- var text = "Test123";
- for (var i = 0; i < text.length; i++) {
- var char = text[i];
- var keyCode = KEY_CODE_MAP[char];
- if (keyCode) {
- hid.keyPress(0, keyCode);
- sleep.millisecond(100);
- }
- }
-
- print.log("✓ 已输入:" + text);
- }
- // ============================================================
- // 第三部分:复制粘贴功能
- // ============================================================
- print.log("\n=== 第三部分:复制粘贴功能 ===");
- // 方法5:使用 hid.copy 和 hid.paste
- function demo5_HidCopyPaste() {
- print.log("\n【方法5】使用 hid.copy 和 hid.paste");
- print.log("功能:HID提供的复制粘贴方法");
- print.log("语法:");
- print.log(" hid.copy() - 复制");
- print.log(" hid.paste() - 粘贴");
- print.log("示例:");
-
- // 先输入一些文本
- hid.selectAll();
- sleep.millisecond(300);
- hid.delete(1);
- sleep.millisecond(300);
-
- hid.inputSimple("Test Text");
- sleep.millisecond(500);
-
- // 全选
- hid.selectAll();
- sleep.millisecond(300);
-
- // 复制
- hid.copy();
- print.log("✓ 已复制文本");
-
- // 移动到新位置
- hid.keyPress(0, keycode.Enter());
- sleep.millisecond(500);
-
- // 粘贴
- hid.paste();
- print.log("✓ 已粘贴文本");
- }
- // 方法6:使用 Clipboard 对象
- function demo6_ClipboardObject() {
- print.log("\n【方法6】使用 Clipboard 对象");
- print.log("功能:直接操作剪贴板内容");
- print.log("语法:");
- print.log(" Clipboard.copy(text) - 复制文本到剪贴板");
- print.log(" hid.paste() - 粘贴剪贴板内容");
- print.log("示例:");
-
- hid.selectAll();
- sleep.millisecond(300);
- hid.delete(1);
- sleep.millisecond(300);
-
- var text = "Clipboard Test";
- Clipboard.copy(text);
- sleep.millisecond(500);
- hid.paste();
-
- print.log("✓ 已使用剪贴板输入:" + text);
- }
- // 方法7:使用快捷键组合
- function demo7_ShortcutKeys() {
- print.log("\n【方法7】使用快捷键组合");
- print.log("功能:使用Ctrl+字母组合键实现复制粘贴");
- print.log("常用快捷键:");
- print.log(" Ctrl+A - 全选");
- print.log(" Ctrl+C - 复制");
- print.log(" Ctrl+V - 粘贴");
- print.log(" Ctrl+X - 剪切");
- print.log("示例:");
-
- hid.selectAll();
- sleep.millisecond(300);
- hid.delete(1);
- sleep.millisecond(300);
-
- hid.inputSimple("Shortcut Test");
- sleep.millisecond(500);
-
- // Ctrl+A 全选
- hid.keyDown(0, keycode.LCtrl(), 0);
- sleep.millisecond(50);
- hid.keyPress(0, keycode.A());
- sleep.millisecond(50);
- hid.keyUp(0, keycode.LCtrl(), 0);
- sleep.millisecond(500);
-
- // Ctrl+C 复制
- hid.keyDown(0, keycode.LCtrl(), 0);
- sleep.millisecond(50);
- hid.keyPress(0, keycode.C());
- sleep.millisecond(50);
- hid.keyUp(0, keycode.LCtrl(), 0);
- sleep.millisecond(500);
-
- print.log("✓ 已使用 Ctrl+C 复制");
-
- // 移动到新位置
- hid.keyPress(0, keycode.Enter());
- sleep.millisecond(500);
-
- // Ctrl+V 粘贴
- hid.keyDown(0, keycode.LCtrl(), 0);
- sleep.millisecond(50);
- hid.keyPress(0, keycode.V());
- sleep.millisecond(50);
- hid.keyUp(0, keycode.LCtrl(), 0);
-
- print.log("✓ 已使用 Ctrl+V 粘贴");
- }
- // 方法8:使用 hid.cut 剪切
- function demo8_HidCut() {
- print.log("\n【方法8】使用 hid.cut 剪切");
- print.log("功能:剪切选中的文本");
- print.log("语法:hid.cut()");
- print.log("示例:");
-
- hid.selectAll();
- sleep.millisecond(300);
- hid.delete(1);
- sleep.millisecond(300);
-
- hid.inputSimple("Cut Test");
- sleep.millisecond(500);
-
- // 全选
- hid.selectAll();
- sleep.millisecond(300);
-
- // 剪切
- hid.cut();
- print.log("✓ 已剪切文本");
-
- // 移动到新位置
- hid.keyPress(0, keycode.Enter());
- sleep.millisecond(500);
-
- // 粘贴
- hid.paste();
- print.log("✓ 已粘贴剪切的文本");
- }
- // ============================================================
- // 第四部分:高级输入技巧
- // ============================================================
- print.log("\n=== 第四部分:高级输入技巧 ===");
- // 方法9:批量输入优化
- function demo9_BatchInput() {
- print.log("\n【方法9】批量输入优化");
- print.log("功能:批量处理连续字符,提高输入效率");
- print.log("示例:");
-
- hid.selectAll();
- sleep.millisecond(300);
- hid.delete(1);
- sleep.millisecond(300);
-
- var text = "Hello World 123456";
- var startTime = Date.now();
-
- for (var i = 0; i < text.length; i++) {
- var char = text[i];
- var keyCode = KEY_CODE_MAP[char];
- if (keyCode) {
- hid.keyPress(0, keyCode);
- sleep.millisecond(100);
- }
- }
-
- var endTime = Date.now();
- print.log("✓ 已输入:" + text);
- print.log(" 耗时:" + (endTime - startTime) + "ms");
- }
- // 方法10:特殊字符输入
- function demo10_SpecialChars() {
- print.log("\n【方法10】特殊字符输入");
- print.log("功能:输入需要Shift组合的特殊字符");
- print.log("示例:");
-
- hid.selectAll();
- sleep.millisecond(300);
- hid.delete(1);
- sleep.millisecond(300);
-
- var specialChars = "!@#$%^&*()_+-={}[]|\\:;\"'<>,.?/~`";
-
- for (var i = 0; i < specialChars.length; i++) {
- var char = specialChars[i];
-
- if (char === '!') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Num1());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '@') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Num2());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '#') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Num3());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '
- ) {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Num4());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '%') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Num5());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '^') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Num6());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '&') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Num7());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '*') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Num8());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '(') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Num9());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === ')') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Num0());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '_') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Minus());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '+') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Equal());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '{') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.LeftBracket());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '}') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.RightBracket());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '|') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Backslash());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === ':') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Semicolon());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '"') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Quote());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '<') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Comma());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '>') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Period());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '?') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Slash());
- hid.keyUp(0, keycode.LShift(), 0);
- } else if (char === '~') {
- hid.keyDown(0, keycode.LShift(), 0);
- hid.keyPress(0, keycode.Tilde());
- hid.keyUp(0, keycode.LShift(), 0);
- } else {
- var keyCode = KEY_CODE_MAP[char];
- if (keyCode) {
- hid.keyPress(0, keyCode);
- }
- }
-
- sleep.millisecond(100);
- }
-
- print.log("✓ 已输入特殊字符:" + specialChars);
- }
- // 方法11:删除和编辑操作
- function demo11_DeleteAndEdit() {
- print.log("\n【方法11】删除和编辑操作");
- print.log("功能:使用删除键和编辑功能");
- print.log("常用方法:");
- print.log(" hid.backspace(count) - 退格删除");
- print.log(" hid.delete(count) - 删除键");
- print.log(" hid.selectAll() - 全选");
- print.log("示例:");
-
- hid.selectAll();
- sleep.millisecond(300);
- hid.delete(1);
- sleep.millisecond(300);
-
- // 输入一些文本
- hid.inputSimple("Hello World");
- sleep.millisecond(500);
-
- // 退格删除5个字符
- print.log(" 退格删除5个字符");
- for (var i = 0; i < 5; i++) {
- hid.backspace(0);
- sleep.millisecond(100);
- }
-
- sleep.millisecond(500);
-
- // 输入新文本
- hid.inputSimple("AIWROK");
-
- print.log("✓ 编辑完成,结果:Hello AIWROK");
- }
- // ============================================================
- // 第五部分:综合示例
- // ============================================================
- print.log("\n=== 第五部分:综合示例 ===");
- // 综合示例1:自动打字程序
- function comprehensiveDemo1_AutoTyping() {
- print.log("\n【综合示例1】自动打字程序");
- print.log("功能:演示完整的自动打字流程");
-
- var text = "Hello World 123456";
-
- print.log("准备输入:" + text);
-
- // 激活输入框
- hid.clickPercent(50, 50);
- sleep.millisecond(1000);
-
- // 清空输入框
- hid.selectAll();
- sleep.millisecond(300);
- hid.delete(1);
- sleep.millisecond(300);
-
- // 智能输入
- for (var i = 0; i < text.length; i++) {
- var char = text[i];
- var keyCode = KEY_CODE_MAP[char];
- if (keyCode) {
- hid.keyPress(0, keyCode);
- sleep.millisecond(100);
- }
- }
-
- print.log("✓ 自动打字完成");
- }
- // 综合示例2:复制粘贴演示
- function comprehensiveDemo2_CopyPaste() {
- print.log("\n【综合示例2】复制粘贴演示");
- print.log("功能:演示完整的复制粘贴流程");
-
- // 激活输入框
- hid.clickPercent(50, 50);
- sleep.millisecond(1000);
-
- // 清空输入框
- hid.selectAll();
- sleep.millisecond(300);
- hid.delete(1);
- sleep.millisecond(300);
-
- // 输入源文本
- var sourceText = "This is text to copy";
- Clipboard.copy(sourceText);
- sleep.millisecond(500);
- hid.paste();
- print.log("✓ 已输入源文本:" + sourceText);
-
- sleep.millisecond(1000);
-
- // 全选
- hid.selectAll();
- sleep.millisecond(300);
-
- // 复制
- hid.copy();
- print.log("✓ 已复制文本");
-
- sleep.millisecond(500);
-
- // 换行
- hid.keyPress(0, keycode.Enter());
- sleep.millisecond(500);
-
- // 粘贴
- hid.paste();
- print.log("✓ 已粘贴文本");
-
- sleep.millisecond(500);
-
- // 再次换行
- hid.keyPress(0, keycode.Enter());
- sleep.millisecond(500);
-
- // 使用快捷键粘贴
- hid.keyDown(0, keycode.LCtrl(), 0);
- sleep.millisecond(50);
- hid.keyPress(0, keycode.V());
- sleep.millisecond(50);
- hid.keyUp(0, keycode.LCtrl(), 0);
- print.log("✓ 已使用快捷键粘贴");
- }
- // ============================================================
- // 主菜单
- // ============================================================
- function showMenu() {
- print.log("\n========================================");
- print.log(" 安卓输入文字与复制粘贴功能");
- print.log("========================================");
- print.log("【基础按键输入方法】");
- print.log(" 1. 使用 hid.keyPress 输入单个字符");
- print.log(" 2. 使用 hid.keyDown 和 hid.keyUp 组合");
- print.log(" 3. 使用 hid.inputSimple 输入字母和数字");
- print.log(" 4. 使用按键码映射表输入文本");
- print.log("");
- print.log("【复制粘贴功能】");
- print.log(" 5. 使用 hid.copy 和 hid.paste");
- print.log(" 6. 使用 Clipboard 对象");
- print.log(" 7. 使用快捷键组合");
- print.log(" 8. 使用 hid.cut 剪切");
- print.log("");
- print.log("【高级输入技巧】");
- print.log(" 9. 批量输入优化");
- print.log(" 10. 特殊字符输入");
- print.log(" 11. 删除和编辑操作");
- print.log("");
- print.log("【综合示例】");
- print.log(" 12. 自动打字程序");
- print.log(" 13. 复制粘贴演示");
- print.log("========================================");
- print.log("提示:请根据需要调用对应的函数进行测试");
- print.log("例如:demo1_KeyPress() 或 demo6_ClipboardObject()");
- }
- // 显示菜单
- showMenu();
- print.log("\n=== 汇集文件加载完成 ===");
- print.log("💡 使用建议:");
- print.log(" - 英文输入推荐使用方法3(inputSimple)");
- print.log(" - 数字输入推荐使用方法3(inputSimple)");
- print.log(" - 特殊字符输入推荐使用方法10(特殊字符输入)");
- print.log(" - 复制粘贴推荐使用方法6(Clipboard对象)");
- // ============================================================
- // 自动执行示例(取消注释以运行)
- // ============================================================
- print.log("\n========================================");
- print.log(" 准备执行自动测试示例");
- print.log("========================================");
- // 等待3秒,让用户有时间切换到输入框
- print.log("请在3秒内将光标定位到输入框...");
- sleep.millisecond(3000);
- // 测试1:使用 inputSimple 输入字母和数字
- print.log("\n【测试1】使用 hid.inputSimple 输入字母和数字");
- demo3_InputSimple();
- sleep.millisecond(2000);
- // 测试2:使用 Clipboard 对象复制粘贴
- print.log("\n【测试2】使用 Clipboard 对象复制粘贴");
- demo6_ClipboardObject();
- sleep.millisecond(2000);
- // 测试3:自动打字程序
- print.log("\n【测试3】自动打字程序");
- comprehensiveDemo1_AutoTyping();
- sleep.millisecond(2000);
- // 测试4:复制粘贴演示
- print.log("\n【测试4】复制粘贴演示");
- comprehensiveDemo2_CopyPaste();
- print.log("\n========================================");
- print.log(" 所有测试示例执行完成!");
- print.log("========================================");
- print.log("💡 提示:如果需要单独测试某个功能,");
- print.log(" 可以在控制台输入对应的函数名调用,例如:");
- print.log(" demo3_InputSimple()");
- print.log(" demo6_ClipboardObject()");
- print.log(" comprehensiveDemo1_AutoTyping()");
复制代码
| |  | |  |
|