B2B网络软件
标题:
安卓脚本HID按键方法完整示例
[打印本页]
作者:
YYPOST群发软件
时间:
1 小时前
标题:
安卓脚本HID按键方法完整示例
安卓脚本HID按键方法完整示例
1.png
(448.38 KB, 下载次数: 0)
下载附件
1 小时前
上传
/**
* 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();
复制代码
欢迎光临 B2B网络软件 (http://bbs.niubt.cn/)
Powered by Discuz! X3.2