SOURCE_CLASS_POINTER

The input source is a pointing device associated with a display.
Examples: SOURCE_TOUCHSCREEN, SOURCE_MOUSE.
A MotionEvent should be interpreted as absolute coordinates in
display units according to the View hierarchy. Pointer down/up
indicated when
the finger touches the display or when the selection button is pressed/released.
Use getMotionRange(int) to query the range of the pointing
device. Some devices permit
touches outside the display area so the effective range may be somewhat smaller or larger
than the actual display size.

Constant Value:
2
(0x00000002)

SOURCE_CLASS_POSITION

The input source is an absolute positioning device not associated with a display
(unlike SOURCE_CLASS_POINTER).
A MotionEvent should be interpreted as absolute coordinates in
device-specific surface units.
Use getMotionRange(int) to query the range of positions.

Constant Value:
8
(0x00000008)

SOURCE_CLASS_TRACKBALL

The input source is a trackball navigation device.
Examples: SOURCE_TRACKBALL.
A MotionEvent should be interpreted as relative movements in
device-specific
units used for navigation purposes. Pointer down/up indicates when the selection button
is pressed/released.
Use getMotionRange(int) to query the range of motion.

SOURCE_STYLUS

Note that this bit merely indicates that an input device is capable of obtaining
input from a stylus. To determine whether a given touch event was produced
by a stylus, examine the tool type returned by getToolType(int)
for each individual pointer.

A single touch event may multiple pointers with different tool types,
such as an event that has one pointer with tool type
TOOL_TYPE_FINGER and another pointer with tool type
TOOL_TYPE_STYLUS. So it is important to examine
the tool type of each pointer, regardless of the source reported
by getSource().

SOURCE_TOUCH_NAVIGATION

The input source is a touch device whose motions should be interpreted as navigation events.
For example, an upward swipe should be as an upward focus traversal in the same manner as
pressing up on a D-Pad would be. Swipes to the left, right and down should be treated in a
similar manner.