Message ID | 1416871934-14133-2-git-send-email-killertofu@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Jiri Kosina |
Headers | show |
On Mon, Nov 24, 2014 at 6:32 PM, Jason Gerecke <killertofu@gmail.com> wrote: > It is not necessarily sufficient to look only at the physical and logical > usages when determining if a field is for the pen or touch. Some fields > are not contained in a sub-collection and thus only have an application > usage. Not checking the application usage in such cases causes us to > ignore the field entirely, which may lead to incorrect behavior. > > Signed-off-by: Jason Gerecke <killertofu@gmail.com> > --- This one is Rev-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Cheers, Benjamin > drivers/hid/wacom_wac.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c > index 9565d31..1468f00 100644 > --- a/drivers/hid/wacom_wac.c > +++ b/drivers/hid/wacom_wac.c > @@ -1484,9 +1484,11 @@ static void wacom_wac_finger_report(struct hid_device *hdev, > } > > #define WACOM_PEN_FIELD(f) (((f)->logical == HID_DG_STYLUS) || \ > - ((f)->physical == HID_DG_STYLUS)) > + ((f)->physical == HID_DG_STYLUS) || \ > + ((f)->application == HID_DG_PEN)) > #define WACOM_FINGER_FIELD(f) (((f)->logical == HID_DG_FINGER) || \ > - ((f)->physical == HID_DG_FINGER)) > + ((f)->physical == HID_DG_FINGER) || \ > + ((f)->application == HID_DG_TOUCHSCREEN)) > > void wacom_wac_usage_mapping(struct hid_device *hdev, > struct hid_field *field, struct hid_usage *usage) > -- > 2.1.3 > -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, 24 Nov 2014, Jason Gerecke wrote: > It is not necessarily sufficient to look only at the physical and logical > usages when determining if a field is for the pen or touch. Some fields > are not contained in a sub-collection and thus only have an application > usage. Not checking the application usage in such cases causes us to > ignore the field entirely, which may lead to incorrect behavior. > > Signed-off-by: Jason Gerecke <killertofu@gmail.com> Applied.
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c index 9565d31..1468f00 100644 --- a/drivers/hid/wacom_wac.c +++ b/drivers/hid/wacom_wac.c @@ -1484,9 +1484,11 @@ static void wacom_wac_finger_report(struct hid_device *hdev, } #define WACOM_PEN_FIELD(f) (((f)->logical == HID_DG_STYLUS) || \ - ((f)->physical == HID_DG_STYLUS)) + ((f)->physical == HID_DG_STYLUS) || \ + ((f)->application == HID_DG_PEN)) #define WACOM_FINGER_FIELD(f) (((f)->logical == HID_DG_FINGER) || \ - ((f)->physical == HID_DG_FINGER)) + ((f)->physical == HID_DG_FINGER) || \ + ((f)->application == HID_DG_TOUCHSCREEN)) void wacom_wac_usage_mapping(struct hid_device *hdev, struct hid_field *field, struct hid_usage *usage)
It is not necessarily sufficient to look only at the physical and logical usages when determining if a field is for the pen or touch. Some fields are not contained in a sub-collection and thus only have an application usage. Not checking the application usage in such cases causes us to ignore the field entirely, which may lead to incorrect behavior. Signed-off-by: Jason Gerecke <killertofu@gmail.com> --- drivers/hid/wacom_wac.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)