Lines Matching refs:Axis
972 const char* label = getAxisLabel(range.axis);
978 snprintf(name, sizeof(name), "%d", range.axis);
1915 status_t InputMapper::getAbsoluteAxisInfo(int32_t axis, RawAbsoluteAxisInfo* axisInfo) {
1916 return getEventHub()->getAbsoluteAxisInfo(getDeviceId(), axis, axisInfo);
1924 const RawAbsoluteAxisInfo& axis, const char* name) {
1925 if (axis.valid) {
1927 name, axis.minValue, axis.maxValue, axis.flat, axis.fuzz, axis.resolution);
3050 // Configure absolute axis information.
3270 ALOGW(INDENT "Touch device '%s' did not report support for X or Y axis! "
3394 mOrientedRanges.x.axis = AMOTION_EVENT_AXIS_X;
3396 mOrientedRanges.y.axis = AMOTION_EVENT_AXIS_Y;
3401 // Scale factor for terms that are not oriented in a particular axis.
3406 // Size of diagonal axis.
3425 mOrientedRanges.touchMajor.axis = AMOTION_EVENT_AXIS_TOUCH_MAJOR;
3434 mOrientedRanges.touchMinor.axis = AMOTION_EVENT_AXIS_TOUCH_MINOR;
3436 mOrientedRanges.toolMajor.axis = AMOTION_EVENT_AXIS_TOOL_MAJOR;
3445 mOrientedRanges.toolMinor.axis = AMOTION_EVENT_AXIS_TOOL_MINOR;
3447 mOrientedRanges.size.axis = AMOTION_EVENT_AXIS_SIZE;
3471 mOrientedRanges.pressure.axis = AMOTION_EVENT_AXIS_PRESSURE;
3495 mOrientedRanges.tilt.axis = AMOTION_EVENT_AXIS_TILT;
3509 mOrientedRanges.orientation.axis = AMOTION_EVENT_AXIS_ORIENTATION;
3533 mOrientedRanges.orientation.axis = AMOTION_EVENT_AXIS_ORIENTATION;
3556 mOrientedRanges.distance.axis = AMOTION_EVENT_AXIS_DISTANCE;
3633 // of the diagonal axis of the touch pad. Touches that are wider than this are
6854 const Axis& axis = mAxes.valueAt(i);
6855 addMotionRange(axis.axisInfo.axis, axis, info);
6857 if (axis.axisInfo.mode == AxisInfo::MODE_SPLIT) {
6858 addMotionRange(axis.axisInfo.highAxis, axis, info);
6864 void JoystickInputMapper::addMotionRange(int32_t axisId, const Axis& axis,
6867 axis.min, axis.max, axis.flat, axis.fuzz, axis.resolution);
6874 axis.min, axis.max, axis.flat, axis.fuzz, axis.resolution);
6880 * Returns -1 if no compatibility axis is needed. */
6881 int32_t JoystickInputMapper::getCompatAxis(int32_t axis) {
6882 switch(axis) {
6897 const Axis& axis = mAxes.valueAt(i);
6898 const char* label = getAxisLabel(axis.axisInfo.axis);
6902 dump.appendFormat(INDENT4 "%d", axis.axisInfo.axis);
6904 if (axis.axisInfo.mode == AxisInfo::MODE_SPLIT) {
6905 label = getAxisLabel(axis.axisInfo.highAxis);
6907 dump.appendFormat(" / %s (split at %d)", label, axis.axisInfo.splitValue);
6909 dump.appendFormat(" / %d (split at %d)", axis.axisInfo.highAxis,
6910 axis.axisInfo.splitValue);
6912 } else if (axis.axisInfo.mode == AxisInfo::MODE_INVERT) {
6917 axis.min, axis.max, axis.flat, axis.fuzz, axis.resolution);
6920 axis.scale, axis.offset, axis.highScale, axis.highOffset);
6923 mAxes.keyAt(i), axis.rawAxisInfo.minValue, axis.rawAxisInfo.maxValue,
6924 axis.rawAxisInfo.flat, axis.rawAxisInfo.fuzz, axis.rawAxisInfo.resolution);
6937 continue; // axis must be claimed by a different device
6943 // Map axis.
6947 // Axis is not explicitly mapped, will choose a generic axis later.
6949 axisInfo.axis = -1;
6957 Axis axis;
6961 axis.initialize(rawAxisInfo, axisInfo, explicitlyMapped,
6965 axis)) {
6968 axis.initialize(rawAxisInfo, axisInfo, explicitlyMapped,
6974 axis.initialize(rawAxisInfo, axisInfo, explicitlyMapped,
6981 // in axis values up front.
6982 axis.filter = axis.fuzz ? axis.fuzz : axis.flat * 0.25f;
6984 mAxes.add(abs, axis);
6997 // Assign generic axis ids to remaining axes.
7001 Axis& axis = mAxes.editValueAt(i);
7002 if (axis.axisInfo.axis < 0) {
7009 axis.axisInfo.axis = nextGenericAxisId;
7012 ALOGI("Ignoring joystick '%s' axis %d because all of the generic axis ids "
7026 const Axis& axis = mAxes.valueAt(i);
7027 if (axis.axisInfo.axis == axisId
7028 || (axis.axisInfo.mode == AxisInfo::MODE_SPLIT
7029 && axis.axisInfo.highAxis == axisId)) {
7042 ALOGI("Discarding joystick '%s' axis %d because there are too many axes.",
7048 bool JoystickInputMapper::isCenteredAxis(int32_t axis) {
7049 switch (axis) {
7071 Axis& axis = mAxes.editValueAt(i);
7072 axis.resetValue();
7083 Axis& axis = mAxes.editValueAt(index);
7085 switch (axis.axisInfo.mode) {
7087 newValue = (axis.rawAxisInfo.maxValue - rawEvent->value)
7088 * axis.scale + axis.offset;
7092 if (rawEvent->value < axis.axisInfo.splitValue) {
7093 newValue = (axis.axisInfo.splitValue - rawEvent->value)
7094 * axis.scale + axis.offset;
7096 } else if (rawEvent->value > axis.axisInfo.splitValue) {
7098 highNewValue = (rawEvent->value - axis.axisInfo.splitValue)
7099 * axis.highScale + axis.highOffset;
7106 newValue = rawEvent->value * axis.scale + axis.offset;
7110 axis.newValue = newValue;
7111 axis.highNewValue = highNewValue;
7144 const Axis& axis = mAxes.valueAt(i);
7145 setPointerCoordsAxisValue(&pointerCoords, axis.axisInfo.axis, axis.currentValue);
7146 if (axis.axisInfo.mode == AxisInfo::MODE_SPLIT) {
7147 setPointerCoordsAxisValue(&pointerCoords, axis.axisInfo.highAxis,
7148 axis.highCurrentValue);
7152 // Moving a joystick axis should not wake the device because joysticks can
7165 int32_t axis, float value) {
7166 pointerCoords->setAxisValue(axis, value);
7171 int32_t compatAxis = getCompatAxis(axis);
7181 Axis& axis = mAxes.editValueAt(i);
7182 if (force || hasValueChangedSignificantly(axis.filter,
7183 axis.newValue, axis.currentValue, axis.min, axis.max)) {
7184 axis.currentValue = axis.newValue;
7187 if (axis.axisInfo.mode == AxisInfo::MODE_SPLIT) {
7188 if (force || hasValueChangedSignificantly(axis.filter,
7189 axis.highNewValue, axis.highCurrentValue, axis.min, axis.max)) {
7190 axis.highCurrentValue = axis.highNewValue;
7201 // Filter out small changes in value unless the value is converging on the axis