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? > - 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 :) Cheers, Peter > 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