zoukankan      html  css  js  c++  java
  • Android查询:模拟键盘鼠标事件(adb shell 实现)

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

    (2013-04-27 13:24:43)
      分类: android理解

    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

    1

    life is a jounery,yes
  • 相关阅读:
    WCF-配置
    乡下人生活录——程序员给自己买份保险吧
    Sqlserver表分区
    Oracle通过Navicat导入表数据与机构,数据无法直接查询,需要加双引号的问题
    19.Imagetragick 命令执行漏洞(CVE-2016–3714)
    18.phpmyadmin 4.8.1 远程文件包含漏洞(CVE-2018-12613)
    17.[CVE-2017-12615]Tomcat任意文件上传漏洞
    16.Tomcat弱口令 && 后台getshell漏洞
    15.Nginx 解析漏洞复现
    14.Nginx 文件名逻辑漏洞(CVE-2013-4547)
  • 原文地址:https://www.cnblogs.com/CaptainLin/p/3597155.html
Copyright © 2011-2022 走看看