B2B网络软件

标题: 安卓脚本HID按键方法完整示例 [打印本页]

作者: YYPOST群发软件    时间: 1 小时前
标题: 安卓脚本HID按键方法完整示例
安卓脚本HID按键方法完整示例
安卓脚本HID按键方法完整示例 B2B网络软件

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

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

  7. /**
  8. * 示例1:输入单个字母(使用十六进制码)
  9. */
  10. function example_inputSingleLetter() {
  11.     printl("输入字母a");
  12.     hid.keyPress(0, 0x04); // a的按键码是0x04
  13.     sleep.second(1);
  14.     hid.keyPress(0, 0x28); // 回车确认
  15.    
  16.     printl("输入字母b");
  17.     hid.keyPress(0, 0x05); // b的按键码是0x05
  18.     sleep.second(1);
  19.     hid.keyPress(0, 0x28); // 回车确认
  20.    
  21.     printl("输入字母c");
  22.     hid.keyPress(0, 0x06); // c的按键码是0x06
  23.     sleep.second(1);
  24.     hid.keyPress(0, 0x28); // 回车确认
  25. }

  26. /**
  27. * 示例2:输入单个字母(使用keycode方法)
  28. * 注意:批量运行时可能需要更长的延时或重新获取焦点
  29. */
  30. function example_inputWithKeycode() {
  31.     printl("使用keycode方法输入字母");
  32.    
  33.     // 确保输入框有焦点(可以先点击一下输入框)
  34.     // touch.click(x, y); // 如果需要,先点击输入框获取焦点
  35.    
  36.     hid.keyPress(0, keycode.A()); // 输入a
  37.     sleep.second(2);
  38.     hid.keyPress(0, 0x28); // 回车确认
  39.     sleep.second(1); // 额外等待,让系统处理完成
  40.    
  41.     hid.keyPress(0, keycode.B()); // 输入b
  42.     sleep.second(2);
  43.     hid.keyPress(0, 0x28); // 回车确认
  44.     sleep.second(1); // 额外等待,让系统处理完成
  45.    
  46.     hid.keyPress(0, keycode.C()); // 输入c
  47.     sleep.second(2);
  48.     hid.keyPress(0, 0x28); // 回车确认
  49. }

  50. /**
  51. * 示例3:亮屏和息屏操作
  52. *
  53. * 亮屏方法:
  54. * 方法1:hid.keyPress(0, keycode.Enter()) - 使用keycode.Enter()亮屏
  55. * 方法2:hid.keyPress(0, 0x07) - 使用十六进制码唤醒屏幕
  56. *
  57. * 息屏方法:
  58. * hid.keyPress(0, 0x66) - 息屏/关屏
  59. */
  60. function example_screenControl() {
  61.     printl("亮屏操作 - 方法1:使用keycode.Enter()");
  62.     hid.keyPress(0, keycode.Enter()); // 亮屏
  63.     sleep.second(1);
  64.     hid.keyPress(0, 0x28); // 回车确认
  65.    
  66.     printl("息屏操作");
  67.     hid.keyPress(0, 0x66); // 息屏,关屏
  68.     sleep.second(1);
  69.     hid.keyPress(0, 0x28); // 回车确认
  70.    
  71.     printl("再次亮屏 - 方法2:使用十六进制码0x07");
  72.     hid.keyPress(0, 0x07); // 唤醒屏亮屏
  73.     sleep.second(1);
  74.     hid.keyPress(0, 0x28); // 回车确认
  75.    
  76.     printl("再次息屏");
  77.     hid.keyPress(0, 0x66); // 息屏,关屏
  78.     sleep.second(1);
  79.     hid.keyPress(0, 0x28); // 回车确认
  80.    
  81.     printl("最后亮屏恢复");
  82.     hid.keyPress(0, keycode.Enter()); // 亮屏恢复
  83.     sleep.second(1);
  84.     hid.keyPress(0, 0x28); // 回车确认
  85. }

  86. // ==================== 复合键示例 ====================

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

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

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

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

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

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

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

  142. /**
  143. * 示例9:输入大写字母 (Shift+A)
  144. */
  145. function example_uppercase() {
  146.     printl("输入大写字母A (Shift+A)");
  147.     hid.keyPress(0x02, 0x04); // 0x02是Shift, 0x04是A
  148.     sleep.second(1);
  149.     hid.keyPress(0, 0x28); // 回车确认
  150.    
  151.     printl("输入大写字母B (Shift+B)");
  152.     hid.keyPress(0x02, 0x05); // 0x02是Shift, 0x05是B
  153.     sleep.second(1);
  154.     hid.keyPress(0, 0x28); // 回车确认
  155. }

  156. // ==================== 方向键示例 ====================

  157. /**
  158. * 示例10:方向键操作
  159. * 注意:需要先有文本内容,光标停留在文本上才能使用方向键
  160. */
  161. function example_arrowKeys() {
  162.     // 先输入一些文本让光标停留
  163.     printl("先输入测试文本");
  164.     hid.keyPress(0, 0x04); // a
  165.     sleep.second(1);
  166.     hid.keyPress(0, 0x28); // 回车确认
  167.    
  168.     printl("向上方向键");
  169.     hid.keyPress(0, 0x52); // Up Arrow
  170.     sleep.second(1);
  171.     hid.keyPress(0, 0x28); // 回车确认
  172.    
  173.     printl("向下方向键");
  174.     hid.keyPress(0, 0x51); // Down Arrow
  175.     sleep.second(1);
  176.     hid.keyPress(0, 0x28); // 回车确认
  177.    
  178.     printl("向左方向键");
  179.     hid.keyPress(0, 0x50); // Left Arrow
  180.     sleep.second(1);
  181.     hid.keyPress(0, 0x28); // 回车确认
  182.    
  183.     printl("向右方向键");
  184.     hid.keyPress(0, 0x4F); // Right Arrow
  185.     sleep.second(1);
  186.     hid.keyPress(0, 0x28); // 回车确认
  187. }

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

  189. /**
  190. * 示例11:回车键
  191. */
  192. function example_enter() {
  193.     printl("按下回车键");
  194.     hid.keyPress(0, 0x28); // 0x28是Enter/Return
  195.     sleep.second(1);
  196.     hid.keyPress(0, 0x28); // 回车确认
  197. }

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

  207. /**
  208. * 示例13:Tab键
  209. */
  210. function example_tab() {
  211.     printl("按下Tab键");
  212.     hid.keyPress(0, 0x2B); // 0x2B是Tab
  213.     sleep.second(1);
  214.     hid.keyPress(0, 0x28); // 回车确认
  215. }

  216. /**
  217. * 示例14:ESC键
  218. */
  219. function example_esc() {
  220.     printl("按下ESC键");
  221.     hid.keyPress(0, 0x29); // 0x29是Escape
  222.     sleep.second(1);
  223.     hid.keyPress(0, 0x28); // 回车确认
  224. }

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

  234. /**
  235. * 示例16:Home键
  236. */
  237. function example_home() {
  238.     printl("按下Home键");
  239.     hid.keyPress(0, 0x4A); // 0x4A是Home
  240.     sleep.second(1);
  241.     hid.keyPress(0, 0x28); // 回车确认
  242. }

  243. /**
  244. * 示例17:End键
  245. */
  246. function example_end() {
  247.     printl("按下End键");
  248.     hid.keyPress(0, 0x4D); // 0x4D是End
  249.     sleep.second(1);
  250.     hid.keyPress(0, 0x28); // 回车确认
  251. }

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

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

  284. // ==================== 完整演示示例 ====================

  285. /**
  286. * 示例15:完整的文本输入流程
  287. * 演示:输入"Hello World"并按回车
  288. */
  289. function example_completeTextInput() {
  290.     printl("开始输入完整文本");
  291.    
  292.     // 输入 H (Shift+h)
  293.     hid.keyPress(0x02, 0x0B);
  294.     sleep.second(1);
  295.    
  296.     // 输入 e
  297.     hid.keyPress(0, 0x08);
  298.     sleep.second(1);
  299.    
  300.     // 输入 l
  301.     hid.keyPress(0, 0x0F);
  302.     sleep.second(1);
  303.    
  304.     // 输入 l
  305.     hid.keyPress(0, 0x0F);
  306.     sleep.second(1);
  307.    
  308.     // 输入 o
  309.     hid.keyPress(0, 0x12);
  310.     sleep.second(1);
  311.    
  312.     // 输入空格
  313.     hid.keyPress(0, 0x2C);
  314.     sleep.second(1);
  315.    
  316.     // 输入 W (Shift+w)
  317.     hid.keyPress(0x02, 0x1A);
  318.     sleep.second(1);
  319.    
  320.     // 输入 o
  321.     hid.keyPress(0, 0x12);
  322.     sleep.second(1);
  323.    
  324.     // 输入 r
  325.     hid.keyPress(0, 0x15);
  326.     sleep.second(1);
  327.    
  328.     // 输入 l
  329.     hid.keyPress(0, 0x0F);
  330.     sleep.second(1);
  331.    
  332.     // 输入 d
  333.     hid.keyPress(0, 0x07);
  334.     sleep.second(1);
  335.    
  336.     // 全部输入完后,最后按一次回车确认
  337.     hid.keyPress(0, 0x28); // 回车确认
  338.    
  339.     printl("文本输入完成");
  340. }

  341. /**
  342. * 示例16:常用的编辑操作组合
  343. * 正确流程:全选 → 删除 → 粘贴
  344. */
  345. function example_editOperations() {
  346.     printl("开始演示编辑操作");
  347.    
  348.     // 先输入一些测试文本
  349.     printl("0. 输入测试文本");
  350.     hid.keyPress(0, 0x04); // a
  351.     sleep.second(1);
  352.     hid.keyPress(0, 0x28); // 回车确认
  353.    
  354.     // 全选
  355.     printl("1. 全选文本 (Ctrl+A)");
  356.     hid.keyPress(0x01, 0x04); // Ctrl+A
  357.     sleep.second(1);
  358.     hid.keyPress(0, 0x28); // 回车确认
  359.    
  360.     // 删除
  361.     printl("2. 删除文本 (Delete)");
  362.     hid.keyPress(0, 0x2A); // Delete
  363.     sleep.second(1);
  364.     hid.keyPress(0, 0x28); // 回车确认
  365.    
  366.     // 粘贴
  367.     printl("3. 粘贴文本 (Ctrl+V)");
  368.     hid.keyPress(0x01, 0x19); // Ctrl+V
  369.     sleep.second(1);
  370.     hid.keyPress(0, 0x28); // 回车确认
  371.    
  372.     printl("编辑操作演示完成");
  373. }

  374. // ==================== 复合键码说明 ====================
  375. /**
  376. * 常用复合键码:
  377. * 0x00 - 无复合键
  378. * 0x01 - Ctrl
  379. * 0x02 - Shift
  380. * 0x04 - Alt
  381. *
  382. * 注意:可以同时组合多个复合键,例如 Ctrl+Shift+A
  383. * hid.keyPress(0x01 | 0x02, 0x04) // Ctrl+Shift+A
  384. */

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

  394. /**
  395. * 示例21:主键盘区数字输入
  396. */
  397. function example_numberKeys() {
  398.     printl("主键盘区输入123");
  399.    
  400.     hid.keyPress(0, 0x1E); // 数字1
  401.     sleep.second(1);
  402.     hid.keyPress(0, 0x28); // 回车确认
  403.    
  404.     hid.keyPress(0, 0x1F); // 数字2
  405.     sleep.second(1);
  406.     hid.keyPress(0, 0x28); // 回车确认
  407.    
  408.     hid.keyPress(0, 0x20); // 数字3
  409.     sleep.second(1);
  410.     hid.keyPress(0, 0x28); // 回车确认
  411. }

  412. /**
  413. * 示例22:小键盘数字输入(需要Num Lock开启)
  414. */
  415. function example_numpad() {
  416.     printl("小键盘输入123(需Num Lock开启)");
  417.    
  418.     // 先按Num Lock激活小键盘
  419.     hid.keyPress(0, 0x53); // Num Lock
  420.     sleep.second(1);
  421.     hid.keyPress(0, 0x28); // 回车确认
  422.    
  423.     hid.keyPress(0, 0x59); // Num 1
  424.     sleep.second(1);
  425.     hid.keyPress(0, 0x28); // 回车确认
  426.    
  427.     hid.keyPress(0, 0x5A); // Num 2
  428.     sleep.second(1);
  429.     hid.keyPress(0, 0x28); // 回车确认
  430.    
  431.     hid.keyPress(0, 0x5B); // Num 3
  432.     sleep.second(1);
  433.     hid.keyPress(0, 0x28); // 回车确认
  434. }

  435. /**
  436. * 示例23:连续输入相同字符
  437. * 演示如何连续输入多个相同的字符
  438. */
  439. function example_repeatedInput() {
  440.     printl("=== 连续输入相同字符示例 ===");
  441.    
  442.     // 方法1:使用循环输入 "111111"
  443.     printl("\n方法1:循环输入6个1");
  444.     for (var i = 0; i < 6; i++) {
  445.         hid.keyPress(0, 0x1E); // 数字1的键码
  446.         sleep.second(1);
  447.     }
  448.     hid.keyPress(0, 0x28); // 全部输入完后,最后按一次回车确认
  449.    
  450.     // 方法2:使用循环输入 "aaaaaa"
  451.     printl("\n方法2:循环输入6个a");
  452.     for (var i = 0; i < 6; i++) {
  453.         hid.keyPress(0, 0x04); // a的键码
  454.         sleep.second(1);
  455.     }
  456.     hid.keyPress(0, 0x28); // 全部输入完后,最后按一次回车确认
  457.    
  458.     // 方法3:使用keycode方法输入 "bbbbbb"
  459.     printl("\n方法3:使用keycode循环输入6个b");
  460.     for (var i = 0; i < 6; i++) {
  461.         hid.keyPress(0, keycode.B()); // b的键码
  462.         sleep.second(1);
  463.     }
  464.     hid.keyPress(0, 0x28); // 全部输入完后,最后按一次回车确认
  465.    
  466.     printl("\n连续输入完成!");
  467. }

  468. /**
  469. * 示例24:输入复杂字符串 "RFLDF;KVFGGKIOH"
  470. * 演示混合大小写字母和特殊符号的输入
  471. */
  472. function example_complexString() {
  473.     printl("=== 输入复杂字符串 RFLDF;KVFGGKIOH ===");
  474.    
  475.     // R (Shift+r)
  476.     hid.keyPress(0x02, 0x15);
  477.     sleep.second(1);
  478.    
  479.     // F (Shift+f)
  480.     hid.keyPress(0x02, 0x09);
  481.     sleep.second(1);
  482.    
  483.     // L (Shift+l)
  484.     hid.keyPress(0x02, 0x0F);
  485.     sleep.second(1);
  486.    
  487.     // D (Shift+d)
  488.     hid.keyPress(0x02, 0x07);
  489.     sleep.second(1);
  490.    
  491.     // F (Shift+f)
  492.     hid.keyPress(0x02, 0x09);
  493.     sleep.second(1);
  494.    
  495.     // ; (分号)
  496.     hid.keyPress(0, 0x33);
  497.     sleep.second(1);
  498.    
  499.     // K (Shift+k)
  500.     hid.keyPress(0x02, 0x0E);
  501.     sleep.second(1);
  502.    
  503.     // V (Shift+v)
  504.     hid.keyPress(0x02, 0x19);
  505.     sleep.second(1);
  506.    
  507.     // F (Shift+f)
  508.     hid.keyPress(0x02, 0x09);
  509.     sleep.second(1);
  510.    
  511.     // G (Shift+g)
  512.     hid.keyPress(0x02, 0x0A);
  513.     sleep.second(1);
  514.    
  515.     // G (Shift+g)
  516.     hid.keyPress(0x02, 0x0A);
  517.     sleep.second(1);
  518.    
  519.     // K (Shift+k)
  520.     hid.keyPress(0x02, 0x0E);
  521.     sleep.second(1);
  522.    
  523.     // I (Shift+i)
  524.     hid.keyPress(0x02, 0x0C);
  525.     sleep.second(1);
  526.    
  527.     // O (Shift+o)
  528.     hid.keyPress(0x02, 0x12);
  529.     sleep.second(1);
  530.    
  531.     // H (Shift+h)
  532.     hid.keyPress(0x02, 0x0B);
  533.     sleep.second(1);
  534.    
  535.     // 全部输入完后,最后按一次回车确认
  536.     hid.keyPress(0, 0x28);
  537.    
  538.     printl("\n复杂字符串输入完成!");
  539. }
  540. // ==================== 主程序 ====================

  541. function main() {
  542.     printl("========== HID按键方法示例开始 ==========");
  543.    
  544.     // 运行各个示例
  545.     printl("");
  546.     printl("--- 基础按键示例(十六进制) ---");
  547.     example_inputSingleLetter();
  548.    
  549.     printl("");
  550.     printl("--- 基础按键示例(keycode方法) ---");
  551.     example_inputWithKeycode();
  552.    
  553.     printl("");
  554.     printl("--- 屏幕控制示例 ---");
  555.     example_screenControl();
  556.    
  557.     printl("");
  558.     printl("--- 复合键示例 ---");
  559.     example_selectAll();
  560.     example_copy();
  561.     example_paste();
  562.    
  563.     printl("");
  564.     printl("--- 方向键示例 ---");
  565.     example_arrowKeys();
  566.    
  567.     printl("");
  568.     printl("--- 功能键示例 ---");
  569.     example_enter();
  570.     example_delete();
  571.     example_tab();
  572.     example_esc();
  573.     example_space();
  574.     example_home();
  575.     example_end();
  576.     example_pageUp();
  577.     example_pageDown();
  578.    
  579.     printl("");
  580.     printl("--- 完整演示 ---");
  581.     example_completeTextInput();
  582.    
  583.     printl("");
  584.     printl("--- 主键盘数字键示例 ---");
  585.     example_numberKeys();
  586.    
  587.     printl("");
  588.     printl("--- 小键盘示例 ---");
  589.     example_numpad();
  590.    
  591.     printl("");
  592.     printl("--- 连续输入相同字符示例 ---");
  593.     example_repeatedInput();
  594.    
  595.     printl("");
  596.     printl("--- 复杂字符串输入示例 ---");
  597.     example_complexString();
  598.    
  599.     printl("");
  600.     printl("========== HID按键方法示例结束 ==========");
  601. }

  602. // 执行主程序
  603. main();
复制代码







欢迎光临 B2B网络软件 (http://bbs.niubt.cn/) Powered by Discuz! X3.2