Re: [2/2] input: wacom - Pass touch resolution to clients through input_absinfo

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jan 24, 2011 at 10:18:54AM -0800, Ping Cheng wrote:
> On Mon, Jan 24, 2011 at 6:40 AM, Henrik Rydberg <rydberg@xxxxxxxxxxx> wrote:
> > Hi Ping,
> >
> >> @@ -1228,8 +1228,13 @@ void wacom_setup_input_capabilities(struct input_dev *input_dev,
> >>       case TABLETPC:
> >>               if (features->device_type == BTN_TOOL_DOUBLETAP ||
> >>                   features->device_type == BTN_TOOL_TRIPLETAP) {
> >> -                     input_set_abs_params(input_dev, ABS_RX, 0, features->x_phy, 0, 0);
> >> -                     input_set_abs_params(input_dev, ABS_RY, 0, features->y_phy, 0, 0);
> >> +                     /* set touch resolution in points/mm */
> >> +                     res = features->x_phy/100;
> >> +                     input_abs_set_res(input_dev, ABS_X,
> >> +                                         features->x_max/res);
> >
> > It seems to me the construction above looses precision twice for no
> > apparent reason.
> 
> Well, there was a reason (logically instead of mathematically though):
> features->x_phy/100 gives us the physical size of the touch area in
> mm.
> 
> > How about instead use "100 * features->x_max /
> > features->x_phy"?
> 
> Sure.
> 
> > Besides, it is a bit unfortunate that "res" is short
> > for both result and resolution.
> 
> Resolution is defined as __s32 in input_absinfo. How about we use __s32 then?

input_abs_set_res() takes and int argument so keep it int  (or just
embed the expression into the call and forgo 'res').

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux