Android查询:模拟键盘鼠标事件(adb shell 实现)

摘要:
1.发送键盘事件:命令格式1:adbshellinputkeyevent“value”,其中value和对应的keycode列在下表中:KeyEventValueKEYCODEComent0KEYCODE_UNKNOWN1KEYCODE_ MENU命令在SDK 2.1模拟器中失败。sendent命令可以是2KEYCODE_SOFT_RIGHT3KEYCODE_HOME4KEYCODE_BACK5

1. 发送键盘事件:

命令格式1:adb shell input keyevent “value”

其中value以及对应的key code如下表所列:

KeyEvent Value

KEYCODE

Comment

0

KEYCODE_UNKNOWN

1

KEYCODE_MENU

在SDK2.1的模拟器中命令失效,sendevent命令可行

2

KEYCODE_SOFT_RIGHT

3

KEYCODE_HOME

4

KEYCODE_BACK

5

KEYCODE_CALL

6

KEYCODE_ENDCALL

7

KEYCODE_0

8

KEYCODE_1

9

KEYCODE_2

10

KEYCODE_3

11

KEYCODE_4

12

KEYCODE_5

13

KEYCODE_6

14

KEYCODE_7

15

KEYCODE_8

16

KEYCODE_9

17

KEYCODE_STAR

18

KEYCODE_POUND

19

KEYCODE_DPAD_UP

20

KEYCODE_DPAD_DOWN

21

KEYCODE_DPAD_LEFT

22

KEYCODE_DPAD_RIGHT

23

KEYCODE_DPAD_CENTER

24

KEYCODE_VOLUME_UP

25

KEYCODE_VOLUME_DOWN

26

KEYCODE_POWER

27

KEYCODE_CAMERA

28

KEYCODE_CLEAR

29

KEYCODE_A

30

KEYCODE_B

31

KEYCODE_C

32

KEYCODE_D

33

KEYCODE_E

34

KEYCODE_F

35

KEYCODE_G

36

KEYCODE_H

37

KEYCODE_I

38

KEYCODE_J

39

KEYCODE_K

40

KEYCODE_L

41

KEYCODE_M

42

KEYCODE_N

43

KEYCODE_O

44

KEYCODE_P

45

KEYCODE_Q

46

KEYCODE_R

47

KEYCODE_S

48

KEYCODE_T

49

KEYCODE_U

50

KEYCODE_V

51

KEYCODE_W

52

KEYCODE_X

53

KEYCODE_Y

54

KEYCODE_Z

55

KEYCODE_COMMA

56

KEYCODE_PERIOD

57

KEYCODE_ALT_LEFT

58

KEYCODE_ALT_RIGHT

59

KEYCODE_SHIFT_LEFT

60

KEYCODE_SHIFT_RIGHT

61

KEYCODE_TAB

62

KEYCODE_SPACE

63

KEYCODE_SYM

64

KEYCODE_EXPLORER

65

KEYCODE_ENVELOPE

66

KEYCODE_ENTER

67

KEYCODE_DEL

68

KEYCODE_GRAVE

69

KEYCODE_MINUS

70

KEYCODE_EQUALS

71

KEYCODE_LEFT_BRACKET

72

KEYCODE_RIGHT_BRACKET

73

KEYCODE_BACKSLASH

74

KEYCODE_SEMICOLON

75

KEYCODE_APOSTROPHE

76

KEYCODE_SLASH

77

KEYCODE_AT

78

KEYCODE_NUM

79

KEYCODE_HEADSETHOOK

80

KEYCODE_FOCUS

81

KEYCODE_PLUS

82

KEYCODE_MENU

83

KEYCODE_NOTIFICATION

84

KEYCODE_SEARCH

85

TAG_LAST_KEYCODE

命令格式2:adb shell sendevent [device] [type] [code] [value]

如: adb shell sendevent /dev/input/event0 1 229 1 代表按下按下menu键

adb shell sendevent /dev/input/event0 1 229 0 代表按下松开menu键

说明:上述的命令需组合使用

另外所知道的命令如下:

Key Name CODE

MENU 229

HOME 102

BACK (back button) 158

CALL (call button) 231

END (end call button) 107

