YYPOST群发软件 发表于 2026-2-9 08:41:40

AIWROK汇集HID安卓输入文字的方法和复制粘贴示例



AIWROK汇集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;
      var keyCode = KEY_CODE_MAP;
      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;
      var keyCode = KEY_CODE_MAP;
      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;
      
      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;
            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;
      var keyCode = KEY_CODE_MAP;
      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("&#128161; 使用建议:");
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("&#128161; 提示:如果需要单独测试某个功能,");
print.log("   可以在控制台输入对应的函数名调用,例如:");
print.log("   demo3_InputSimple()");
print.log("   demo6_ClipboardObject()");
print.log("   comprehensiveDemo1_AutoTyping()");


页: [1]
查看完整版本: AIWROK汇集HID安卓输入文字的方法和复制粘贴示例