 | |  |  | 安卓 脚本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();
复制代码
| |  | |  |
|