[C-1-1] MUST report
TOUCHSCREEN_FINGER
for the
Configuration.touchscreen
API field.
[C-1-2] MUST report the
android.hardware.touchscreen
and
android.hardware.faketouch
feature
flags.
If device implementations include a touchscreen that can track more than a single touch, they:
[C-2-1] MUST report the appropriate feature flags
android.hardware.touchscreen.multitouch
,
android.hardware.touchscreen.multitouch.distinct
,
android.hardware.touchscreen.multitouch.jazzhand
corresponding to the type of the specific touchscreen on the device.
If device implementations do not include a touchscreen (and rely on a pointer device only) and meet
the fake touch requirements in
section 7.2.5
, they:
[C-3-1] MUST NOT report any feature flag starting with
android.hardware.touchscreen
and
MUST report only
android.hardware.faketouch
.
7.2.5. Fake Touch Input
Fake touch interface provides a user input system that approximates a subset of touchscreen
capabilities. For example, a mouse or remote control that drives an on-screen cursor approximates
touch, but requires the user to first point or focus then click. Numerous input devices like the mouse,
trackpad, gyro-based air mouse, gyro-pointer, joystick, and multi-touch trackpad can support fake
touch interactions. Android includes the feature constant android.hardware.faketouch, which
corresponds to a high-fidelity non-touch (pointer-based) input device such as a mouse or trackpad
that can adequately emulate touch-based input (including basic gesture support), and indicates that
the device supports an emulated subset of touchscreen functionality.
If device implementations do not include a touchscreen but include another pointer input system
which they want to make available, they:
SHOULD declare support for the
android.hardware.faketouch
feature flag.
If device implementations declare support for
android.hardware.faketouch
, they:
[C-1-1] MUST report the
absolute X and Y screen positions
of the pointer location and
display a visual pointer on the screen.
[C-1-2] MUST report touch event with the action code that specifies the state change that
occurs on the pointer
going down or up on the screen
.
[C-1-3] MUST support pointer down and up on an object on the screen, which allows users
to emulate tap on an object on the screen.
[C-1-4] MUST support pointer down, pointer up, pointer down then pointer up in the same
place on an object on the screen within a time threshold, which allows users to
emulate
double tap
on an object on the screen.
[C-1-5] MUST support pointer down on an arbitrary point on the screen, pointer move to
any other arbitrary point on the screen, followed by a pointer up, which allows users to
emulate a touch drag.
[C-1-6] MUST support pointer down then allow users to quickly move the object to a
different position on the screen and then pointer up on the screen, which allows users to
fling an object on the screen.
[C-1-7] MUST report
TOUCHSCREEN_NOTOUCH
for the
Configuration.touchscreen
API field.
If device implementations declare support for
android.hardware.faketouch.multitouch.distinct
, they:
[C-2-1] MUST declare support for
android.hardware.faketouch
.
Page 80 of 132