On Fri, 13 May 2022, Ping Cheng wrote: > The generic routine, wacom_wac_pen_event, turns rotation value 90 > degree anti-clockwise before posting the events. This non-zero > event trggers a non-zero ABS_Z event for non art pen tools. However, > HID_DG_TWIST is only supported by art pen. > > Signed-off-by: Ping Cheng <ping.cheng@xxxxxxxxx> > Reviewed-by: Jason Gerecke <jason.gerecke@xxxxxxxxx> > -- > Hi Jiri, > > This is kind of a version 2 of the last one I posted two days ago. > I updated the logic so it has less changed lines: 29 vs 158! Hopefully, > the logic is easier to follow now. Please ignore the last one. > > Thank you! > --- > drivers/hid/wacom_wac.c | 29 +++++++++++++++++++++-------- > 1 file changed, 21 insertions(+), 8 deletions(-) > > diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c > index a7176fc0635d..3bee4f46003d 100644 > --- a/drivers/hid/wacom_wac.c > +++ b/drivers/hid/wacom_wac.c > @@ -638,9 +638,26 @@ static int wacom_intuos_id_mangle(int tool_id) > return (tool_id & ~0xFFF) << 4 | (tool_id & 0xFFF); > } > > +static bool wacom_is_art_pen(int tool_id) > +{ > + bool is_art_pen = false; > + > + switch (tool_id) { > + case 0x885: /* Intuos3 Marker Pen */ > + case 0x804: /* Intuos4/5 13HD/24HD Marker Pen */ > + case 0x10804: /* Intuos4/5 13HD/24HD Art Pen */ > + is_art_pen = true; > + break; > + } > + return is_art_pen; > +} > + > static int wacom_intuos_get_tool_type(int tool_id) > { > - int tool_type; > + int tool_type = BTN_TOOL_PEN; > + > + if (wacom_is_art_pen(tool_id) I've added the missing brace here and applied both patches. Thanks, -- Jiri Kosina SUSE Labs