On Tue, Jan 19, 2016 at 06:35:24PM -0800, Ping Cheng wrote:
> On Tue, Jan 19, 2016 at 6:17 PM, Peter Hutterer <peter.hutte...@who-t.net>
> wrote:
> 
> > On Tue, Jan 19, 2016 at 05:47:50PM -0800, Ping Cheng wrote:
> > > On Tue, Jan 19, 2016 at 5:03 PM, Peter Hutterer <
> > peter.hutte...@who-t.net>
> > > wrote:
> > >
> > > > On Tue, Jan 19, 2016 at 04:29:09PM -0800, Ping Cheng wrote:
> > > > > Group inital values by device types.
> > > > >
> > > > > Signed-off-by: Ping Cheng <pi...@wacom.com>
> > > > > ---
> > > > > v2: rely on device type instead of kernel version, as suggested by
> > Peter.
> > > > > ---
> > > > >  wacom.c | 67
> > > > +++++++++++++----------------------------------------------------
> > > > >  1 file changed, 13 insertions(+), 54 deletions(-)
> > > > >
> > > > > diff --git a/wacom.c b/wacom.c
> > > > > index 32a98c4..3f5a725 100644
> > > > > --- a/wacom.c
> > > > > +++ b/wacom.c
> > > > > @@ -211,26 +211,21 @@ static int wacom_intuos_events(struct
> > uinput_info
> > > > *info)
> > > > >       set_event(info, UI_SET_KEYBIT, BTN_TOOL_RUBBER);
> > > > >       set_event(info, UI_SET_KEYBIT, BTN_TOOL_MOUSE);
> > > > >       set_event(info, UI_SET_KEYBIT, BTN_TOOL_LENS);
> > > > > -     if (features->type != INTUOS5S &&
> > > > > -             features->type != INTUOS5M &&
> > > > > -             features->type != INTUOS5L)
> > > > > +     if (features->type != INTUOS)
> > > > >               set_event(info, UI_SET_KEYBIT, BTN_TOOL_FINGER);
> > > >
> > > > ok, now Im confused. in the previous version you had > INTUOS which
> > > > would've
> > > > excluded a couple of devices. Now you're only excluding the Intuos1. Is
> > > > this
> > > > intended?
> > > >
> > >
> > > Yes, it is intentional.
> > >
> > > "> INTUOS" meant INTUOS is not included. All types after INTUOS were
> > > included, which are Intuos 3 and later, as well as all Cintitqs. Now, I
> > > don't have those types in order. I can not use > INTUOS any more. In
> > fact,
> > > "> INTUOS" was unnecessary then. The type enum rearrangement was not for
> > > this statement. It was for the if/switch statement you commented below.
> >
> > I was referring to the devices < INTUOS that would've been dropped with v1
> >
> 
> There was no < INTUOS in v1. This was a <= INTUOS3L. But, that was for
> another loop...

In the current code, the intuos 5 ones don't get the BTN_TOOL_FINGER bit
set (at least not here).

in the first version [1], you removed the intous5 condition and replaced it
with an kernel version check and the condition

> +     if (features->type > INTUOS)

this would've added the tag to everything except PTU, PL, GRAPHIRE, P4,
PENPARTNER and INTUOS.

In the second version [2], you removed the intuos5 condition and replaced it
with 
> +     if (features->type != INTUOS)

so PTU, PL, GRAPHIRE, P4 and PENPARTNER now get the bit set. 
that's equivalent to the current code, so with v2 you're unsetting
BTN_TOOL_FINGER from the Intuos, but leaving it in place for everything else
(including Intuos 5 models which were previously excluded)

[1] http://sourceforge.net/p/linuxwacom/mailman/message/34776688/
[2] http://sourceforge.net/p/linuxwacom/mailman/message/34779774/

It looks correct enough, but I'm just making sure this is indeed what you
intended (the commit message should've mentioned this change, "Cleanup" is
always a bit generic)

Cheers,
   Peter

