YYPOST群发软件 发表于 2026-5-25 06:44:48

安卓脚本HID按键方法完整示例

安卓脚本HID按键方法完整示例


/**
* HID按键方法完整示例
* 说明:hid.keyPress(复合键码, 按键码)
* AIWROK官方群: 711841924,苹果群,528816639
*/

// ==================== 基础按键示例 ====================

/**
* 示例1:输入单个字母(使用十六进制码)
*/
function example_inputSingleLetter() {
    printl("输入字母a");
    hid.keyPress(0, 0x04); // a的按键码是0x04
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    printl("输入字母b");
    hid.keyPress(0, 0x05); // b的按键码是0x05
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    printl("输入字母c");
    hid.keyPress(0, 0x06); // c的按键码是0x06
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例2:输入单个字母(使用keycode方法)
* 注意:批量运行时可能需要更长的延时或重新获取焦点
*/
function example_inputWithKeycode() {
    printl("使用keycode方法输入字母");
   
    // 确保输入框有焦点(可以先点击一下输入框)
    // touch.click(x, y); // 如果需要,先点击输入框获取焦点
   
    hid.keyPress(0, keycode.A()); // 输入a
    sleep.second(2);
    hid.keyPress(0, 0x28); // 回车确认
    sleep.second(1); // 额外等待,让系统处理完成
   
    hid.keyPress(0, keycode.B()); // 输入b
    sleep.second(2);
    hid.keyPress(0, 0x28); // 回车确认
    sleep.second(1); // 额外等待,让系统处理完成
   
    hid.keyPress(0, keycode.C()); // 输入c
    sleep.second(2);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例3:亮屏和息屏操作
*
* 亮屏方法:
* 方法1:hid.keyPress(0, keycode.Enter()) - 使用keycode.Enter()亮屏
* 方法2:hid.keyPress(0, 0x07) - 使用十六进制码唤醒屏幕
*
* 息屏方法:
* hid.keyPress(0, 0x66) - 息屏/关屏
*/
function example_screenControl() {
    printl("亮屏操作 - 方法1:使用keycode.Enter()");
    hid.keyPress(0, keycode.Enter()); // 亮屏
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    printl("息屏操作");
    hid.keyPress(0, 0x66); // 息屏,关屏
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    printl("再次亮屏 - 方法2:使用十六进制码0x07");
    hid.keyPress(0, 0x07); // 唤醒屏亮屏
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    printl("再次息屏");
    hid.keyPress(0, 0x66); // 息屏,关屏
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    printl("最后亮屏恢复");
    hid.keyPress(0, keycode.Enter()); // 亮屏恢复
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

// ==================== 复合键示例 ====================

/**
* 示例3:全选操作 (Ctrl+A)
*/
function example_selectAll() {
    printl("执行全选 Ctrl+A");
    hid.keyPress(0x01, 0x04); // 0x01是Ctrl, 0x04是A
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例4:复制操作 (Ctrl+C)
*/
function example_copy() {
    printl("执行复制 Ctrl+C");
    hid.keyPress(0x01, 0x06); // 0x01是Ctrl, 0x06是C
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例5:粘贴操作 (Ctrl+V)
*/
function example_paste() {
    printl("执行粘贴 Ctrl+V");
    hid.keyPress(0x01, 0x19); // 0x01是Ctrl, 0x19是V
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例6:剪切操作 (Ctrl+X)
*/
function example_cut() {
    printl("执行剪切 Ctrl+X");
    hid.keyPress(0x01, 0x1B); // 0x01是Ctrl, 0x1B是X
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例7:撤销操作 (Ctrl+Z)
*/
function example_undo() {
    printl("执行撤销 Ctrl+Z");
    hid.keyPress(0x01, 0x1D); // 0x01是Ctrl, 0x1D是Z
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例8:保存操作 (Ctrl+S)
*/
function example_save() {
    printl("执行保存 Ctrl+S");
    hid.keyPress(0x01, 0x16); // 0x01是Ctrl, 0x16是S
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

// ==================== Shift复合键示例 ====================

/**
* 示例9:输入大写字母 (Shift+A)
*/
function example_uppercase() {
    printl("输入大写字母A (Shift+A)");
    hid.keyPress(0x02, 0x04); // 0x02是Shift, 0x04是A
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    printl("输入大写字母B (Shift+B)");
    hid.keyPress(0x02, 0x05); // 0x02是Shift, 0x05是B
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

// ==================== 方向键示例 ====================

/**
* 示例10:方向键操作
* 注意:需要先有文本内容,光标停留在文本上才能使用方向键
*/
function example_arrowKeys() {
    // 先输入一些文本让光标停留
    printl("先输入测试文本");
    hid.keyPress(0, 0x04); // a
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    printl("向上方向键");
    hid.keyPress(0, 0x52); // Up Arrow
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    printl("向下方向键");
    hid.keyPress(0, 0x51); // Down Arrow
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    printl("向左方向键");
    hid.keyPress(0, 0x50); // Left Arrow
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    printl("向右方向键");
    hid.keyPress(0, 0x4F); // Right Arrow
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

// ==================== 常用功能键示例 ====================

/**
* 示例11:回车键
*/
function example_enter() {
    printl("按下回车键");
    hid.keyPress(0, 0x28); // 0x28是Enter/Return
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例12:删除键
*/
function example_delete() {
    printl("按下删除键");
    hid.keyPress(0, 0x2A); // 0x2A是Backspace/Delete
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例13:Tab键
*/
function example_tab() {
    printl("按下Tab键");
    hid.keyPress(0, 0x2B); // 0x2B是Tab
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例14:ESC键
*/
function example_esc() {
    printl("按下ESC键");
    hid.keyPress(0, 0x29); // 0x29是Escape
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例15:空格键
*/
function example_space() {
    printl("按下空格键");
    hid.keyPress(0, 0x2C); // 0x2C是Space
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例16:Home键
*/
function example_home() {
    printl("按下Home键");
    hid.keyPress(0, 0x4A); // 0x4A是Home
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例17:End键
*/
function example_end() {
    printl("按下End键");
    hid.keyPress(0, 0x4D); // 0x4D是End
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例18:Page Up键
* 注意:需要先有文本内容,光标停留在文本上才能使用Page Up
*/
function example_pageUp() {
    // 先输入一些文本让光标停留
    printl("先输入测试文本");
    hid.keyPress(0, 0x04); // a
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    printl("按下Page Up键");
    hid.keyPress(0, 0x4B); // 0x4B是Page Up
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例19:Page Down键
* 注意:需要先有文本内容,光标停留在文本上才能使用Page Down
*/
function example_pageDown() {
    // 先输入一些文本让光标停留
    printl("先输入测试文本");
    hid.keyPress(0, 0x04); // a
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    printl("按下Page Down键");
    hid.keyPress(0, 0x4E); // 0x4E是Page Down
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

// ==================== 完整演示示例 ====================

/**
* 示例15:完整的文本输入流程
* 演示:输入"Hello World"并按回车
*/
function example_completeTextInput() {
    printl("开始输入完整文本");
   
    // 输入 H (Shift+h)
    hid.keyPress(0x02, 0x0B);
    sleep.second(1);
   
    // 输入 e
    hid.keyPress(0, 0x08);
    sleep.second(1);
   
    // 输入 l
    hid.keyPress(0, 0x0F);
    sleep.second(1);
   
    // 输入 l
    hid.keyPress(0, 0x0F);
    sleep.second(1);
   
    // 输入 o
    hid.keyPress(0, 0x12);
    sleep.second(1);
   
    // 输入空格
    hid.keyPress(0, 0x2C);
    sleep.second(1);
   
    // 输入 W (Shift+w)
    hid.keyPress(0x02, 0x1A);
    sleep.second(1);
   
    // 输入 o
    hid.keyPress(0, 0x12);
    sleep.second(1);
   
    // 输入 r
    hid.keyPress(0, 0x15);
    sleep.second(1);
   
    // 输入 l
    hid.keyPress(0, 0x0F);
    sleep.second(1);
   
    // 输入 d
    hid.keyPress(0, 0x07);
    sleep.second(1);
   
    // 全部输入完后,最后按一次回车确认
    hid.keyPress(0, 0x28); // 回车确认
   
    printl("文本输入完成");
}

/**
* 示例16:常用的编辑操作组合
* 正确流程:全选 → 删除 → 粘贴
*/
function example_editOperations() {
    printl("开始演示编辑操作");
   
    // 先输入一些测试文本
    printl("0. 输入测试文本");
    hid.keyPress(0, 0x04); // a
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    // 全选
    printl("1. 全选文本 (Ctrl+A)");
    hid.keyPress(0x01, 0x04); // Ctrl+A
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    // 删除
    printl("2. 删除文本 (Delete)");
    hid.keyPress(0, 0x2A); // Delete
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    // 粘贴
    printl("3. 粘贴文本 (Ctrl+V)");
    hid.keyPress(0x01, 0x19); // Ctrl+V
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    printl("编辑操作演示完成");
}

// ==================== 复合键码说明 ====================
/**
* 常用复合键码:
* 0x00 - 无复合键
* 0x01 - Ctrl
* 0x02 - Shift
* 0x04 - Alt
*
* 注意:可以同时组合多个复合键,例如 Ctrl+Shift+A
* hid.keyPress(0x01 | 0x02, 0x04) // Ctrl+Shift+A
*/

/**
* 示例20:多复合键组合 (Ctrl+Shift+A)
*/
function example_multiModifier() {
    printl("按下 Ctrl+Shift+A");
    hid.keyPress(0x01 | 0x02, 0x04); // Ctrl和Shift同时按下
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例21:主键盘区数字输入
*/
function example_numberKeys() {
    printl("主键盘区输入123");
   
    hid.keyPress(0, 0x1E); // 数字1
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    hid.keyPress(0, 0x1F); // 数字2
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    hid.keyPress(0, 0x20); // 数字3
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例22:小键盘数字输入(需要Num Lock开启)
*/
function example_numpad() {
    printl("小键盘输入123(需Num Lock开启)");
   
    // 先按Num Lock激活小键盘
    hid.keyPress(0, 0x53); // Num Lock
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    hid.keyPress(0, 0x59); // Num 1
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    hid.keyPress(0, 0x5A); // Num 2
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
   
    hid.keyPress(0, 0x5B); // Num 3
    sleep.second(1);
    hid.keyPress(0, 0x28); // 回车确认
}

/**
* 示例23:连续输入相同字符
* 演示如何连续输入多个相同的字符
*/
function example_repeatedInput() {
    printl("=== 连续输入相同字符示例 ===");
   
    // 方法1:使用循环输入 "111111"
    printl("\n方法1:循环输入6个1");
    for (var i = 0; i < 6; i++) {
      hid.keyPress(0, 0x1E); // 数字1的键码
      sleep.second(1);
    }
    hid.keyPress(0, 0x28); // 全部输入完后,最后按一次回车确认
   
    // 方法2:使用循环输入 "aaaaaa"
    printl("\n方法2:循环输入6个a");
    for (var i = 0; i < 6; i++) {
      hid.keyPress(0, 0x04); // a的键码
      sleep.second(1);
    }
    hid.keyPress(0, 0x28); // 全部输入完后,最后按一次回车确认
   
    // 方法3:使用keycode方法输入 "bbbbbb"
    printl("\n方法3:使用keycode循环输入6个b");
    for (var i = 0; i < 6; i++) {
      hid.keyPress(0, keycode.B()); // b的键码
      sleep.second(1);
    }
    hid.keyPress(0, 0x28); // 全部输入完后,最后按一次回车确认
   
    printl("\n连续输入完成!");
}

/**
* 示例24:输入复杂字符串 "RFLDF;KVFGGKIOH"
* 演示混合大小写字母和特殊符号的输入
*/
function example_complexString() {
    printl("=== 输入复杂字符串 RFLDF;KVFGGKIOH ===");
   
    // R (Shift+r)
    hid.keyPress(0x02, 0x15);
    sleep.second(1);
   
    // F (Shift+f)
    hid.keyPress(0x02, 0x09);
    sleep.second(1);
   
    // L (Shift+l)
    hid.keyPress(0x02, 0x0F);
    sleep.second(1);
   
    // D (Shift+d)
    hid.keyPress(0x02, 0x07);
    sleep.second(1);
   
    // F (Shift+f)
    hid.keyPress(0x02, 0x09);
    sleep.second(1);
   
    // ; (分号)
    hid.keyPress(0, 0x33);
    sleep.second(1);
   
    // K (Shift+k)
    hid.keyPress(0x02, 0x0E);
    sleep.second(1);
   
    // V (Shift+v)
    hid.keyPress(0x02, 0x19);
    sleep.second(1);
   
    // F (Shift+f)
    hid.keyPress(0x02, 0x09);
    sleep.second(1);
   
    // G (Shift+g)
    hid.keyPress(0x02, 0x0A);
    sleep.second(1);
   
    // G (Shift+g)
    hid.keyPress(0x02, 0x0A);
    sleep.second(1);
   
    // K (Shift+k)
    hid.keyPress(0x02, 0x0E);
    sleep.second(1);
   
    // I (Shift+i)
    hid.keyPress(0x02, 0x0C);
    sleep.second(1);
   
    // O (Shift+o)
    hid.keyPress(0x02, 0x12);
    sleep.second(1);
   
    // H (Shift+h)
    hid.keyPress(0x02, 0x0B);
    sleep.second(1);
   
    // 全部输入完后,最后按一次回车确认
    hid.keyPress(0, 0x28);
   
    printl("\n复杂字符串输入完成!");
}
// ==================== 主程序 ====================

function main() {
    printl("========== HID按键方法示例开始 ==========");
   
    // 运行各个示例
    printl("");
    printl("--- 基础按键示例(十六进制) ---");
    example_inputSingleLetter();
   
    printl("");
    printl("--- 基础按键示例(keycode方法) ---");
    example_inputWithKeycode();
   
    printl("");
    printl("--- 屏幕控制示例 ---");
    example_screenControl();
   
    printl("");
    printl("--- 复合键示例 ---");
    example_selectAll();
    example_copy();
    example_paste();
   
    printl("");
    printl("--- 方向键示例 ---");
    example_arrowKeys();
   
    printl("");
    printl("--- 功能键示例 ---");
    example_enter();
    example_delete();
    example_tab();
    example_esc();
    example_space();
    example_home();
    example_end();
    example_pageUp();
    example_pageDown();
   
    printl("");
    printl("--- 完整演示 ---");
    example_completeTextInput();
   
    printl("");
    printl("--- 主键盘数字键示例 ---");
    example_numberKeys();
   
    printl("");
    printl("--- 小键盘示例 ---");
    example_numpad();
   
    printl("");
    printl("--- 连续输入相同字符示例 ---");
    example_repeatedInput();
   
    printl("");
    printl("--- 复杂字符串输入示例 ---");
    example_complexString();
   
    printl("");
    printl("========== HID按键方法示例结束 ==========");
}

// 执行主程序
main();


页: [1]
查看完整版本: 安卓脚本HID按键方法完整示例