New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 771374 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
User never visited
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Chrome
Pri: 1
Type: Bug



Sign in to add a comment

ozone not using input_absinfo.resolution to calculate radius

Project Member Reported by jkwang@google.com, Oct 3 2017

Issue description

The evdev interface will report a resolution in absinfo, indicating the unit of value. It's currently not used in ozone, so the radius_x and radius_y will be wrong when chrome run on device reporting resolution.


Kernel definition of input_absinfo is here:
/**
 * struct input_absinfo - used by EVIOCGABS/EVIOCSABS ioctls
 * @value: latest reported value for the axis.
 * @minimum: specifies minimum value for the axis.
 * @maximum: specifies maximum value for the axis.
 * @fuzz: specifies fuzz value that is used to filter noise from
 *	the event stream.
 * @flat: values that are within this value will be discarded by
 *	joydev interface and reported as 0 instead.
 * @resolution: specifies resolution for the values reported for
 *	the axis.
 *
 * Note that input core does not clamp reported values to the
 * [minimum, maximum] limits, such task is left to userspace.
 *
 * Resolution for main axes (ABS_X, ABS_Y, ABS_Z) is reported in
 * units per millimeter (units/mm), resolution for rotational axes
 * (ABS_RX, ABS_RY, ABS_RZ) is reported in units per radian.
 */
struct input_absinfo {
	__s32 value;
	__s32 minimum;
	__s32 maximum;
	__s32 fuzz;
	__s32 flat;
	__s32 resolution;
};

 

Comment 1 by jkwang@google.com, Oct 4 2017

Summary: ozone not using input_absinfo.resolution to calculate radius (was: ozone not using input_absinfo.resolution to calcuat)
Project Member

Comment 2 by bugdroid1@chromium.org, Oct 5 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e7f0416cefe3af6fee4921a25611b0af4cedf868

commit e7f0416cefe3af6fee4921a25611b0af4cedf868
Author: Jingkui Wang <jkwang@google.com>
Date: Thu Oct 05 21:11:27 2017

Ozone: Use resolution to scale touch_major and touch_minor

The units of touch_major and abs_mt_position_x could be different. We
have to scale the values from touch_major/touch_minor before we map the
value to radius (pixels).

Bug:  771374 
Change-Id: Ic5ca2424ff72e475e7146ff7a42725445d2fb250
Reviewed-on: https://chromium-review.googlesource.com/702758
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Jingkui Wang <jkwang@google.com>
Cr-Commit-Position: refs/heads/master@{#506859}
[modify] https://crrev.com/e7f0416cefe3af6fee4921a25611b0af4cedf868/ui/events/ozone/evdev/event_device_test_util.cc
[modify] https://crrev.com/e7f0416cefe3af6fee4921a25611b0af4cedf868/ui/events/ozone/evdev/event_device_test_util.h
[modify] https://crrev.com/e7f0416cefe3af6fee4921a25611b0af4cedf868/ui/events/ozone/evdev/touch_event_converter_evdev.cc
[modify] https://crrev.com/e7f0416cefe3af6fee4921a25611b0af4cedf868/ui/events/ozone/evdev/touch_event_converter_evdev.h
[modify] https://crrev.com/e7f0416cefe3af6fee4921a25611b0af4cedf868/ui/events/ozone/evdev/touch_event_converter_evdev_unittest.cc

Comment 3 by jkwang@google.com, Nov 13 2017

Status: Verified (was: Started)

Sign in to add a comment