Android sendevent/getevent usage

Source: Internet
Author: User

Getevent/sendevent source code

The source code of these two commands is in system/CORE/toolbox/, and sendevent. c getevent. c

Getevent

Use getevent to obtain the events reported by the/dev/input/eventx device. This command also outputs the basic information of all event devices, as shown below:

Add device 1:/dev/input/event1
Name: "mxc_ts"
Add device 2:/dev/input/event0
Name: "mxckpd"

Indicates that the system has two event devices, which correspond to the touchscreen and keyboard devices respectively.

Android can use sendevent to simulate touch screen, keyboard, and other types of Event Events,

Sendevent/dev/input/eventx type code value

/Dev/input/eventx corresponds to an event device. You can use getevent to obtain available event devices.

For definitions of type, code, and value, see kernel/include/Linux/input. h.

Type is defined as follows

/* * Event types */#define EV_SYN          0x00#define EV_KEY          0x01#define EV_REL          0x02#define EV_ABS          0x03#define EV_MSC          0x04#define EV_SW           0x05#define EV_LED          0x11#define EV_SND          0x12#define EV_REP          0x14#define EV_FF           0x15#define EV_PWR          0x16#define EV_FF_STATUS        0x17#define EV_MAX          0x1f#define EV_CNT          (EV_MAX+1)

Generally, ev_key, ev_rel, ev_abs, and ev_syn are commonly used.

Corresponding to keyboard, relative coordinate, absolute coordinate, and synchronization event respectively

Ev_syn indicates that a group of complete events have been completed and need to be processed. The ev_syn Code defines the event distribution type.

The code for ev_syn is as follows:

/* * Synchronization events. */#define SYN_REPORT      0#define SYN_CONFIG      1#define SYN_MT_REPORT       2

Ev_key has a lot of code, so it is not listed here. Refer to input. h.

Code corresponding to ev_rel

/* * Relative axes */#define REL_X           0x00#define REL_Y           0x01#define REL_Z           0x02#define REL_RX          0x03#define REL_RY          0x04#define REL_RZ          0x05#define REL_HWHEEL      0x06#define REL_DIAL        0x07#define REL_WHEEL       0x08#define REL_MISC        0x09#define REL_MAX         0x0f#define REL_CNT         (REL_MAX+1)

Code corresponding to ev_abs

/* * Absolute axes */#define ABS_X           0x00#define ABS_Y           0x01#define ABS_Z           0x02#define ABS_RX          0x03#define ABS_RY          0x04#define ABS_RZ          0x05#define ABS_THROTTLE        0x06#define ABS_RUDDER      0x07#define ABS_WHEEL       0x08#define ABS_GAS         0x09#define ABS_BRAKE       0x0a#define ABS_HAT0X       0x10#define ABS_HAT0Y       0x11#define ABS_HAT1X       0x12#define ABS_HAT1Y       0x13#define ABS_HAT2X       0x14#define ABS_HAT2Y       0x15#define ABS_HAT3X       0x16#define ABS_HAT3Y       0x17#define ABS_PRESSURE        0x18#define ABS_DISTANCE        0x19#define ABS_TILT_X      0x1a#define ABS_TILT_Y      0x1b#define ABS_TOOL_WIDTH      0x1c#define ABS_VOLUME      0x20#define ABS_MISC        0x28#define ABS_MT_TOUCH_MAJOR  0x30    /* Major axis of touching ellipse */#define ABS_MT_TOUCH_MINOR  0x31    /* Minor axis (omit if circular) */#define ABS_MT_WIDTH_MAJOR  0x32    /* Major axis of approaching ellipse */#define ABS_MT_WIDTH_MINOR  0x33    /* Minor axis (omit if circular) */#define ABS_MT_ORIENTATION  0x34    /* Ellipse orientation */#define ABS_MT_POSITION_X   0x35    /* Center X ellipse position */#define ABS_MT_POSITION_Y   0x36    /* Center Y ellipse position */#define ABS_MT_TOOL_TYPE    0x37    /* Type of touching device */#define ABS_MT_BLOB_ID      0x38    /* Group a set of packets as a blob */#define ABS_MT_TRACKING_ID  0x39    /* Unique ID of initiated contact */#define ABS_MT_PRESSURE     0x3a    /* Pressure on contact area */#define ABS_MAX         0x3f#define ABS_CNT         (ABS_MAX+1)

Input keyevent

If you want to simulate buttons, sending events is cumbersome and can be replaced by input keyevent.

The following are some common input keyevent usage:

Input keyevent 3 // home

Input keyevent 4 // back

Input keyevent 19 // up

Input keyevent 20 // down

Input keyevent 21 // left

Input keyevent 22 // right

Input keyevent 23 // select/OK

Input keyevent 24 // volume +

Input keyevent 25 // volume-

Input keyevent 82 // menu

Use senevent to simulate touch screen events

Sendevent/dev/input/event1 0003 0000 0000015e // abs x coordinate

Sendevent/dev/input/event1: 0003 0001 running 00df // ABS y coordinate

Sendevent/dev/input/event1: 0001 014a 00000001 // the BTN touch event value is 1

Sendevent/dev/input/event1: 0003 0018 00000000 // ABS pressure event

Sendevent/dev/input/event1: 0001 014a 00000000 // the BTN touch event value is 0.

Sendevent/dev/input/event1: 0000 0000 00000000 // Sync event

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.