sleekweasel / CgiAdbRemote

Mini webserver for controlling UNROOTED Android devices via a web browser.
35 stars 10 forks source link

Support for devices not implementing 'input swipe' or 'input text'. #1

Open umaar opened 11 years ago

umaar commented 11 years ago

Some manufacturers haven't implemented 'input'.

sleekweasel commented 11 years ago

These devices need operating through 'sendevent' and the parameters for that need obtaining, interpreting, and presenting from 'getevent -lp' and 'getevent -p'.

Useful: http://source.android.com/devices/tech/input/touch-devices.html

Touch:

add device 4: /dev/input/event6 name: "mxt224_touchscreen_0" events: ABS (0003): ABS_MT_SLOT : value 0, min 0, max 9, fuzz 0, flat 0, resolution 0 ABS_MT_TOUCH_MAJOR : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0 ABS_MT_POSITION_X : value 0, min 0, max 1023, fuzz 0, flat 0, resolution 0 ABS_MT_POSITION_Y : value 0, min 0, max 1023, fuzz 0, flat 0, resolution 0 ABS_MT_TRACKING_ID : value 0, min 0, max 65535, fuzz 0, flat 0, resolution 0 input props:

add device 4: /dev/input/event6 name: "mxt224_touchscreen_0" events: ABS (0003): 002f : value 0, min 0, max 9, fuzz 0, flat 0, resolution 0 0030 : value 0, min 0, max 255, fuzz 0, flat 0, resolution 0 0035 : value 0, min 0, max 1023, fuzz 0, flat 0, resolution 0 0036 : value 0, min 0, max 1023, fuzz 0, flat 0, resolution 0 0039 : value 0, min 0, max 65535, fuzz 0, flat 0, resolution 0 input props:

Note: ABS_MT_POSITION_X and _Y cover the WHOLE screen, scaled to its dimensions. TOUCH_MAJOR is finger fatness. SLOT is presumably multitouch; TRACKING_ID seems to be an incrementing index, terminated with -1. Different devices do this slightly differently: Nexus S doesn't have TRACKING_ID, for instance, but does have pressure.

Pressure (not shown) may be on /dev/input/event3 Or perhaps that's atmospheric pressure.

/dev/input/event6: 0003 0039 000003f8 /dev/input/event6: 0003 0035 000000f8 /dev/input/event6: 0003 0036 00000152 /dev/input/event6: 0000 0000 00000000 /dev/input/event6: 0003 0035 000000f4 /dev/input/event6: 0000 0000 00000000 /dev/input/event6: 0003 0035 0000026a /dev/input/event6: 0000 0000 00000000 /dev/input/event6: 0003 0035 0000026b /dev/input/event6: 0000 0000 00000000 /dev/input/event6: 0003 0039 ffffffff

Keys:

add device 5: /dev/input/event7 name: "mxt224_key_0" events: KEY (0001): KEY_HOME KEY_MENU KEY_BACK KEY_SEARCH
input props:

add device 5: /dev/input/event7 name: "mxt224_key_0" events: KEY (0001): 0066 008b 009e 00d9 input props:

getevents:

/dev/input/event7: 0001 009e 00000001 /dev/input/event7: 0000 0000 00000000