2. 发送鼠标事件(Touch):

命令格式:adb shell sendevent [device] [type] [code] [value]

情况1:在某坐标点上touch

如在屏幕的x坐标为40,y坐标为210的点上touch一下,命令如下

adb shell sendevent /dev/input/event0 3 0 40

adb shell sendevent /dev/input/event0 3 1 210

adb shell sendevent /dev/input/event0 1 330 1 //touch

adb shell sendevent /dev/input/event0 0 0 0 //it must have

adb shell sendevent /dev/input/event0 1 330 0 //untouch

adb shell sendevent /dev/input/event0 0 0 0 //it must have

注:以上六组命令必须配合使用,缺一不可

情况2:模拟滑动轨迹(可下载并采用aPaint软件进行试验)

如下例是在aPaint软件上画出一条开始于(100,200),止于(108,200)的水平直线

adb shell sendevent /dev/input/event0 3 0 100 //start from point (100,200)

adb shell sendevent /dev/input/event0 3 1 200

adb shell sendevent /dev/input/event0 1 330 1 //touch

adb shell sendevent /dev/input/event0 0 0 0

adb shell sendevent /dev/input/event0 3 0 101 //step to point (101,200)

adb shell sendevent /dev/input/event0 0 0 0

…………………… //must list each step, here just skip

adb shell sendevent /dev/input/event0 3 0 108 //end point(108,200)

adb shell sendevent /dev/input/event0 0 0 0

adb shell sendevent /dev/input/event0 1 330 0 //untouch

adb shell sendevent /dev/input/event0 0 0 0

免责声明:文章转载自《Android查询:模拟键盘鼠标事件(adb shell 实现)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ag-grid动态生成表头及绑定表数据你知道 Java 代码是如何运行的吗?下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Jquery面试题整合

一、Jquery测试题 下面哪种不是jquery的选择器?(单选) A、基本选择器 B、后代选择器 C、类选择器 D、进一步选择器 考点:jquery的选择器 (C) 当DOM加载完成后要执行的函数,下面哪个是正确的?(单选) jQuery(expression, [context]) B、jQuery(html,[ownerDocument]) C、jQ...

Visual Studio 2008 、 Windows 环境变量介绍 和 如何在文件中引用环境变量 .

Visual Studio 2008 和 Windows 环境变量对设置 相对路径很重要,这样便于代码的移植,即使换一台计算机,代码不用更改配置,直接就能用。 可以在项目的“工具”“属性页”对话框中任何接受字符串的位置使用这些宏。这些宏不区分大小写。 关于如何自己定义环境变量详见我的另一文章:http://blog.csdn.net/jtop0/artic...

Linux上shell脚本,字符串转ASCII码

  在shell脚本里,将字符串转ASCII码的方法: [keysystem@localhost ~]$ printf "%d" "'A" 65 [keysystem@localhost ~]$ printf "%d" "'0" 48   在shell脚本里,将字符串转10进制转16进制的方法: [keysystem@localhost ~]$ print...

安装、设置和使用SSH Secure shell 实现windows 登录linux dodo

1.我装是VMware虚拟机linux redhat9,自带ssh,linux终端输入 :ssh,可见相关信息。 2.windows xp下安装SSHSecureShellClient-3.2.9.exe,按默认路径装就行了,装好后桌面会出现两个图标:SSH Secure Shell Client和SSH Secure File Transfer Cli...

ubuntu18.04优盘只读问题

1、打开终端,查看系统日志文件: tail -f /var/log/syslog 2、插入优盘。 3、系统文集syslog输出以下内容: Feb 26 20:40:08 noi dbus-daemon[1270]: [session uid=1000 pid=1270] Successfully activated service 'org.gnome.S...

swap分区

1、什么是交换分区 交换分区的功能就是在内存不够的情况下,操作系统先把内存中暂时不用的数据,存到硬盘的交换空间, 腾出内存来让别的程序运行,和Windows的虚拟内存(pagefile.sys)的作用是一样的。 2、关于swap交换分区的设置 一种流行的、以讹传讹的说法是,安装Linux系统时,交换分区swap的大小应该是内存的两倍。 也就是说,如果内存是...