> 
> but included in v2. Since this is the same as the current code, I guess this
> > was intentational though and maybe an oversight in v1?
> >
> 
> I am a bit confused ;-). This is v2 we are looking at. We only had one
> version before this one. Do you refer to another version?
> 
> Cheers,
> 
> Ping
> 
> > > > -     set_event(info, UI_SET_KEYBIT, BTN_TOUCH);
> > > > >       set_event(info, UI_SET_KEYBIT, BTN_STYLUS2);
> > > > >       set_event(info, UI_SET_KEYBIT, BTN_RIGHT);
> > > > >       set_event(info, UI_SET_KEYBIT, BTN_LEFT);
> > > > >       set_event(info, UI_SET_KEYBIT, BTN_MIDDLE);
> > > > >       set_event(info, UI_SET_KEYBIT, BTN_SIDE);
> > > > >       set_event(info, UI_SET_KEYBIT, BTN_EXTRA);
> > > > > -     if (features->type != INTUOS5S &&
> > > > > -             features->type != INTUOS5M &&
> > > > > -             features->type != INTUOS5L)
> > > > > -             set_event(info, UI_SET_KEYBIT, BTN_7);
> > > > > -     set_event(info, UI_SET_KEYBIT, BTN_MIDDLE);
> > > > >
> > > > > -     if (features->type != INTUOS5S &&
> > > > > -             features->type != INTUOS5M &&
> > > > > -             features->type != INTUOS5L) {
> > > > > +     if (features->type == INTUOS3S ||
> > > > > +         features->type == INTUOS3 ||
> > > > > +         features->type == INTUOS3L ||
> > > > > +         features->type == CINTIQ ||
> > > > > +         features->type == BEE ||
> > > > > +         features->type == WACOM_21UX2) {
> > > >
> > > > I'd prefer a switch for simpler fallthrough, but I'm not going to
> > fight too
> > > > hard for this :)
> > > >
> > >
> > > Yeah, I paid attention to your suggestion ;-). But, there are only two
> > > states: with RX/Y, or without. We can definitely go with
> > >
> > > switch (features->type) {
> > > case INTUOS3S:
> > > case INTUOS3:
> > > case INTUOS3L:
> > > case CINTIQ:
> > > case BEE:
> > > case WACOM_21UX2:
> > >                 set_event(info, UI_SET_ABSBIT, ABS_RX);
> > >                 set_event(info, UI_SET_ABSBIT, ABS_RY);
> > >                 break;
> > >  }
> > >
> > > Feel free to merge it in when you push the patch. You have my
> > > signed-off-by, either way.
> > >
> > > Thank you for your review.
> > >
> > > Ping
> > >
> > >
> > > > >               set_event(info, UI_SET_ABSBIT, ABS_RX);
> > > > >               set_event(info, UI_SET_ABSBIT, ABS_RY);
> > > > >       }
> > > > > @@ -352,26 +347,14 @@ static int wacom_set_events(struct uinput_info
> > > > *info, struct uinput_user_dev *de
> > > > >               break;
> > > > >       case INTUOS4:
> > > > >       case INTUOS4L:
> > > > > -             set_event(info, UI_SET_ABSBIT, ABS_Z);
> > > > > -             set_event(info, UI_SET_KEYBIT, BTN_7);
> > > > > -             set_event(info, UI_SET_KEYBIT, BTN_8);
> > > > > -             /* fall trhu */
> > > > > -     case INTUOS4S:
> > > > > -             set_event(info, UI_SET_KEYBIT, BTN_0);
> > > > > -             set_event(info, UI_SET_KEYBIT, BTN_1);
> > > > > -             set_event(info, UI_SET_KEYBIT, BTN_2);
> > > > > -             set_event(info, UI_SET_KEYBIT, BTN_3);
> > > > > -             set_event(info, UI_SET_KEYBIT, BTN_4);
> > > > > -             set_event(info, UI_SET_KEYBIT, BTN_5);
> > > > > -             set_event(info, UI_SET_KEYBIT, BTN_6);
> > > > > -             wacom_intuos_events(info);
> > > > > -             break;
> > > > >       case INTUOS5M:
> > > > >       case INTUOS5L:
> > > > >               set_event(info, UI_SET_KEYBIT, BTN_7);
> > > > >               set_event(info, UI_SET_KEYBIT, BTN_8);
> > > > >       case INTUOS5S:
> > > > >               set_event(info, UI_SET_ABSBIT, ABS_Z);
> > > > > +             /* fall through */
> > > > > +     case INTUOS4S:
> > > > >               set_event(info, UI_SET_KEYBIT, BTN_0);
> > > > >               set_event(info, UI_SET_KEYBIT, BTN_1);
> > > > >               set_event(info, UI_SET_KEYBIT, BTN_2);
> > > > > @@ -416,7 +399,6 @@ static int wacom_set_initial_values(struct
> > > > uinput_info *info,
> > > > >               dev->absmax[ABS_WHEEL] = 71;
> > > > >               /* fall through */
> > > > >       case G4:
> > > > > -             /* fall through */
> > > > >       case GRAPHIRE:
> > > > >               break;
> > > > >
> > > > > @@ -429,45 +411,22 @@ static int wacom_set_initial_values(struct
> > > > uinput_info *info,
> > > > >               /* fall through */
> > > > >       case INTUOS3S:
> > > > >               dev->absmax[ABS_RX] = 4096;
> > > > > -             dev->absmax[ABS_Z] = 899;
> > > > > -             dev->absmin[ABS_Z] = -900;
> > > > >               /* fall through */
> > > > > -     case INTUOS:
> > > > > -             dev->absmax[ABS_WHEEL] = 1023;
> > > > > -             dev->absmax[ABS_TILT_X] = 127;
> > > > > -             dev->absmax[ABS_TILT_Y] = 127;
> > > > > -             dev->absmin[ABS_RZ] = -900;
> > > > > -             dev->absmax[ABS_RZ] = 899;
> > > > > -             dev->absmin[ABS_THROTTLE] = -1023;
> > > > > -             dev->absmax[ABS_THROTTLE] = 1023;
> > > > > -             break;
> > > > > -     case PL:
> > > > > -     case PTU:
> > > > > -             break;
> > > > > -     case PENPARTNER:
> > > > > -             break;
> > > > > -     case TABLETPC:
> > > > > -             dev->absmax[ABS_RX] = 1023;
> > > > > -             dev->absmax[ABS_RY] = 1023;
> > > > >       case INTUOS4S:
> > > > >       case INTUOS4:
> > > > >       case INTUOS4L:
> > > > > -             dev->absmin[ABS_Z] = -900;
> > > > > -             dev->absmax[ABS_Z] = 899;
> > > > > -             break;
> > > > >       case INTUOS5S:
> > > > >       case INTUOS5M:
> > > > >       case INTUOS5L:
> > > > > -             dev->absfuzz[ABS_X] = 4;
> > > > > -             dev->absfuzz[ABS_Y] = 4;
> > > > > -             dev->absfuzz[ABS_Y] = 4;
> > > > >               dev->absmin[ABS_Z] = -900;
> > > > >               dev->absmax[ABS_Z] = 899;
> > > > > -             dev->absmin[ABS_RZ] = -900;
> > > > > -             dev->absmax[ABS_RZ] = 899;
> > > > > +             /* fall through */
> > > > > +     case INTUOS:
> > > > >               dev->absmax[ABS_WHEEL] = 1023;
> > > > >               dev->absmax[ABS_TILT_X] = 127;
> > > > >               dev->absmax[ABS_TILT_Y] = 127;
> > > > > +             dev->absmin[ABS_RZ] = -900;
> > > > > +             dev->absmax[ABS_RZ] = 899;
> > > > >               dev->absmin[ABS_THROTTLE] = -1023;
> > > > >               dev->absmax[ABS_THROTTLE] = 1023;
> > > > >               break;
> > > > > --
> > > > > 1.9.1
> > > > >
> > > >
> >

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to